erigon-pulse/ethdb/remote/kv.proto

51 lines
803 B
Protocol Buffer

syntax = "proto3";
package remote;
option go_package = "./remote;remote";
option java_multiple_files = true;
option java_package = "io.turbo-geth.db";
option java_outer_classname = "KV";
// Provides methods to access key-value data
service KV {
rpc Tx(stream Cursor) returns (stream Pair);
}
enum Op {
FIRST = 0;
FIRST_DUP = 1;
SEEK = 2;
SEEK_BOTH = 3;
CURRENT = 4;
GET_MULTIPLE = 5;
LAST = 6;
LAST_DUP = 7;
NEXT = 8;
NEXT_DUP = 9;
NEXT_MULTIPLE = 10;
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;
}