micro/store/service/proto/store.proto

91 lines
1.6 KiB
Protocol Buffer
Raw Normal View History

2019-10-11 16:08:50 +03:00
syntax = "proto3";
package go.micro.store;
service Store {
rpc Read(ReadRequest) returns (ReadResponse) {};
rpc Write(WriteRequest) returns (WriteResponse) {};
rpc Delete(DeleteRequest) returns (DeleteResponse) {};
rpc List(ListRequest) returns (stream ListResponse) {};
rpc Databases(DatabasesRequest) returns (DatabasesResponse) {};
rpc Tables(TablesRequest) returns (TablesResponse) {};
2019-10-11 16:08:50 +03:00
}
message Record {
// key of the record
string key = 1;
// value in the record
bytes value = 2;
// time.Duration (signed int64 nanoseconds)
2019-10-11 16:08:50 +03:00
int64 expiry = 3;
}
message ReadOptions {
bool prefix = 1;
bool suffix = 2;
uint64 limit = 3;
uint64 offset = 4;
}
2019-10-11 16:08:50 +03:00
message ReadRequest {
string key = 1;
ReadOptions options = 2;
2019-10-11 16:08:50 +03:00
}
message ReadResponse {
repeated Record records = 1;
}
message WriteOptions {
// time.Time
int64 expiry = 1;
// time.Duration
int64 ttl = 2;
}
2019-10-11 16:08:50 +03:00
message WriteRequest {
Record record = 1;
WriteOptions options = 2;
2019-10-11 16:08:50 +03:00
}
message WriteResponse {}
message DeleteOptions {}
2019-10-11 16:08:50 +03:00
message DeleteRequest {
string key = 1;
DeleteOptions options = 2;
2019-10-11 16:08:50 +03:00
}
message DeleteResponse {}
message ListOptions {
string prefix = 1;
string suffix = 2;
uint64 limit = 3;
uint64 offset = 4;
}
message ListRequest {
ListOptions options = 1;
}
2019-10-11 16:08:50 +03:00
2019-10-24 00:05:39 +03:00
message ListResponse {
reserved 1; //repeated Record records = 1;
repeated string keys = 2;
2019-10-11 16:08:50 +03:00
}
message DatabasesRequest {}
message DatabasesResponse {
repeated string databases = 1;
}
message TablesRequest {
string database = 1;
}
message TablesResponse {
repeated string tables = 1;
}