photoncloud-monorepo/specifications/flaredb/001-distributed-core/contracts/pdpb.proto

56 lines
997 B
Protocol Buffer

syntax = "proto3";
package pdpb;
// TSO Service
service Tso {
rpc GetTimestamp(TsoRequest) returns (TsoResponse);
}
message TsoRequest {
uint32 count = 1;
}
message TsoResponse {
uint64 timestamp = 1; // Physical << 16 | Logical
uint32 count = 2;
}
// Cluster Management Service
service Pd {
// Store Registration
rpc RegisterStore(RegisterStoreRequest) returns (RegisterStoreResponse);
// Region Discovery
rpc GetRegion(GetRegionRequest) returns (GetRegionResponse);
}
message RegisterStoreRequest {
string addr = 1; // e.g., "127.0.0.1:50051"
}
message RegisterStoreResponse {
uint64 store_id = 1;
uint64 cluster_id = 2; // Verify cluster match
}
message GetRegionRequest {
bytes key = 1;
}
message GetRegionResponse {
Region region = 1;
Store leader = 2;
}
message Region {
uint64 id = 1;
bytes start_key = 2;
bytes end_key = 3; // empty = infinity
// In future: repeated Peer peers = 4;
}
message Store {
uint64 id = 1;
string addr = 2;
}