-
Notifications
You must be signed in to change notification settings - Fork 5
/
rpcproto.proto
43 lines (40 loc) · 1.21 KB
/
rpcproto.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
syntax = "proto3";
package srpc;
// Packet is a message sent over a srpc packet connection.
message Packet {
// Body is the packet body.
oneof body {
// CallStart initiates a new call.
CallStart call_start = 1;
// CallData is a message in a streaming RPC sequence.
CallData call_data = 2;
// CallCancel cancels the call.
bool call_cancel = 3;
}
}
// CallStart requests starting a new RPC call.
message CallStart {
// RpcService is the service to contact.
// Must be set.
string rpc_service = 1;
// RpcMethod is the RPC method to call.
// Must be set.
string rpc_method = 2;
// Data contains the request or the first message in the stream.
// Optional if streaming.
bytes data = 3;
// DataIsZero indicates Data is set with an empty message.
bool data_is_zero = 4;
}
// CallData contains a message in a streaming RPC sequence.
message CallData {
// Data contains the packet in the sequence.
bytes data = 1;
// DataIsZero indicates Data is set with an empty message.
bool data_is_zero = 2;
// Complete indicates the RPC call is completed.
bool complete = 3;
// Error contains any error that caused the RPC to fail.
// If set, implies complete=true.
string error = 4;
}