syntax = "proto3";
package krpc.schema;
option csharp_namespace = 'KRPC.Schema.KRPC';
option java_package = 'krpc.schema';
option java_outer_classname = 'KRPC';
message Request {
string service = 1;
string procedure = 2;
repeated Argument arguments = 3;
}
message Argument {
uint32 position = 1;
bytes value = 2;
}
message Response {
double time = 1;
bool has_error = 2;
string error = 3;
bool has_return_value = 4;
bytes return_value = 5;
}
message StreamMessage {
repeated StreamResponse responses = 1;
}
message StreamResponse {
uint32 id = 1;
Response response = 2;
}
message Services {
repeated Service services = 1;
}
message Service {
string name = 1;
repeated Procedure procedures = 2;
repeated Class classes = 3;
repeated Enumeration enumerations = 4;
string documentation = 5;
}
message Procedure {
string name = 1;
repeated Parameter parameters = 2;
bool has_return_type = 3;
string return_type = 4;
repeated string attributes = 5;
string documentation = 6;
}
message Parameter {
string name = 1;
string type = 2;
bool has_default_value = 3;
bytes default_value = 4;
}
message Class {
string name = 1;
string documentation = 2;
}
message Enumeration {
string name = 1;
repeated EnumerationValue values = 2;
string documentation = 3;
}
message EnumerationValue {
string name = 1;
int32 value = 2;
string documentation = 3;
}
message List {
repeated bytes items = 1;
}
message Dictionary {
repeated DictionaryEntry entries = 1;
}
message DictionaryEntry {
bytes key = 1;
bytes value = 2;
}
message Set {
repeated bytes items = 1;
}
message Tuple {
repeated bytes items = 1;
}
message Status {
string version = 1;
uint64 bytes_read = 2;
uint64 bytes_written = 3;
float bytes_read_rate = 4;
float bytes_written_rate = 5;
uint64 rpcs_executed = 6;
float rpc_rate = 7;
bool one_rpc_per_update = 8;
uint32 max_time_per_update = 9;
bool adaptive_rate_control = 10;
bool blocking_recv = 11;
uint32 recv_timeout = 12;
float time_per_rpc_update = 13;
float poll_time_per_rpc_update = 14;
float exec_time_per_rpc_update = 15;
uint32 stream_rpcs = 16;
uint64 stream_rpcs_executed = 17;
float stream_rpc_rate = 18;
float time_per_stream_update = 19;
}