package operation;

message VolumeInformationMessage {
  required uint32 id = 1;
  required uint64 size = 2;
  optional string collection = 3;
  required uint64 file_count = 4;
  required uint64 delete_count = 5;
  required uint64 deleted_byte_count = 6;
  optional bool read_only = 7;
  required uint32 replica_placement = 8;
  optional uint32 version = 9 [default=2];
  optional uint32 ttl = 10;
}

message JoinMessage {
  optional bool   is_init = 1;
  required string ip = 2;
  required uint32 port = 3;
  optional string public_url = 4;
  required uint32 max_volume_count = 5;
  required uint64 max_file_key = 6;
  optional string data_center = 7;
  optional string rack = 8;
  repeated VolumeInformationMessage volumes = 9;
}