syntax = "proto3"; package go.micro.store; service Store { rpc List(ListRequest) returns (stream ListResponse) {}; rpc Read(ReadRequest) returns (ReadResponse) {}; rpc Write(WriteRequest) returns (WriteResponse) {}; rpc Delete(DeleteRequest) returns (DeleteResponse) {}; } message Record { // key of the record string key = 1; // value in the record bytes value = 2; // timestamp in unix seconds int64 expiry = 3; } message ReadOptions { bool prefix = 1; } message ReadRequest { string key = 1; ReadOptions options = 2; } message ReadResponse { repeated Record records = 1; } message WriteRequest { Record record = 1; } message WriteResponse {} message DeleteRequest { string key = 1; } message DeleteResponse {} message ListRequest {} message ListResponse { repeated Record records = 1; }