syntax = "proto3"; package kvp; message GetRequest{ string key = 1; } message GetResponse{ oneof value { bytes v = 1; } bool exists = 2; } message SetRequest{ string key = 1; bytes value = 2; int32 expires_s = 3; } message DelRequest{ string key = 1; } message DelResponse{ string key =1 ; } message SetResponse{ bytes value = 1; } message AddRequest{ string key = 1; int32 value = 2; } message AddResponse{ int32 value = 1; } message ListPushRequest{ string key = 1; bytes value = 2; } message ListDelItemRequest{ string key = 1; bytes value = 2; } message ListClearRequest{ string key = 1; } message ListRangeRequest{ string key = 1; int32 start = 2; int32 stop = 3; } message ListRangeResponse{ repeated bytes values = 1; } message ListResponse{ int32 newCount = 1; } message SetAddRequest{ string key = 1; bytes value = 2; } message SetRemoveRequest{ string key = 1; bytes value = 2; } message SetQueryRequest{ string key = 1; } message SetQueryResponse{ repeated bytes values = 1; } message SetIntersectionRequest{ repeated string keys = 1; } message SetUnionRequest{ repeated string keys = 1; } message SetOperationResponse{ int32 newCount = 1; } message KeyExistsQuery{ string key = 1; } message TupleKeyValue{ int32 k = 1; bytes v = 2; } message KeyVecInsertQuery{ string key = 1; TupleKeyValue value = 2; bool overwrite = 3; } message KeyVecInsertResponse{ bool success = 1; } message KeyVecTailOffQuery{ string key = 1; uint32 remain = 2; } message KeyVecTailOffResponse{ uint32 len = 1; } message KeyVecGetQuery{ string key = 1; } message KeyVecGetResponse{ repeated TupleKeyValue values = 1; } message KeyVecRemoveItemQuery{ string key = 1; int32 valueIdx = 2; } message KeyVecRemoveItemResponse{ bool success = 1; } message PersistentStorage{ map kvp = 1; } message PersistentStoreRequest{ repeated string prefixList = 1; string fileName = 2; } message RestoreFromFileRequest{ string fileName = 1; } message RestoreFromFileResponse{ repeated string keys = 1; } message TaskMemorySizeRequest{ string uuid = 1; } message TaskMemorySizeResponse{ uint64 size = 1; }