summaryrefslogtreecommitdiff
path: root/msg.proto
diff options
context:
space:
mode:
Diffstat (limited to 'msg.proto')
-rw-r--r--msg.proto64
1 files changed, 38 insertions, 26 deletions
diff --git a/msg.proto b/msg.proto
index 68ff52255..dcaa72af8 100644
--- a/msg.proto
+++ b/msg.proto
@@ -8,39 +8,51 @@ message BaseMsg {
message Msg {
optional string error = 1;
- oneof payload {
- StartMsg start = 10;
- SourceCodeFetchMsg source_code_fetch = 11;
- SourceCodeFetchResMsg source_code_fetch_res = 12;
- SourceCodeCacheMsg source_code_cache = 13;
- ExitMsg exit = 14;
- TimerStartMsg timer_start = 15;
- TimerReadyMsg timer_ready = 16;
- TimerClearMsg timer_clear = 17;
+
+ enum Command {
+ ERROR = 1;
+ START = 2;
+ SOURCE_CODE_FETCH_RES = 3;
+ ONEOF = 100;
}
-}
+ optional Command command = 2 [ default = ONEOF ];
-message StartMsg {
- optional string cwd = 1;
- repeated string argv = 2;
- optional bool debug_flag = 3;
- optional string main_js = 4; // The contents of dist/main.js
- optional string main_map = 5; // The contents of dist/main.map
-}
+ // 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.
-message SourceCodeFetchMsg {
- optional string module_specifier = 1;
- optional string containing_file = 2;
-}
+ // 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
-message SourceCodeFetchResMsg {
+ // 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 moduleName = 1;
- optional string filename = 2;
- optional string source_code = 3;
- optional string output_code = 4; // Non-empty only if cached.
+ 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 {