mirror of
https://github.com/denoland/deno.git
synced 2024-11-28 16:20:57 -05:00
102 lines
2.6 KiB
Protocol Buffer
102 lines
2.6 KiB
Protocol Buffer
// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
|
|
// All rights reserved. MIT License.
|
|
syntax = "proto3";
|
|
package main;
|
|
option go_package = "deno";
|
|
|
|
message BaseMsg {
|
|
string channel = 1;
|
|
bytes payload = 2;
|
|
}
|
|
|
|
message Msg {
|
|
enum Command {
|
|
ERROR = 0;
|
|
START = 1;
|
|
CODE_FETCH = 2;
|
|
CODE_FETCH_RES = 3;
|
|
CODE_CACHE = 4;
|
|
EXIT = 5;
|
|
TIMER_START = 6;
|
|
TIMER_READY = 7;
|
|
TIMER_CLEAR = 8;
|
|
FETCH_REQ = 9;
|
|
FETCH_RES = 10;
|
|
READ_FILE_SYNC = 11;
|
|
READ_FILE_SYNC_RES = 12;
|
|
WRITE_FILE_SYNC = 13;
|
|
}
|
|
Command command = 1;
|
|
|
|
// We avoid creating a message for each command (and use oneof or any types)
|
|
// In order to reduce code in the size of the generated javascript
|
|
// "msg.pb.js". It seems that each new message adds 20k and we want to
|
|
// potentially add many hundreds of commands. Therefore we just prefix command
|
|
// arguments by their name.
|
|
|
|
// ERROR
|
|
string error = 2;
|
|
|
|
// START
|
|
string start_cwd = 10;
|
|
repeated string start_argv = 11;
|
|
bool start_debug_flag = 12;
|
|
string start_main_js = 13; // The contents of dist/main.js
|
|
string start_main_map = 14; // The contents of dist/main.map
|
|
|
|
// CODE_FETCH
|
|
string code_fetch_module_specifier = 20;
|
|
string code_fetch_containing_file = 21;
|
|
|
|
// CODE_FETCH_RES
|
|
// If it's a non-http module, moduleName and filename will be the same.
|
|
// For http modules, moduleName is its resolved http URL, and filename
|
|
// is the location of the locally downloaded source code.
|
|
string code_fetch_res_module_name = 30;
|
|
string code_fetch_res_filename = 31;
|
|
string code_fetch_res_source_code = 32;
|
|
string code_fetch_res_output_code = 33; // Non-empty only if cached.
|
|
|
|
// CODE_CACHE
|
|
string code_cache_filename = 41;
|
|
string code_cache_source_code = 42;
|
|
string code_cache_output_code = 43;
|
|
|
|
// EXIT
|
|
int32 exit_code = 50;
|
|
|
|
// TIMER_START
|
|
int32 timer_start_id = 60;
|
|
bool timer_start_interval = 61;
|
|
int32 timer_start_duration = 62; // In milliseconds.
|
|
|
|
// TIMER_READY
|
|
int32 timer_ready_id = 70;
|
|
bool timer_ready_done = 71;
|
|
|
|
// TIMER_CLEAR
|
|
int32 timer_clear_id = 80;
|
|
|
|
// FETCH_REQ
|
|
int32 fetch_req_id = 90;
|
|
string fetch_req_url = 91;
|
|
// repeated string fetch_req_header_line = 91
|
|
|
|
// FETCH_RES
|
|
int32 fetch_res_id = 100;
|
|
int32 fetch_res_status = 101;
|
|
repeated string fetch_res_header_line = 102;
|
|
bytes fetch_res_body = 103;
|
|
|
|
// READ_FILE_SYNC
|
|
string read_file_sync_filename = 110;
|
|
|
|
// READ_FILE_SYNC_RES
|
|
bytes read_file_sync_data = 120;
|
|
|
|
// WRITE_FILE_SYNC
|
|
string write_file_sync_filename = 130;
|
|
bytes write_file_sync_data = 131;
|
|
uint32 write_file_sync_perm = 132;
|
|
// write_file_sync_perm specified by https://godoc.org/os#FileMode
|
|
}
|