51 lines
1.2 KiB
Protocol Buffer
51 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
package caretta_sync;
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/duration.proto";
|
|
|
|
service CarettaSync {
|
|
rpc RemoteInfo(RemoteInfoRequest) returns (RemoteInfoResponse);
|
|
rpc RemoteInfoIter(RemoteInfoIterRequest) returns (stream RemoteInfoResponse);
|
|
}
|
|
|
|
message NodeIdMessage {
|
|
bytes node_id = 1;
|
|
}
|
|
|
|
message RemoteInfoRequest {
|
|
NodeIdMessage node_id = 1;
|
|
}
|
|
|
|
message RemoteInfoIterRequest {}
|
|
|
|
message RemoteInfoResponse {
|
|
RemoteInfoMessage remote_info = 1;
|
|
}
|
|
|
|
message RemoteInfoMessage {
|
|
NodeIdMessage node_id = 1;
|
|
string relay_url = 2;
|
|
repeated DirectAddrInfoMessage addrs = 3;
|
|
string conn_type = 4;
|
|
google.protobuf.Duration latency = 5;
|
|
google.protobuf.Duration last_used = 6;
|
|
}
|
|
|
|
message DirectAddrInfoMessage {
|
|
string addr = 1;
|
|
google.protobuf.Duration latency = 2;
|
|
LastControlMessage last_control = 3;
|
|
google.protobuf.Duration last_payload = 4;
|
|
google.protobuf.Duration last_alive = 5;
|
|
repeated SourceMessage sources = 6;
|
|
}
|
|
|
|
message LastControlMessage {
|
|
google.protobuf.Duration duration = 1;
|
|
string control_msg = 2;
|
|
}
|
|
|
|
message SourceMessage {
|
|
string source = 1;
|
|
google.protobuf.Duration duration = 2;
|
|
}
|