mirror of
https://github.com/denoland/deno.git
synced 2024-10-29 08:58:01 -04:00
d765300de5
This is due to the size added to msg.pb.js for every new message. See comment in msg.proto.
77 lines
2.2 KiB
Protocol Buffer
77 lines
2.2 KiB
Protocol Buffer
syntax = "proto2";
|
|
package main;
|
|
|
|
message BaseMsg {
|
|
optional string channel = 1;
|
|
optional bytes payload = 2;
|
|
}
|
|
|
|
message Msg {
|
|
optional string error = 1;
|
|
|
|
enum Command {
|
|
ERROR = 1;
|
|
START = 2;
|
|
SOURCE_CODE_FETCH_RES = 3;
|
|
ONEOF = 100;
|
|
}
|
|
optional Command command = 2 [ default = ONEOF ];
|
|
|
|
// 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.
|
|
|
|
// Start
|
|
optional string start_cwd = 10;
|
|
repeated string start_argv = 11;
|
|
optional bool start_debug_flag = 12;
|
|
optional string start_main_js = 13; // The contents of dist/main.js
|
|
optional string start_main_map = 14; // The contents of dist/main.map
|
|
|
|
// SOURCE_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.
|
|
optional string source_code_fetch_res_module_name = 30;
|
|
optional string source_code_fetch_res_filename = 31;
|
|
optional string source_code_fetch_res_source_code = 32;
|
|
optional string source_code_fetch_res_output_code =
|
|
33; // Non-empty only if cached.
|
|
|
|
oneof payload {
|
|
SourceCodeFetchMsg source_code_fetch = 100;
|
|
SourceCodeCacheMsg source_code_cache = 102;
|
|
ExitMsg exit = 103;
|
|
TimerStartMsg timer_start = 104;
|
|
TimerReadyMsg timer_ready = 105;
|
|
TimerClearMsg timer_clear = 106;
|
|
}
|
|
}
|
|
|
|
message SourceCodeFetchMsg {
|
|
optional string module_specifier = 1;
|
|
optional string containing_file = 2;
|
|
}
|
|
|
|
message SourceCodeCacheMsg {
|
|
optional string filename = 1;
|
|
optional string source_code = 2;
|
|
optional string output_code = 3;
|
|
}
|
|
|
|
message ExitMsg { optional int32 code = 1; }
|
|
|
|
message TimerStartMsg {
|
|
optional int32 id = 1;
|
|
optional bool interval = 2;
|
|
optional int32 duration = 3; // In milliseconds.
|
|
}
|
|
|
|
message TimerReadyMsg {
|
|
optional int32 id = 1;
|
|
optional bool done = 2;
|
|
}
|
|
|
|
message TimerClearMsg { optional int32 id = 1; }
|