70 lines
1.8 KiB
Protocol Buffer
70 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package caretta_sync.remote_node;
|
|
|
|
import "caretta_sync.common.proto";
|
|
import "tripod_id.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
import "google/protobuf/duration.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
service RemoteNode {
|
|
rpc Info(RemoteNodeInfoRequest) returns (RemoteNodeInfoResponse);
|
|
rpc InfoStream(stream RemoteNodeInfoStreamRequest) returns (stream RemoteNodeInfoStreamResponse);
|
|
}
|
|
|
|
message RemoteNodeIdentifier {
|
|
oneof remote_node_identifier {
|
|
tripod_id.Double id = 1;
|
|
caretta_sync.common.PublicKey public_key = 2;
|
|
}
|
|
}
|
|
|
|
message RemoteNodeInfoRequest {
|
|
RemoteNodeIdentifier remote_node = 1;
|
|
}
|
|
|
|
message RemoteNodeInfoStreamRequest {}
|
|
|
|
message RemoteNodeInfoResponse {
|
|
RemoteNodeInfo remote_node_info = 1;
|
|
}
|
|
|
|
message RemoteNodeInfoStreamResponse {
|
|
RemoteNodeInfo remote_node_info = 1;
|
|
}
|
|
|
|
message RemoteNodeInfo {
|
|
tripod_id.Double id = 1;
|
|
bool authorized = 2;
|
|
caretta_sync.common.PublicKey public_key = 3;
|
|
string relay_url = 4;
|
|
repeated RemoteNodeDirectAddrInfo addrs = 5;
|
|
string conn_type = 6;
|
|
google.protobuf.Duration latency = 7;
|
|
google.protobuf.Duration last_used = 8;
|
|
}
|
|
|
|
message RemoteNodeRelayUrlInfo {
|
|
caretta_sync.common.Url relay_url = 1;
|
|
google.protobuf.Duration last_alive = 2;
|
|
google.protobuf.Duration latency = 3;
|
|
}
|
|
|
|
message RemoteNodeDirectAddrInfo {
|
|
string addr = 1;
|
|
google.protobuf.Duration latency = 2;
|
|
RemoteNodeLastControl last_control = 3;
|
|
google.protobuf.Duration last_payload = 4;
|
|
google.protobuf.Duration last_alive = 5;
|
|
repeated RemoteNodeSource sources = 6;
|
|
}
|
|
|
|
message RemoteNodeLastControl {
|
|
google.protobuf.Duration duration = 1;
|
|
string control_msg = 2;
|
|
}
|
|
|
|
message RemoteNodeSource {
|
|
string source = 1;
|
|
google.protobuf.Duration duration = 2;
|
|
}
|