raft.pb.go 32 KB

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