You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.2 KiB

  1. syntax = "proto3";
  2. package master_pb;
  3. //////////////////////////////////////////////////
  4. service Seaweed {
  5. rpc SendHeartbeat (stream Heartbeat) returns (stream HeartbeatResponse) {
  6. }
  7. rpc KeepConnected (stream Empty) returns (stream Empty) {
  8. }
  9. }
  10. //////////////////////////////////////////////////
  11. message Heartbeat {
  12. string ip = 1;
  13. uint32 port = 2;
  14. string public_url = 3;
  15. uint32 max_volume_count = 4;
  16. uint64 max_file_key = 5;
  17. string data_center = 6;
  18. string rack = 7;
  19. uint32 admin_port = 8;
  20. repeated VolumeInformationMessage volumes = 9;
  21. }
  22. message HeartbeatResponse {
  23. uint64 volumeSizeLimit = 1;
  24. string secretKey = 2;
  25. string leader = 3;
  26. }
  27. message VolumeInformationMessage {
  28. uint32 id = 1;
  29. uint64 size = 2;
  30. string collection = 3;
  31. uint64 file_count = 4;
  32. uint64 delete_count = 5;
  33. uint64 deleted_byte_count = 6;
  34. bool read_only = 7;
  35. uint32 replica_placement = 8;
  36. uint32 version = 9;
  37. uint32 ttl = 10;
  38. }
  39. message Empty {
  40. }
  41. message SuperBlockExtra {
  42. message ErasureCoding {
  43. uint32 data = 1;
  44. uint32 parity = 2;
  45. repeated uint32 volume_ids = 3;
  46. }
  47. ErasureCoding erasure_coding = 1;
  48. }