raft.pb.go 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176
  1. // Code generated by protoc-gen-gogo.
  2. // source: raft.proto
  3. // DO NOT EDIT!
  4. /*
  5. Package raftpb is a generated protocol buffer package.
  6. It is generated from these files:
  7. raft.proto
  8. It has these top-level messages:
  9. Entry
  10. Snapshot
  11. Message
  12. HardState
  13. ConfChange
  14. */
  15. package raftpb
  16. import proto "github.com/coreos/etcd/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/proto"
  17. import json "encoding/json"
  18. import math "math"
  19. // discarding unused import gogoproto "code.google.com/p/gogoprotobuf/gogoproto/gogo.pb"
  20. import io "io"
  21. import code_google_com_p_gogoprotobuf_proto "github.com/coreos/etcd/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/proto"
  22. // Reference proto, json, and math imports to suppress error if they are not otherwise used.
  23. var _ = proto.Marshal
  24. var _ = &json.SyntaxError{}
  25. var _ = math.Inf
  26. type EntryType int32
  27. const (
  28. EntryNormal EntryType = 0
  29. EntryConfChange EntryType = 1
  30. )
  31. var EntryType_name = map[int32]string{
  32. 0: "EntryNormal",
  33. 1: "EntryConfChange",
  34. }
  35. var EntryType_value = map[string]int32{
  36. "EntryNormal": 0,
  37. "EntryConfChange": 1,
  38. }
  39. func (x EntryType) Enum() *EntryType {
  40. p := new(EntryType)
  41. *p = x
  42. return p
  43. }
  44. func (x EntryType) String() string {
  45. return proto.EnumName(EntryType_name, int32(x))
  46. }
  47. func (x *EntryType) UnmarshalJSON(data []byte) error {
  48. value, err := proto.UnmarshalJSONEnum(EntryType_value, data, "EntryType")
  49. if err != nil {
  50. return err
  51. }
  52. *x = EntryType(value)
  53. return nil
  54. }
  55. type MessageType int32
  56. const (
  57. MsgHup MessageType = 0
  58. MsgBeat MessageType = 1
  59. MsgProp MessageType = 2
  60. MsgApp MessageType = 3
  61. MsgAppResp MessageType = 4
  62. MsgVote MessageType = 5
  63. MsgVoteResp MessageType = 6
  64. MsgSnap MessageType = 7
  65. MsgDenied MessageType = 8
  66. )
  67. var MessageType_name = map[int32]string{
  68. 0: "MsgHup",
  69. 1: "MsgBeat",
  70. 2: "MsgProp",
  71. 3: "MsgApp",
  72. 4: "MsgAppResp",
  73. 5: "MsgVote",
  74. 6: "MsgVoteResp",
  75. 7: "MsgSnap",
  76. 8: "MsgDenied",
  77. }
  78. var MessageType_value = map[string]int32{
  79. "MsgHup": 0,
  80. "MsgBeat": 1,
  81. "MsgProp": 2,
  82. "MsgApp": 3,
  83. "MsgAppResp": 4,
  84. "MsgVote": 5,
  85. "MsgVoteResp": 6,
  86. "MsgSnap": 7,
  87. "MsgDenied": 8,
  88. }
  89. func (x MessageType) Enum() *MessageType {
  90. p := new(MessageType)
  91. *p = x
  92. return p
  93. }
  94. func (x MessageType) String() string {
  95. return proto.EnumName(MessageType_name, int32(x))
  96. }
  97. func (x *MessageType) UnmarshalJSON(data []byte) error {
  98. value, err := proto.UnmarshalJSONEnum(MessageType_value, data, "MessageType")
  99. if err != nil {
  100. return err
  101. }
  102. *x = MessageType(value)
  103. return nil
  104. }
  105. type ConfChangeType int32
  106. const (
  107. ConfChangeAddNode ConfChangeType = 0
  108. ConfChangeRemoveNode ConfChangeType = 1
  109. )
  110. var ConfChangeType_name = map[int32]string{
  111. 0: "ConfChangeAddNode",
  112. 1: "ConfChangeRemoveNode",
  113. }
  114. var ConfChangeType_value = map[string]int32{
  115. "ConfChangeAddNode": 0,
  116. "ConfChangeRemoveNode": 1,
  117. }
  118. func (x ConfChangeType) Enum() *ConfChangeType {
  119. p := new(ConfChangeType)
  120. *p = x
  121. return p
  122. }
  123. func (x ConfChangeType) String() string {
  124. return proto.EnumName(ConfChangeType_name, int32(x))
  125. }
  126. func (x *ConfChangeType) UnmarshalJSON(data []byte) error {
  127. value, err := proto.UnmarshalJSONEnum(ConfChangeType_value, data, "ConfChangeType")
  128. if err != nil {
  129. return err
  130. }
  131. *x = ConfChangeType(value)
  132. return nil
  133. }
  134. type Entry struct {
  135. Type EntryType `protobuf:"varint,1,req,enum=raftpb.EntryType" json:"Type"`
  136. Term uint64 `protobuf:"varint,2,req" json:"Term"`
  137. Index uint64 `protobuf:"varint,3,req" json:"Index"`
  138. Data []byte `protobuf:"bytes,4,opt" json:"Data"`
  139. XXX_unrecognized []byte `json:"-"`
  140. }
  141. func (m *Entry) Reset() { *m = Entry{} }
  142. func (m *Entry) String() string { return proto.CompactTextString(m) }
  143. func (*Entry) ProtoMessage() {}
  144. type Snapshot struct {
  145. Data []byte `protobuf:"bytes,1,req,name=data" json:"data"`
  146. Nodes []uint64 `protobuf:"varint,2,rep,name=nodes" json:"nodes"`
  147. Index uint64 `protobuf:"varint,3,req,name=index" json:"index"`
  148. Term uint64 `protobuf:"varint,4,req,name=term" json:"term"`
  149. XXX_unrecognized []byte `json:"-"`
  150. }
  151. func (m *Snapshot) Reset() { *m = Snapshot{} }
  152. func (m *Snapshot) String() string { return proto.CompactTextString(m) }
  153. func (*Snapshot) ProtoMessage() {}
  154. type Message struct {
  155. Type MessageType `protobuf:"varint,1,req,name=type,enum=raftpb.MessageType" json:"type"`
  156. To uint64 `protobuf:"varint,2,req,name=to" json:"to"`
  157. From uint64 `protobuf:"varint,3,req,name=from" json:"from"`
  158. Term uint64 `protobuf:"varint,4,req,name=term" json:"term"`
  159. LogTerm uint64 `protobuf:"varint,5,req,name=logTerm" json:"logTerm"`
  160. Index uint64 `protobuf:"varint,6,req,name=index" json:"index"`
  161. Entries []Entry `protobuf:"bytes,7,rep,name=entries" json:"entries"`
  162. Commit uint64 `protobuf:"varint,8,req,name=commit" json:"commit"`
  163. Snapshot Snapshot `protobuf:"bytes,9,req,name=snapshot" json:"snapshot"`
  164. Reject bool `protobuf:"varint,10,req,name=reject" json:"reject"`
  165. XXX_unrecognized []byte `json:"-"`
  166. }
  167. func (m *Message) Reset() { *m = Message{} }
  168. func (m *Message) String() string { return proto.CompactTextString(m) }
  169. func (*Message) ProtoMessage() {}
  170. type HardState struct {
  171. Term uint64 `protobuf:"varint,1,req,name=term" json:"term"`
  172. Vote uint64 `protobuf:"varint,2,req,name=vote" json:"vote"`
  173. Commit uint64 `protobuf:"varint,3,req,name=commit" json:"commit"`
  174. XXX_unrecognized []byte `json:"-"`
  175. }
  176. func (m *HardState) Reset() { *m = HardState{} }
  177. func (m *HardState) String() string { return proto.CompactTextString(m) }
  178. func (*HardState) ProtoMessage() {}
  179. type ConfChange struct {
  180. ID uint64 `protobuf:"varint,1,req" json:"ID"`
  181. Type ConfChangeType `protobuf:"varint,2,req,enum=raftpb.ConfChangeType" json:"Type"`
  182. NodeID uint64 `protobuf:"varint,3,req" json:"NodeID"`
  183. Context []byte `protobuf:"bytes,4,opt" json:"Context"`
  184. XXX_unrecognized []byte `json:"-"`
  185. }
  186. func (m *ConfChange) Reset() { *m = ConfChange{} }
  187. func (m *ConfChange) String() string { return proto.CompactTextString(m) }
  188. func (*ConfChange) ProtoMessage() {}
  189. func init() {
  190. proto.RegisterEnum("raftpb.EntryType", EntryType_name, EntryType_value)
  191. proto.RegisterEnum("raftpb.MessageType", MessageType_name, MessageType_value)
  192. proto.RegisterEnum("raftpb.ConfChangeType", ConfChangeType_name, ConfChangeType_value)
  193. }
  194. func (m *Entry) Unmarshal(data []byte) error {
  195. l := len(data)
  196. index := 0
  197. for index < l {
  198. var wire uint64
  199. for shift := uint(0); ; shift += 7 {
  200. if index >= l {
  201. return io.ErrUnexpectedEOF
  202. }
  203. b := data[index]
  204. index++
  205. wire |= (uint64(b) & 0x7F) << shift
  206. if b < 0x80 {
  207. break
  208. }
  209. }
  210. fieldNum := int32(wire >> 3)
  211. wireType := int(wire & 0x7)
  212. switch fieldNum {
  213. case 1:
  214. if wireType != 0 {
  215. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  216. }
  217. for shift := uint(0); ; shift += 7 {
  218. if index >= l {
  219. return io.ErrUnexpectedEOF
  220. }
  221. b := data[index]
  222. index++
  223. m.Type |= (EntryType(b) & 0x7F) << shift
  224. if b < 0x80 {
  225. break
  226. }
  227. }
  228. case 2:
  229. if wireType != 0 {
  230. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  231. }
  232. for shift := uint(0); ; shift += 7 {
  233. if index >= l {
  234. return io.ErrUnexpectedEOF
  235. }
  236. b := data[index]
  237. index++
  238. m.Term |= (uint64(b) & 0x7F) << shift
  239. if b < 0x80 {
  240. break
  241. }
  242. }
  243. case 3:
  244. if wireType != 0 {
  245. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  246. }
  247. for shift := uint(0); ; shift += 7 {
  248. if index >= l {
  249. return io.ErrUnexpectedEOF
  250. }
  251. b := data[index]
  252. index++
  253. m.Index |= (uint64(b) & 0x7F) << shift
  254. if b < 0x80 {
  255. break
  256. }
  257. }
  258. case 4:
  259. if wireType != 2 {
  260. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  261. }
  262. var byteLen int
  263. for shift := uint(0); ; shift += 7 {
  264. if index >= l {
  265. return io.ErrUnexpectedEOF
  266. }
  267. b := data[index]
  268. index++
  269. byteLen |= (int(b) & 0x7F) << shift
  270. if b < 0x80 {
  271. break
  272. }
  273. }
  274. postIndex := index + byteLen
  275. if postIndex > l {
  276. return io.ErrUnexpectedEOF
  277. }
  278. m.Data = append(m.Data, data[index:postIndex]...)
  279. index = postIndex
  280. default:
  281. var sizeOfWire int
  282. for {
  283. sizeOfWire++
  284. wire >>= 7
  285. if wire == 0 {
  286. break
  287. }
  288. }
  289. index -= sizeOfWire
  290. skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:])
  291. if err != nil {
  292. return err
  293. }
  294. if (index + skippy) > l {
  295. return io.ErrUnexpectedEOF
  296. }
  297. m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...)
  298. index += skippy
  299. }
  300. }
  301. return nil
  302. }
  303. func (m *Snapshot) Unmarshal(data []byte) error {
  304. l := len(data)
  305. index := 0
  306. for index < l {
  307. var wire uint64
  308. for shift := uint(0); ; shift += 7 {
  309. if index >= l {
  310. return io.ErrUnexpectedEOF
  311. }
  312. b := data[index]
  313. index++
  314. wire |= (uint64(b) & 0x7F) << shift
  315. if b < 0x80 {
  316. break
  317. }
  318. }
  319. fieldNum := int32(wire >> 3)
  320. wireType := int(wire & 0x7)
  321. switch fieldNum {
  322. case 1:
  323. if wireType != 2 {
  324. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  325. }
  326. var byteLen int
  327. for shift := uint(0); ; shift += 7 {
  328. if index >= l {
  329. return io.ErrUnexpectedEOF
  330. }
  331. b := data[index]
  332. index++
  333. byteLen |= (int(b) & 0x7F) << shift
  334. if b < 0x80 {
  335. break
  336. }
  337. }
  338. postIndex := index + byteLen
  339. if postIndex > l {
  340. return io.ErrUnexpectedEOF
  341. }
  342. m.Data = append(m.Data, data[index:postIndex]...)
  343. index = postIndex
  344. case 2:
  345. if wireType != 0 {
  346. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  347. }
  348. var v uint64
  349. for shift := uint(0); ; shift += 7 {
  350. if index >= l {
  351. return io.ErrUnexpectedEOF
  352. }
  353. b := data[index]
  354. index++
  355. v |= (uint64(b) & 0x7F) << shift
  356. if b < 0x80 {
  357. break
  358. }
  359. }
  360. m.Nodes = append(m.Nodes, v)
  361. case 3:
  362. if wireType != 0 {
  363. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  364. }
  365. for shift := uint(0); ; shift += 7 {
  366. if index >= l {
  367. return io.ErrUnexpectedEOF
  368. }
  369. b := data[index]
  370. index++
  371. m.Index |= (uint64(b) & 0x7F) << shift
  372. if b < 0x80 {
  373. break
  374. }
  375. }
  376. case 4:
  377. if wireType != 0 {
  378. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  379. }
  380. for shift := uint(0); ; shift += 7 {
  381. if index >= l {
  382. return io.ErrUnexpectedEOF
  383. }
  384. b := data[index]
  385. index++
  386. m.Term |= (uint64(b) & 0x7F) << shift
  387. if b < 0x80 {
  388. break
  389. }
  390. }
  391. default:
  392. var sizeOfWire int
  393. for {
  394. sizeOfWire++
  395. wire >>= 7
  396. if wire == 0 {
  397. break
  398. }
  399. }
  400. index -= sizeOfWire
  401. skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:])
  402. if err != nil {
  403. return err
  404. }
  405. if (index + skippy) > l {
  406. return io.ErrUnexpectedEOF
  407. }
  408. m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...)
  409. index += skippy
  410. }
  411. }
  412. return nil
  413. }
  414. func (m *Message) Unmarshal(data []byte) error {
  415. l := len(data)
  416. index := 0
  417. for index < l {
  418. var wire uint64
  419. for shift := uint(0); ; shift += 7 {
  420. if index >= l {
  421. return io.ErrUnexpectedEOF
  422. }
  423. b := data[index]
  424. index++
  425. wire |= (uint64(b) & 0x7F) << shift
  426. if b < 0x80 {
  427. break
  428. }
  429. }
  430. fieldNum := int32(wire >> 3)
  431. wireType := int(wire & 0x7)
  432. switch fieldNum {
  433. case 1:
  434. if wireType != 0 {
  435. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  436. }
  437. for shift := uint(0); ; shift += 7 {
  438. if index >= l {
  439. return io.ErrUnexpectedEOF
  440. }
  441. b := data[index]
  442. index++
  443. m.Type |= (MessageType(b) & 0x7F) << shift
  444. if b < 0x80 {
  445. break
  446. }
  447. }
  448. case 2:
  449. if wireType != 0 {
  450. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  451. }
  452. for shift := uint(0); ; shift += 7 {
  453. if index >= l {
  454. return io.ErrUnexpectedEOF
  455. }
  456. b := data[index]
  457. index++
  458. m.To |= (uint64(b) & 0x7F) << shift
  459. if b < 0x80 {
  460. break
  461. }
  462. }
  463. case 3:
  464. if wireType != 0 {
  465. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  466. }
  467. for shift := uint(0); ; shift += 7 {
  468. if index >= l {
  469. return io.ErrUnexpectedEOF
  470. }
  471. b := data[index]
  472. index++
  473. m.From |= (uint64(b) & 0x7F) << shift
  474. if b < 0x80 {
  475. break
  476. }
  477. }
  478. case 4:
  479. if wireType != 0 {
  480. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  481. }
  482. for shift := uint(0); ; shift += 7 {
  483. if index >= l {
  484. return io.ErrUnexpectedEOF
  485. }
  486. b := data[index]
  487. index++
  488. m.Term |= (uint64(b) & 0x7F) << shift
  489. if b < 0x80 {
  490. break
  491. }
  492. }
  493. case 5:
  494. if wireType != 0 {
  495. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  496. }
  497. for shift := uint(0); ; shift += 7 {
  498. if index >= l {
  499. return io.ErrUnexpectedEOF
  500. }
  501. b := data[index]
  502. index++
  503. m.LogTerm |= (uint64(b) & 0x7F) << shift
  504. if b < 0x80 {
  505. break
  506. }
  507. }
  508. case 6:
  509. if wireType != 0 {
  510. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  511. }
  512. for shift := uint(0); ; shift += 7 {
  513. if index >= l {
  514. return io.ErrUnexpectedEOF
  515. }
  516. b := data[index]
  517. index++
  518. m.Index |= (uint64(b) & 0x7F) << shift
  519. if b < 0x80 {
  520. break
  521. }
  522. }
  523. case 7:
  524. if wireType != 2 {
  525. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  526. }
  527. var msglen int
  528. for shift := uint(0); ; shift += 7 {
  529. if index >= l {
  530. return io.ErrUnexpectedEOF
  531. }
  532. b := data[index]
  533. index++
  534. msglen |= (int(b) & 0x7F) << shift
  535. if b < 0x80 {
  536. break
  537. }
  538. }
  539. postIndex := index + msglen
  540. if postIndex > l {
  541. return io.ErrUnexpectedEOF
  542. }
  543. m.Entries = append(m.Entries, Entry{})
  544. m.Entries[len(m.Entries)-1].Unmarshal(data[index:postIndex])
  545. index = postIndex
  546. case 8:
  547. if wireType != 0 {
  548. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  549. }
  550. for shift := uint(0); ; shift += 7 {
  551. if index >= l {
  552. return io.ErrUnexpectedEOF
  553. }
  554. b := data[index]
  555. index++
  556. m.Commit |= (uint64(b) & 0x7F) << shift
  557. if b < 0x80 {
  558. break
  559. }
  560. }
  561. case 9:
  562. if wireType != 2 {
  563. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  564. }
  565. var msglen int
  566. for shift := uint(0); ; shift += 7 {
  567. if index >= l {
  568. return io.ErrUnexpectedEOF
  569. }
  570. b := data[index]
  571. index++
  572. msglen |= (int(b) & 0x7F) << shift
  573. if b < 0x80 {
  574. break
  575. }
  576. }
  577. postIndex := index + msglen
  578. if postIndex > l {
  579. return io.ErrUnexpectedEOF
  580. }
  581. if err := m.Snapshot.Unmarshal(data[index:postIndex]); err != nil {
  582. return err
  583. }
  584. index = postIndex
  585. case 10:
  586. if wireType != 0 {
  587. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  588. }
  589. var v int
  590. for shift := uint(0); ; shift += 7 {
  591. if index >= l {
  592. return io.ErrUnexpectedEOF
  593. }
  594. b := data[index]
  595. index++
  596. v |= (int(b) & 0x7F) << shift
  597. if b < 0x80 {
  598. break
  599. }
  600. }
  601. m.Reject = bool(v != 0)
  602. default:
  603. var sizeOfWire int
  604. for {
  605. sizeOfWire++
  606. wire >>= 7
  607. if wire == 0 {
  608. break
  609. }
  610. }
  611. index -= sizeOfWire
  612. skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:])
  613. if err != nil {
  614. return err
  615. }
  616. if (index + skippy) > l {
  617. return io.ErrUnexpectedEOF
  618. }
  619. m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...)
  620. index += skippy
  621. }
  622. }
  623. return nil
  624. }
  625. func (m *HardState) Unmarshal(data []byte) error {
  626. l := len(data)
  627. index := 0
  628. for index < l {
  629. var wire uint64
  630. for shift := uint(0); ; shift += 7 {
  631. if index >= l {
  632. return io.ErrUnexpectedEOF
  633. }
  634. b := data[index]
  635. index++
  636. wire |= (uint64(b) & 0x7F) << shift
  637. if b < 0x80 {
  638. break
  639. }
  640. }
  641. fieldNum := int32(wire >> 3)
  642. wireType := int(wire & 0x7)
  643. switch fieldNum {
  644. case 1:
  645. if wireType != 0 {
  646. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  647. }
  648. for shift := uint(0); ; shift += 7 {
  649. if index >= l {
  650. return io.ErrUnexpectedEOF
  651. }
  652. b := data[index]
  653. index++
  654. m.Term |= (uint64(b) & 0x7F) << shift
  655. if b < 0x80 {
  656. break
  657. }
  658. }
  659. case 2:
  660. if wireType != 0 {
  661. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  662. }
  663. for shift := uint(0); ; shift += 7 {
  664. if index >= l {
  665. return io.ErrUnexpectedEOF
  666. }
  667. b := data[index]
  668. index++
  669. m.Vote |= (uint64(b) & 0x7F) << shift
  670. if b < 0x80 {
  671. break
  672. }
  673. }
  674. case 3:
  675. if wireType != 0 {
  676. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  677. }
  678. for shift := uint(0); ; shift += 7 {
  679. if index >= l {
  680. return io.ErrUnexpectedEOF
  681. }
  682. b := data[index]
  683. index++
  684. m.Commit |= (uint64(b) & 0x7F) << shift
  685. if b < 0x80 {
  686. break
  687. }
  688. }
  689. default:
  690. var sizeOfWire int
  691. for {
  692. sizeOfWire++
  693. wire >>= 7
  694. if wire == 0 {
  695. break
  696. }
  697. }
  698. index -= sizeOfWire
  699. skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:])
  700. if err != nil {
  701. return err
  702. }
  703. if (index + skippy) > l {
  704. return io.ErrUnexpectedEOF
  705. }
  706. m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...)
  707. index += skippy
  708. }
  709. }
  710. return nil
  711. }
  712. func (m *ConfChange) Unmarshal(data []byte) error {
  713. l := len(data)
  714. index := 0
  715. for index < l {
  716. var wire uint64
  717. for shift := uint(0); ; shift += 7 {
  718. if index >= l {
  719. return io.ErrUnexpectedEOF
  720. }
  721. b := data[index]
  722. index++
  723. wire |= (uint64(b) & 0x7F) << shift
  724. if b < 0x80 {
  725. break
  726. }
  727. }
  728. fieldNum := int32(wire >> 3)
  729. wireType := int(wire & 0x7)
  730. switch fieldNum {
  731. case 1:
  732. if wireType != 0 {
  733. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  734. }
  735. for shift := uint(0); ; shift += 7 {
  736. if index >= l {
  737. return io.ErrUnexpectedEOF
  738. }
  739. b := data[index]
  740. index++
  741. m.ID |= (uint64(b) & 0x7F) << shift
  742. if b < 0x80 {
  743. break
  744. }
  745. }
  746. case 2:
  747. if wireType != 0 {
  748. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  749. }
  750. for shift := uint(0); ; shift += 7 {
  751. if index >= l {
  752. return io.ErrUnexpectedEOF
  753. }
  754. b := data[index]
  755. index++
  756. m.Type |= (ConfChangeType(b) & 0x7F) << shift
  757. if b < 0x80 {
  758. break
  759. }
  760. }
  761. case 3:
  762. if wireType != 0 {
  763. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  764. }
  765. for shift := uint(0); ; shift += 7 {
  766. if index >= l {
  767. return io.ErrUnexpectedEOF
  768. }
  769. b := data[index]
  770. index++
  771. m.NodeID |= (uint64(b) & 0x7F) << shift
  772. if b < 0x80 {
  773. break
  774. }
  775. }
  776. case 4:
  777. if wireType != 2 {
  778. return code_google_com_p_gogoprotobuf_proto.ErrWrongType
  779. }
  780. var byteLen int
  781. for shift := uint(0); ; shift += 7 {
  782. if index >= l {
  783. return io.ErrUnexpectedEOF
  784. }
  785. b := data[index]
  786. index++
  787. byteLen |= (int(b) & 0x7F) << shift
  788. if b < 0x80 {
  789. break
  790. }
  791. }
  792. postIndex := index + byteLen
  793. if postIndex > l {
  794. return io.ErrUnexpectedEOF
  795. }
  796. m.Context = append(m.Context, data[index:postIndex]...)
  797. index = postIndex
  798. default:
  799. var sizeOfWire int
  800. for {
  801. sizeOfWire++
  802. wire >>= 7
  803. if wire == 0 {
  804. break
  805. }
  806. }
  807. index -= sizeOfWire
  808. skippy, err := code_google_com_p_gogoprotobuf_proto.Skip(data[index:])
  809. if err != nil {
  810. return err
  811. }
  812. if (index + skippy) > l {
  813. return io.ErrUnexpectedEOF
  814. }
  815. m.XXX_unrecognized = append(m.XXX_unrecognized, data[index:index+skippy]...)
  816. index += skippy
  817. }
  818. }
  819. return nil
  820. }
  821. func (m *Entry) Size() (n int) {
  822. var l int
  823. _ = l
  824. n += 1 + sovRaft(uint64(m.Type))
  825. n += 1 + sovRaft(uint64(m.Term))
  826. n += 1 + sovRaft(uint64(m.Index))
  827. l = len(m.Data)
  828. n += 1 + l + sovRaft(uint64(l))
  829. if m.XXX_unrecognized != nil {
  830. n += len(m.XXX_unrecognized)
  831. }
  832. return n
  833. }
  834. func (m *Snapshot) Size() (n int) {
  835. var l int
  836. _ = l
  837. l = len(m.Data)
  838. n += 1 + l + sovRaft(uint64(l))
  839. if len(m.Nodes) > 0 {
  840. for _, e := range m.Nodes {
  841. n += 1 + sovRaft(uint64(e))
  842. }
  843. }
  844. n += 1 + sovRaft(uint64(m.Index))
  845. n += 1 + sovRaft(uint64(m.Term))
  846. if m.XXX_unrecognized != nil {
  847. n += len(m.XXX_unrecognized)
  848. }
  849. return n
  850. }
  851. func (m *Message) Size() (n int) {
  852. var l int
  853. _ = l
  854. n += 1 + sovRaft(uint64(m.Type))
  855. n += 1 + sovRaft(uint64(m.To))
  856. n += 1 + sovRaft(uint64(m.From))
  857. n += 1 + sovRaft(uint64(m.Term))
  858. n += 1 + sovRaft(uint64(m.LogTerm))
  859. n += 1 + sovRaft(uint64(m.Index))
  860. if len(m.Entries) > 0 {
  861. for _, e := range m.Entries {
  862. l = e.Size()
  863. n += 1 + l + sovRaft(uint64(l))
  864. }
  865. }
  866. n += 1 + sovRaft(uint64(m.Commit))
  867. l = m.Snapshot.Size()
  868. n += 1 + l + sovRaft(uint64(l))
  869. n += 2
  870. if m.XXX_unrecognized != nil {
  871. n += len(m.XXX_unrecognized)
  872. }
  873. return n
  874. }
  875. func (m *HardState) Size() (n int) {
  876. var l int
  877. _ = l
  878. n += 1 + sovRaft(uint64(m.Term))
  879. n += 1 + sovRaft(uint64(m.Vote))
  880. n += 1 + sovRaft(uint64(m.Commit))
  881. if m.XXX_unrecognized != nil {
  882. n += len(m.XXX_unrecognized)
  883. }
  884. return n
  885. }
  886. func (m *ConfChange) Size() (n int) {
  887. var l int
  888. _ = l
  889. n += 1 + sovRaft(uint64(m.ID))
  890. n += 1 + sovRaft(uint64(m.Type))
  891. n += 1 + sovRaft(uint64(m.NodeID))
  892. l = len(m.Context)
  893. n += 1 + l + sovRaft(uint64(l))
  894. if m.XXX_unrecognized != nil {
  895. n += len(m.XXX_unrecognized)
  896. }
  897. return n
  898. }
  899. func sovRaft(x uint64) (n int) {
  900. for {
  901. n++
  902. x >>= 7
  903. if x == 0 {
  904. break
  905. }
  906. }
  907. return n
  908. }
  909. func sozRaft(x uint64) (n int) {
  910. return sovRaft(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  911. }
  912. func (m *Entry) Marshal() (data []byte, err error) {
  913. size := m.Size()
  914. data = make([]byte, size)
  915. n, err := m.MarshalTo(data)
  916. if err != nil {
  917. return nil, err
  918. }
  919. return data[:n], nil
  920. }
  921. func (m *Entry) MarshalTo(data []byte) (n int, err error) {
  922. var i int
  923. _ = i
  924. var l int
  925. _ = l
  926. data[i] = 0x8
  927. i++
  928. i = encodeVarintRaft(data, i, uint64(m.Type))
  929. data[i] = 0x10
  930. i++
  931. i = encodeVarintRaft(data, i, uint64(m.Term))
  932. data[i] = 0x18
  933. i++
  934. i = encodeVarintRaft(data, i, uint64(m.Index))
  935. data[i] = 0x22
  936. i++
  937. i = encodeVarintRaft(data, i, uint64(len(m.Data)))
  938. i += copy(data[i:], m.Data)
  939. if m.XXX_unrecognized != nil {
  940. i += copy(data[i:], m.XXX_unrecognized)
  941. }
  942. return i, nil
  943. }
  944. func (m *Snapshot) Marshal() (data []byte, err error) {
  945. size := m.Size()
  946. data = make([]byte, size)
  947. n, err := m.MarshalTo(data)
  948. if err != nil {
  949. return nil, err
  950. }
  951. return data[:n], nil
  952. }
  953. func (m *Snapshot) MarshalTo(data []byte) (n int, err error) {
  954. var i int
  955. _ = i
  956. var l int
  957. _ = l
  958. data[i] = 0xa
  959. i++
  960. i = encodeVarintRaft(data, i, uint64(len(m.Data)))
  961. i += copy(data[i:], m.Data)
  962. if len(m.Nodes) > 0 {
  963. for _, num := range m.Nodes {
  964. data[i] = 0x10
  965. i++
  966. for num >= 1<<7 {
  967. data[i] = uint8(uint64(num)&0x7f | 0x80)
  968. num >>= 7
  969. i++
  970. }
  971. data[i] = uint8(num)
  972. i++
  973. }
  974. }
  975. data[i] = 0x18
  976. i++
  977. i = encodeVarintRaft(data, i, uint64(m.Index))
  978. data[i] = 0x20
  979. i++
  980. i = encodeVarintRaft(data, i, uint64(m.Term))
  981. if m.XXX_unrecognized != nil {
  982. i += copy(data[i:], m.XXX_unrecognized)
  983. }
  984. return i, nil
  985. }
  986. func (m *Message) Marshal() (data []byte, err error) {
  987. size := m.Size()
  988. data = make([]byte, size)
  989. n, err := m.MarshalTo(data)
  990. if err != nil {
  991. return nil, err
  992. }
  993. return data[:n], nil
  994. }
  995. func (m *Message) MarshalTo(data []byte) (n int, err error) {
  996. var i int
  997. _ = i
  998. var l int
  999. _ = l
  1000. data[i] = 0x8
  1001. i++
  1002. i = encodeVarintRaft(data, i, uint64(m.Type))
  1003. data[i] = 0x10
  1004. i++
  1005. i = encodeVarintRaft(data, i, uint64(m.To))
  1006. data[i] = 0x18
  1007. i++
  1008. i = encodeVarintRaft(data, i, uint64(m.From))
  1009. data[i] = 0x20
  1010. i++
  1011. i = encodeVarintRaft(data, i, uint64(m.Term))
  1012. data[i] = 0x28
  1013. i++
  1014. i = encodeVarintRaft(data, i, uint64(m.LogTerm))
  1015. data[i] = 0x30
  1016. i++
  1017. i = encodeVarintRaft(data, i, uint64(m.Index))
  1018. if len(m.Entries) > 0 {
  1019. for _, msg := range m.Entries {
  1020. data[i] = 0x3a
  1021. i++
  1022. i = encodeVarintRaft(data, i, uint64(msg.Size()))
  1023. n, err := msg.MarshalTo(data[i:])
  1024. if err != nil {
  1025. return 0, err
  1026. }
  1027. i += n
  1028. }
  1029. }
  1030. data[i] = 0x40
  1031. i++
  1032. i = encodeVarintRaft(data, i, uint64(m.Commit))
  1033. data[i] = 0x4a
  1034. i++
  1035. i = encodeVarintRaft(data, i, uint64(m.Snapshot.Size()))
  1036. n1, err := m.Snapshot.MarshalTo(data[i:])
  1037. if err != nil {
  1038. return 0, err
  1039. }
  1040. i += n1
  1041. data[i] = 0x50
  1042. i++
  1043. if m.Reject {
  1044. data[i] = 1
  1045. } else {
  1046. data[i] = 0
  1047. }
  1048. i++
  1049. if m.XXX_unrecognized != nil {
  1050. i += copy(data[i:], m.XXX_unrecognized)
  1051. }
  1052. return i, nil
  1053. }
  1054. func (m *HardState) Marshal() (data []byte, err error) {
  1055. size := m.Size()
  1056. data = make([]byte, size)
  1057. n, err := m.MarshalTo(data)
  1058. if err != nil {
  1059. return nil, err
  1060. }
  1061. return data[:n], nil
  1062. }
  1063. func (m *HardState) MarshalTo(data []byte) (n int, err error) {
  1064. var i int
  1065. _ = i
  1066. var l int
  1067. _ = l
  1068. data[i] = 0x8
  1069. i++
  1070. i = encodeVarintRaft(data, i, uint64(m.Term))
  1071. data[i] = 0x10
  1072. i++
  1073. i = encodeVarintRaft(data, i, uint64(m.Vote))
  1074. data[i] = 0x18
  1075. i++
  1076. i = encodeVarintRaft(data, i, uint64(m.Commit))
  1077. if m.XXX_unrecognized != nil {
  1078. i += copy(data[i:], m.XXX_unrecognized)
  1079. }
  1080. return i, nil
  1081. }
  1082. func (m *ConfChange) Marshal() (data []byte, err error) {
  1083. size := m.Size()
  1084. data = make([]byte, size)
  1085. n, err := m.MarshalTo(data)
  1086. if err != nil {
  1087. return nil, err
  1088. }
  1089. return data[:n], nil
  1090. }
  1091. func (m *ConfChange) MarshalTo(data []byte) (n int, err error) {
  1092. var i int
  1093. _ = i
  1094. var l int
  1095. _ = l
  1096. data[i] = 0x8
  1097. i++
  1098. i = encodeVarintRaft(data, i, uint64(m.ID))
  1099. data[i] = 0x10
  1100. i++
  1101. i = encodeVarintRaft(data, i, uint64(m.Type))
  1102. data[i] = 0x18
  1103. i++
  1104. i = encodeVarintRaft(data, i, uint64(m.NodeID))
  1105. data[i] = 0x22
  1106. i++
  1107. i = encodeVarintRaft(data, i, uint64(len(m.Context)))
  1108. i += copy(data[i:], m.Context)
  1109. if m.XXX_unrecognized != nil {
  1110. i += copy(data[i:], m.XXX_unrecognized)
  1111. }
  1112. return i, nil
  1113. }
  1114. func encodeFixed64Raft(data []byte, offset int, v uint64) int {
  1115. data[offset] = uint8(v)
  1116. data[offset+1] = uint8(v >> 8)
  1117. data[offset+2] = uint8(v >> 16)
  1118. data[offset+3] = uint8(v >> 24)
  1119. data[offset+4] = uint8(v >> 32)
  1120. data[offset+5] = uint8(v >> 40)
  1121. data[offset+6] = uint8(v >> 48)
  1122. data[offset+7] = uint8(v >> 56)
  1123. return offset + 8
  1124. }
  1125. func encodeFixed32Raft(data []byte, offset int, v uint32) int {
  1126. data[offset] = uint8(v)
  1127. data[offset+1] = uint8(v >> 8)
  1128. data[offset+2] = uint8(v >> 16)
  1129. data[offset+3] = uint8(v >> 24)
  1130. return offset + 4
  1131. }
  1132. func encodeVarintRaft(data []byte, offset int, v uint64) int {
  1133. for v >= 1<<7 {
  1134. data[offset] = uint8(v&0x7f | 0x80)
  1135. v >>= 7
  1136. offset++
  1137. }
  1138. data[offset] = uint8(v)
  1139. return offset + 1
  1140. }