summaryrefslogtreecommitdiff
path: root/deno2/msg.proto
diff options
context:
space:
mode:
Diffstat (limited to 'deno2/msg.proto')
-rw-r--r--[l---------]deno2/msg.proto103
1 files changed, 102 insertions, 1 deletions
diff --git a/deno2/msg.proto b/deno2/msg.proto
index e0ce41a3a..6c4d1f9e1 120000..100644
--- a/deno2/msg.proto
+++ b/deno2/msg.proto
@@ -1 +1,102 @@
-../msg.proto \ No newline at end of file
+// Copyright 2018 Ryan Dahl <ry@tinyclouds.org>
+// All rights reserved. MIT License.
+syntax = "proto3";
+package deno;
+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_delay = 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
+}