syntax = "proto3"; package logcache.v1; option go_package = "code.cloudfoundry.org/go-log-cache/v3/rpc/logcache_v1"; service Orchestration { rpc AddRange(AddRangeRequest) returns (AddRangeResponse) {} rpc RemoveRange(RemoveRangeRequest) returns (RemoveRangeResponse) {} rpc ListRanges(ListRangesRequest) returns (ListRangesResponse) {} rpc SetRanges(SetRangesRequest) returns (SetRangesResponse) {} } message Range { // start is the first hash within the given range. [start..end] uint64 start = 1; // end is the last hash within the given range. [start..end] uint64 end = 2; } message Ranges { repeated Range ranges = 1; } message AddRangeRequest { Range range = 1; } message AddRangeResponse { } message RemoveRangeRequest { Range range = 1; } message RemoveRangeResponse { } message ListRangesRequest { } message ListRangesResponse { repeated Range ranges = 1; } message SetRangesRequest { // The key is the address of the Log Cache node. map ranges = 1; } message SetRangesResponse { }