diff options
Diffstat (limited to 'weed/pb/master.proto')
| -rw-r--r-- | weed/pb/master.proto | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/weed/pb/master.proto b/weed/pb/master.proto new file mode 100644 index 000000000..bc376f75b --- /dev/null +++ b/weed/pb/master.proto @@ -0,0 +1,71 @@ +syntax = "proto3"; + +package master_pb; + +////////////////////////////////////////////////// + +service Seaweed { + rpc SendHeartbeat (stream Heartbeat) returns (stream HeartbeatResponse) { + } + rpc KeepConnected (stream ClientListenRequest) returns (stream VolumeLocation) { + } +} + +////////////////////////////////////////////////// + +message Heartbeat { + string ip = 1; + uint32 port = 2; + string public_url = 3; + uint32 max_volume_count = 4; + uint64 max_file_key = 5; + string data_center = 6; + string rack = 7; + uint32 admin_port = 8; + repeated VolumeInformationMessage volumes = 9; + // delta volume ids + repeated uint32 new_vids = 10; + repeated uint32 deleted_vids = 11; +} + +message HeartbeatResponse { + uint64 volumeSizeLimit = 1; + string secretKey = 2; + string leader = 3; +} + +message VolumeInformationMessage { + uint32 id = 1; + uint64 size = 2; + string collection = 3; + uint64 file_count = 4; + uint64 delete_count = 5; + uint64 deleted_byte_count = 6; + bool read_only = 7; + uint32 replica_placement = 8; + uint32 version = 9; + uint32 ttl = 10; +} + +message Empty { +} + +message SuperBlockExtra { + message ErasureCoding { + uint32 data = 1; + uint32 parity = 2; + repeated uint32 volume_ids = 3; + } + ErasureCoding erasure_coding = 1; +} + +message ClientListenRequest { + string name = 1; +} + +message VolumeLocation { + string url = 1; + string public_url = 2; + repeated uint32 new_vids = 3; + repeated uint32 deleted_vids = 4; +} |
