rockraft 0.1.6

A strong consistency KV service library base on Raft and Rocksdb
Documentation
syntax = "proto3";

package raftpb;

import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";

message RaftRequest {
  bytes data = 1;
}

message RaftReply {
  bytes data = 1;
  bytes error = 2;
}

message VoteRequest {
  bytes value = 1;
}

message VoteReply {
  bytes value = 1;
}

message AppendRequest {
  bytes value = 1;
}

message AppendReply {
  bytes value = 1;
}

message SnapshotRequest {
  bytes value = 1;
}

message SnapshotReply {
  bytes value = 1;
}

message JoinRequest {
  uint64 node_id = 1;
  string endpoint = 2;
}

message JoinReply {
  bytes value = 1;
}

service RaftService {
  // Forward a request to another node.
  rpc Forward(RaftRequest) returns (RaftReply);

  // Raft Internal
  rpc Append(AppendRequest) returns (AppendReply) {}

  rpc Vote(VoteRequest) returns (VoteReply) {}

  rpc Snapshot(SnapshotRequest) returns (SnapshotReply) {}
}