syntax = "proto3"; package main; message Msg { 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; } } // START message StartMsg { string cwd = 1; repeated string argv = 2; } message SourceCodeFetchMsg { string filename = 1; } message SourceCodeFetchResMsg { string source_code = 1; string output_code = 2; } message SourceCodeCacheMsg { string filename = 1; string source_code = 2; string output_code = 3; } message ExitMsg { int32 code = 1; }