53 lines
1.1 KiB
Protocol Buffer
53 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
package anySpace;
|
|
option go_package = "common/commonspace/spacesyncproto";
|
|
|
|
enum ErrCodes {
|
|
Unexpected = 0;
|
|
}
|
|
|
|
|
|
service Space {
|
|
// HeadSync compares all objects and their hashes in a space
|
|
rpc HeadSync(HeadSyncRequest) returns (HeadSyncResponse);
|
|
rpc Stream( stream Msg) returns (stream Msg);
|
|
}
|
|
|
|
// TODO: temporary mock message
|
|
message Msg {
|
|
string spaceId = 1;
|
|
}
|
|
|
|
|
|
|
|
// HeadSyncRange presenting a request for one range
|
|
message HeadSyncRange {
|
|
uint64 from = 1;
|
|
uint64 to = 2;
|
|
uint32 limit = 3;
|
|
}
|
|
|
|
// HeadSyncResult presenting a response for one range
|
|
message HeadSyncResult {
|
|
bytes hash = 1;
|
|
repeated HeadSyncResultElement elements = 2;
|
|
uint32 count = 3;
|
|
}
|
|
|
|
// HeadSyncResultElement presenting state of one object
|
|
message HeadSyncResultElement {
|
|
string id = 1;
|
|
string head = 2;
|
|
}
|
|
|
|
// HeadSyncRequest is a request for HeadSync
|
|
message HeadSyncRequest {
|
|
string spaceId = 1;
|
|
repeated HeadSyncRange ranges = 2;
|
|
}
|
|
|
|
// HeadSyncResponse is a response for HeadSync
|
|
message HeadSyncResponse {
|
|
repeated HeadSyncResult results = 1;
|
|
}
|