raft.proto 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package raftpb;
  2. import "code.google.com/p/gogoprotobuf/gogoproto/gogo.proto";
  3. option (gogoproto.marshaler_all) = true;
  4. option (gogoproto.sizer_all) = true;
  5. option (gogoproto.unmarshaler_all) = true;
  6. option (gogoproto.goproto_getters_all) = false;
  7. option (gogoproto.goproto_enum_prefix_all) = false;
  8. message Info {
  9. required int64 id = 1 [(gogoproto.nullable) = false];
  10. }
  11. enum EntryType {
  12. EntryNormal = 0;
  13. EntryConfChange = 1;
  14. }
  15. message Entry {
  16. required EntryType Type = 1 [(gogoproto.nullable) = false];
  17. required int64 Term = 2 [(gogoproto.nullable) = false];
  18. required int64 Index = 3 [(gogoproto.nullable) = false];
  19. optional bytes Data = 4 [(gogoproto.nullable) = false];
  20. }
  21. message Snapshot {
  22. required bytes data = 1 [(gogoproto.nullable) = false];
  23. repeated int64 nodes = 2 [(gogoproto.nullable) = false];
  24. required int64 index = 3 [(gogoproto.nullable) = false];
  25. required int64 term = 4 [(gogoproto.nullable) = false];
  26. }
  27. message Message {
  28. required int64 type = 1 [(gogoproto.nullable) = false];
  29. required int64 to = 2 [(gogoproto.nullable) = false];
  30. required int64 from = 3 [(gogoproto.nullable) = false];
  31. required int64 term = 4 [(gogoproto.nullable) = false];
  32. required int64 logTerm = 5 [(gogoproto.nullable) = false];
  33. required int64 index = 6 [(gogoproto.nullable) = false];
  34. repeated Entry entries = 7 [(gogoproto.nullable) = false];
  35. required int64 commit = 8 [(gogoproto.nullable) = false];
  36. required Snapshot snapshot = 9 [(gogoproto.nullable) = false];
  37. }
  38. message HardState {
  39. required int64 term = 1 [(gogoproto.nullable) = false];
  40. required int64 vote = 2 [(gogoproto.nullable) = false];
  41. required int64 commit = 3 [(gogoproto.nullable) = false];
  42. }
  43. enum ConfChangeType {
  44. ConfChangeAddNode = 0;
  45. ConfChangeRemoveNode = 1;
  46. }
  47. message ConfChange {
  48. required int64 ID = 1 [(gogoproto.nullable) = false];
  49. required ConfChangeType Type = 2 [(gogoproto.nullable) = false];
  50. required int64 NodeID = 3 [(gogoproto.nullable) = false];
  51. optional bytes Context = 4 [(gogoproto.nullable) = false];
  52. }