1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-01 09:24:20 -04:00
denoland-deno/msg.proto
2018-05-23 17:07:20 -04:00

65 lines
1.6 KiB
Protocol Buffer

syntax = "proto2";
package main;
message BaseMsg {
optional string channel = 1;
optional bytes payload = 2;
}
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;
}
}
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
}
message SourceCodeFetchMsg {
optional string module_specifier = 1;
optional string containing_file = 2;
}
message SourceCodeFetchResMsg {
// 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.
}
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; }