syntax = "proto3"; import "google/protobuf/empty.proto"; import "types/types.proto"; package remote; option go_package = "./remote;remote"; // Provides methods to access key-value data service KV { // Version returns the service version number rpc Version(google.protobuf.Empty) returns (types.VersionReply); // Tx exposes read-only transactions for the key-value store rpc Tx(stream Cursor) returns (stream Pair); } enum Op { FIRST = 0; FIRST_DUP = 1; SEEK = 2; SEEK_BOTH = 3; CURRENT = 4; LAST = 6; LAST_DUP = 7; NEXT = 8; NEXT_DUP = 9; NEXT_NO_DUP = 11; PREV = 12; PREV_DUP = 13; PREV_NO_DUP = 14; SEEK_EXACT = 15; SEEK_BOTH_EXACT = 16; OPEN = 30; CLOSE = 31; } message Cursor { Op op = 1; string bucketName = 2; uint32 cursor = 3; bytes k = 4; bytes v = 5; } message Pair { bytes k = 1; bytes v = 2; uint32 cursorID = 3; }