mirror of https://github.com/tikv/client-rust.git
87 lines
1.9 KiB
Protocol Buffer
87 lines
1.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
package enginepb;
|
|
|
|
import "metapb.proto";
|
|
import "raft_cmdpb.proto";
|
|
import "raft_serverpb.proto";
|
|
|
|
message CommandRequestHeader {
|
|
uint64 region_id = 1;
|
|
uint64 index = 2;
|
|
uint64 term = 3;
|
|
|
|
// Flush in-memory data to disk.
|
|
bool sync_log = 4;
|
|
// Destroy the region.
|
|
bool destroy = 5;
|
|
|
|
// Additional information for the request.
|
|
bytes context = 6;
|
|
}
|
|
|
|
message CommandRequest {
|
|
CommandRequestHeader header = 1;
|
|
|
|
// We don't enclose normal requests and administrator request
|
|
// at same time.
|
|
|
|
// kv put / delete
|
|
repeated raft_cmdpb.Request requests = 2;
|
|
|
|
// region metadata manipulation command.
|
|
raft_cmdpb.AdminRequest admin_request = 3;
|
|
// region metadata manipulation result.
|
|
raft_cmdpb.AdminResponse admin_response = 4;
|
|
}
|
|
|
|
message CommandRequestBatch {
|
|
repeated CommandRequest requests = 1;
|
|
}
|
|
|
|
message CommandResponseHeader {
|
|
uint64 region_id = 1;
|
|
// Region is destroyed.
|
|
bool destroyed = 2;
|
|
}
|
|
|
|
message CommandResponse {
|
|
CommandResponseHeader header = 1;
|
|
|
|
raft_serverpb.RaftApplyState apply_state = 2;
|
|
uint64 applied_term = 3;
|
|
}
|
|
|
|
message CommandResponseBatch {
|
|
repeated CommandResponse responses = 1;
|
|
}
|
|
|
|
message SnapshotState {
|
|
metapb.Region region = 1;
|
|
metapb.Peer peer = 2;
|
|
raft_serverpb.RaftApplyState apply_state = 3;
|
|
}
|
|
|
|
message SnapshotData {
|
|
string cf = 1;
|
|
uint32 checksum = 2;
|
|
repeated raft_serverpb.KeyValue data = 3;
|
|
}
|
|
|
|
message SnapshotRequest {
|
|
oneof chunk {
|
|
// The first message for snapshots.
|
|
// It contains the latest region information after applied snapshot.
|
|
SnapshotState state = 1;
|
|
|
|
// Following messages are always data.
|
|
SnapshotData data = 2;
|
|
}
|
|
}
|
|
|
|
message SnapshotDone {}
|
|
|
|
service Engine {
|
|
rpc ApplyCommandBatch(stream CommandRequestBatch) returns (stream CommandResponseBatch) {}
|
|
rpc ApplySnapshot(stream SnapshotRequest) returns (SnapshotDone) {}
|
|
}
|