kip_db 0.1.2-alpha.26.fix1

轻量级、异步 基于LSM Leveled Compaction K-V数据库
Documentation
syntax = "proto3";

package kipdb;

service KipdbRpc {
  rpc set (SetReq) returns (SetResp) {}
  rpc remove (RemoveReq) returns (RemoveResp) {}
  rpc get (GetReq) returns (GetResp) {}

  rpc batch_set (BatchSetReq) returns (BatchSetResp) {}
  rpc batch_remove (BatchRemoveReq) returns (BatchRemoveResp) {}
  rpc batch_get (BatchGetReq) returns (BatchGetResp) {}

  rpc size_of_disk (Empty) returns (SizeOfDiskResp) {}
  rpc len (Empty) returns (LenResp) {}
  rpc flush (Empty) returns (FlushResp) {}
}

message Empty {}
message KV {
  bytes key = 1;
  bytes value = 2;
}

message SetReq {
  bytes key = 1;
  bytes value = 2;
}
message SetResp {
  bool success = 1;
}

message BatchSetReq {
  repeated KV kvs = 1;
}
message BatchSetResp {
  repeated KV failure = 1;
}

message RemoveReq {
  bytes key = 1;
}
message RemoveResp {
  bool success = 1;
}

message BatchRemoveReq {
  repeated bytes keys = 1;
}
message BatchRemoveResp {
  repeated bytes failure = 1;
}

message GetReq {
  bytes key = 1;
}
message GetResp {
  optional bytes value = 1;
}

message BatchGetReq {
  repeated bytes keys = 1;
}
message BatchGetResp {
  repeated bytes values = 1;
}

message SizeOfDiskResp {
  uint64 size = 1;
}

message LenResp {
  uint64 len = 1;
}
message FlushResp {
  bool success = 1;
}