raft.pb.go 88 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547
  1. // Code generated by protoc-gen-gogo.
  2. // source: raft.proto
  3. // DO NOT EDIT!
  4. package api
  5. import proto "github.com/gogo/protobuf/proto"
  6. import fmt "fmt"
  7. import math "math"
  8. import raftpb "github.com/coreos/etcd/raft/raftpb"
  9. // skipping weak import gogoproto "github.com/gogo/protobuf/gogoproto"
  10. // skipping weak import docker_protobuf_plugin "github.com/docker/swarmkit/protobuf/plugin"
  11. import github_com_docker_swarmkit_api_deepcopy "github.com/docker/swarmkit/api/deepcopy"
  12. import (
  13. context "golang.org/x/net/context"
  14. grpc "google.golang.org/grpc"
  15. )
  16. import raftselector "github.com/docker/swarmkit/manager/raftselector"
  17. import codes "google.golang.org/grpc/codes"
  18. import metadata "google.golang.org/grpc/metadata"
  19. import transport "google.golang.org/grpc/transport"
  20. import rafttime "time"
  21. import strings "strings"
  22. import reflect "reflect"
  23. import io "io"
  24. // Reference imports to suppress errors if they are not otherwise used.
  25. var _ = proto.Marshal
  26. var _ = fmt.Errorf
  27. var _ = math.Inf
  28. // StoreActionKind defines the operation to take on the store for the target of
  29. // a storage action.
  30. type StoreActionKind int32
  31. const (
  32. StoreActionKindUnknown StoreActionKind = 0
  33. StoreActionKindCreate StoreActionKind = 1
  34. StoreActionKindUpdate StoreActionKind = 2
  35. StoreActionKindRemove StoreActionKind = 3
  36. )
  37. var StoreActionKind_name = map[int32]string{
  38. 0: "UNKNOWN",
  39. 1: "STORE_ACTION_CREATE",
  40. 2: "STORE_ACTION_UPDATE",
  41. 3: "STORE_ACTION_REMOVE",
  42. }
  43. var StoreActionKind_value = map[string]int32{
  44. "UNKNOWN": 0,
  45. "STORE_ACTION_CREATE": 1,
  46. "STORE_ACTION_UPDATE": 2,
  47. "STORE_ACTION_REMOVE": 3,
  48. }
  49. func (x StoreActionKind) String() string {
  50. return proto.EnumName(StoreActionKind_name, int32(x))
  51. }
  52. func (StoreActionKind) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
  53. type RaftMember struct {
  54. // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified
  55. // and is used only for information purposes
  56. RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
  57. // NodeID is the node's ID.
  58. NodeID string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
  59. // Addr specifies the address of the member
  60. Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"`
  61. // Status provides the current status of the manager from the perspective of another manager.
  62. Status RaftMemberStatus `protobuf:"bytes,4,opt,name=status" json:"status"`
  63. }
  64. func (m *RaftMember) Reset() { *m = RaftMember{} }
  65. func (*RaftMember) ProtoMessage() {}
  66. func (*RaftMember) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
  67. type JoinRequest struct {
  68. // Addr specifies the address of the member
  69. Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
  70. }
  71. func (m *JoinRequest) Reset() { *m = JoinRequest{} }
  72. func (*JoinRequest) ProtoMessage() {}
  73. func (*JoinRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }
  74. type JoinResponse struct {
  75. // RaftID is the ID assigned to the new member.
  76. RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
  77. // Members is the membership set of the cluster.
  78. Members []*RaftMember `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"`
  79. // RemovedMembers is a list of members that have been removed from
  80. // the cluster, so the new node can avoid communicating with them.
  81. RemovedMembers []uint64 `protobuf:"varint,3,rep,packed,name=removed_members,json=removedMembers" json:"removed_members,omitempty"`
  82. }
  83. func (m *JoinResponse) Reset() { *m = JoinResponse{} }
  84. func (*JoinResponse) ProtoMessage() {}
  85. func (*JoinResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }
  86. type LeaveRequest struct {
  87. Node *RaftMember `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
  88. }
  89. func (m *LeaveRequest) Reset() { *m = LeaveRequest{} }
  90. func (*LeaveRequest) ProtoMessage() {}
  91. func (*LeaveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{3} }
  92. type LeaveResponse struct {
  93. }
  94. func (m *LeaveResponse) Reset() { *m = LeaveResponse{} }
  95. func (*LeaveResponse) ProtoMessage() {}
  96. func (*LeaveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{4} }
  97. type ProcessRaftMessageRequest struct {
  98. Message *raftpb.Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
  99. }
  100. func (m *ProcessRaftMessageRequest) Reset() { *m = ProcessRaftMessageRequest{} }
  101. func (*ProcessRaftMessageRequest) ProtoMessage() {}
  102. func (*ProcessRaftMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{5} }
  103. type ProcessRaftMessageResponse struct {
  104. }
  105. func (m *ProcessRaftMessageResponse) Reset() { *m = ProcessRaftMessageResponse{} }
  106. func (*ProcessRaftMessageResponse) ProtoMessage() {}
  107. func (*ProcessRaftMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{6} }
  108. type ResolveAddressRequest struct {
  109. // raft_id is the ID to resolve to an address.
  110. RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
  111. }
  112. func (m *ResolveAddressRequest) Reset() { *m = ResolveAddressRequest{} }
  113. func (*ResolveAddressRequest) ProtoMessage() {}
  114. func (*ResolveAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{7} }
  115. type ResolveAddressResponse struct {
  116. // Addr specifies the address of the member
  117. Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
  118. }
  119. func (m *ResolveAddressResponse) Reset() { *m = ResolveAddressResponse{} }
  120. func (*ResolveAddressResponse) ProtoMessage() {}
  121. func (*ResolveAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{8} }
  122. // Contains one of many protobuf encoded objects to replicate
  123. // over the raft backend with a request ID to track when the
  124. // action is effectively applied
  125. type InternalRaftRequest struct {
  126. ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  127. Action []StoreAction `protobuf:"bytes,2,rep,name=action" json:"action"`
  128. }
  129. func (m *InternalRaftRequest) Reset() { *m = InternalRaftRequest{} }
  130. func (*InternalRaftRequest) ProtoMessage() {}
  131. func (*InternalRaftRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{9} }
  132. // StoreAction defines a target and operation to apply on the storage system.
  133. type StoreAction struct {
  134. Action StoreActionKind `protobuf:"varint,1,opt,name=action,proto3,enum=docker.swarmkit.v1.StoreActionKind" json:"action,omitempty"`
  135. // Types that are valid to be assigned to Target:
  136. // *StoreAction_Node
  137. // *StoreAction_Service
  138. // *StoreAction_Task
  139. // *StoreAction_Network
  140. // *StoreAction_Cluster
  141. // *StoreAction_Secret
  142. // *StoreAction_Resource
  143. // *StoreAction_Extension
  144. Target isStoreAction_Target `protobuf_oneof:"target"`
  145. }
  146. func (m *StoreAction) Reset() { *m = StoreAction{} }
  147. func (*StoreAction) ProtoMessage() {}
  148. func (*StoreAction) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{10} }
  149. type isStoreAction_Target interface {
  150. isStoreAction_Target()
  151. MarshalTo([]byte) (int, error)
  152. Size() int
  153. }
  154. type StoreAction_Node struct {
  155. Node *Node `protobuf:"bytes,2,opt,name=node,oneof"`
  156. }
  157. type StoreAction_Service struct {
  158. Service *Service `protobuf:"bytes,3,opt,name=service,oneof"`
  159. }
  160. type StoreAction_Task struct {
  161. Task *Task `protobuf:"bytes,4,opt,name=task,oneof"`
  162. }
  163. type StoreAction_Network struct {
  164. Network *Network `protobuf:"bytes,5,opt,name=network,oneof"`
  165. }
  166. type StoreAction_Cluster struct {
  167. Cluster *Cluster `protobuf:"bytes,6,opt,name=cluster,oneof"`
  168. }
  169. type StoreAction_Secret struct {
  170. Secret *Secret `protobuf:"bytes,7,opt,name=secret,oneof"`
  171. }
  172. type StoreAction_Resource struct {
  173. Resource *Resource `protobuf:"bytes,8,opt,name=resource,oneof"`
  174. }
  175. type StoreAction_Extension struct {
  176. Extension *Extension `protobuf:"bytes,9,opt,name=extension,oneof"`
  177. }
  178. func (*StoreAction_Node) isStoreAction_Target() {}
  179. func (*StoreAction_Service) isStoreAction_Target() {}
  180. func (*StoreAction_Task) isStoreAction_Target() {}
  181. func (*StoreAction_Network) isStoreAction_Target() {}
  182. func (*StoreAction_Cluster) isStoreAction_Target() {}
  183. func (*StoreAction_Secret) isStoreAction_Target() {}
  184. func (*StoreAction_Resource) isStoreAction_Target() {}
  185. func (*StoreAction_Extension) isStoreAction_Target() {}
  186. func (m *StoreAction) GetTarget() isStoreAction_Target {
  187. if m != nil {
  188. return m.Target
  189. }
  190. return nil
  191. }
  192. func (m *StoreAction) GetNode() *Node {
  193. if x, ok := m.GetTarget().(*StoreAction_Node); ok {
  194. return x.Node
  195. }
  196. return nil
  197. }
  198. func (m *StoreAction) GetService() *Service {
  199. if x, ok := m.GetTarget().(*StoreAction_Service); ok {
  200. return x.Service
  201. }
  202. return nil
  203. }
  204. func (m *StoreAction) GetTask() *Task {
  205. if x, ok := m.GetTarget().(*StoreAction_Task); ok {
  206. return x.Task
  207. }
  208. return nil
  209. }
  210. func (m *StoreAction) GetNetwork() *Network {
  211. if x, ok := m.GetTarget().(*StoreAction_Network); ok {
  212. return x.Network
  213. }
  214. return nil
  215. }
  216. func (m *StoreAction) GetCluster() *Cluster {
  217. if x, ok := m.GetTarget().(*StoreAction_Cluster); ok {
  218. return x.Cluster
  219. }
  220. return nil
  221. }
  222. func (m *StoreAction) GetSecret() *Secret {
  223. if x, ok := m.GetTarget().(*StoreAction_Secret); ok {
  224. return x.Secret
  225. }
  226. return nil
  227. }
  228. func (m *StoreAction) GetResource() *Resource {
  229. if x, ok := m.GetTarget().(*StoreAction_Resource); ok {
  230. return x.Resource
  231. }
  232. return nil
  233. }
  234. func (m *StoreAction) GetExtension() *Extension {
  235. if x, ok := m.GetTarget().(*StoreAction_Extension); ok {
  236. return x.Extension
  237. }
  238. return nil
  239. }
  240. // XXX_OneofFuncs is for the internal use of the proto package.
  241. func (*StoreAction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
  242. return _StoreAction_OneofMarshaler, _StoreAction_OneofUnmarshaler, _StoreAction_OneofSizer, []interface{}{
  243. (*StoreAction_Node)(nil),
  244. (*StoreAction_Service)(nil),
  245. (*StoreAction_Task)(nil),
  246. (*StoreAction_Network)(nil),
  247. (*StoreAction_Cluster)(nil),
  248. (*StoreAction_Secret)(nil),
  249. (*StoreAction_Resource)(nil),
  250. (*StoreAction_Extension)(nil),
  251. }
  252. }
  253. func _StoreAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
  254. m := msg.(*StoreAction)
  255. // target
  256. switch x := m.Target.(type) {
  257. case *StoreAction_Node:
  258. _ = b.EncodeVarint(2<<3 | proto.WireBytes)
  259. if err := b.EncodeMessage(x.Node); err != nil {
  260. return err
  261. }
  262. case *StoreAction_Service:
  263. _ = b.EncodeVarint(3<<3 | proto.WireBytes)
  264. if err := b.EncodeMessage(x.Service); err != nil {
  265. return err
  266. }
  267. case *StoreAction_Task:
  268. _ = b.EncodeVarint(4<<3 | proto.WireBytes)
  269. if err := b.EncodeMessage(x.Task); err != nil {
  270. return err
  271. }
  272. case *StoreAction_Network:
  273. _ = b.EncodeVarint(5<<3 | proto.WireBytes)
  274. if err := b.EncodeMessage(x.Network); err != nil {
  275. return err
  276. }
  277. case *StoreAction_Cluster:
  278. _ = b.EncodeVarint(6<<3 | proto.WireBytes)
  279. if err := b.EncodeMessage(x.Cluster); err != nil {
  280. return err
  281. }
  282. case *StoreAction_Secret:
  283. _ = b.EncodeVarint(7<<3 | proto.WireBytes)
  284. if err := b.EncodeMessage(x.Secret); err != nil {
  285. return err
  286. }
  287. case *StoreAction_Resource:
  288. _ = b.EncodeVarint(8<<3 | proto.WireBytes)
  289. if err := b.EncodeMessage(x.Resource); err != nil {
  290. return err
  291. }
  292. case *StoreAction_Extension:
  293. _ = b.EncodeVarint(9<<3 | proto.WireBytes)
  294. if err := b.EncodeMessage(x.Extension); err != nil {
  295. return err
  296. }
  297. case nil:
  298. default:
  299. return fmt.Errorf("StoreAction.Target has unexpected type %T", x)
  300. }
  301. return nil
  302. }
  303. func _StoreAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
  304. m := msg.(*StoreAction)
  305. switch tag {
  306. case 2: // target.node
  307. if wire != proto.WireBytes {
  308. return true, proto.ErrInternalBadWireType
  309. }
  310. msg := new(Node)
  311. err := b.DecodeMessage(msg)
  312. m.Target = &StoreAction_Node{msg}
  313. return true, err
  314. case 3: // target.service
  315. if wire != proto.WireBytes {
  316. return true, proto.ErrInternalBadWireType
  317. }
  318. msg := new(Service)
  319. err := b.DecodeMessage(msg)
  320. m.Target = &StoreAction_Service{msg}
  321. return true, err
  322. case 4: // target.task
  323. if wire != proto.WireBytes {
  324. return true, proto.ErrInternalBadWireType
  325. }
  326. msg := new(Task)
  327. err := b.DecodeMessage(msg)
  328. m.Target = &StoreAction_Task{msg}
  329. return true, err
  330. case 5: // target.network
  331. if wire != proto.WireBytes {
  332. return true, proto.ErrInternalBadWireType
  333. }
  334. msg := new(Network)
  335. err := b.DecodeMessage(msg)
  336. m.Target = &StoreAction_Network{msg}
  337. return true, err
  338. case 6: // target.cluster
  339. if wire != proto.WireBytes {
  340. return true, proto.ErrInternalBadWireType
  341. }
  342. msg := new(Cluster)
  343. err := b.DecodeMessage(msg)
  344. m.Target = &StoreAction_Cluster{msg}
  345. return true, err
  346. case 7: // target.secret
  347. if wire != proto.WireBytes {
  348. return true, proto.ErrInternalBadWireType
  349. }
  350. msg := new(Secret)
  351. err := b.DecodeMessage(msg)
  352. m.Target = &StoreAction_Secret{msg}
  353. return true, err
  354. case 8: // target.resource
  355. if wire != proto.WireBytes {
  356. return true, proto.ErrInternalBadWireType
  357. }
  358. msg := new(Resource)
  359. err := b.DecodeMessage(msg)
  360. m.Target = &StoreAction_Resource{msg}
  361. return true, err
  362. case 9: // target.extension
  363. if wire != proto.WireBytes {
  364. return true, proto.ErrInternalBadWireType
  365. }
  366. msg := new(Extension)
  367. err := b.DecodeMessage(msg)
  368. m.Target = &StoreAction_Extension{msg}
  369. return true, err
  370. default:
  371. return false, nil
  372. }
  373. }
  374. func _StoreAction_OneofSizer(msg proto.Message) (n int) {
  375. m := msg.(*StoreAction)
  376. // target
  377. switch x := m.Target.(type) {
  378. case *StoreAction_Node:
  379. s := proto.Size(x.Node)
  380. n += proto.SizeVarint(2<<3 | proto.WireBytes)
  381. n += proto.SizeVarint(uint64(s))
  382. n += s
  383. case *StoreAction_Service:
  384. s := proto.Size(x.Service)
  385. n += proto.SizeVarint(3<<3 | proto.WireBytes)
  386. n += proto.SizeVarint(uint64(s))
  387. n += s
  388. case *StoreAction_Task:
  389. s := proto.Size(x.Task)
  390. n += proto.SizeVarint(4<<3 | proto.WireBytes)
  391. n += proto.SizeVarint(uint64(s))
  392. n += s
  393. case *StoreAction_Network:
  394. s := proto.Size(x.Network)
  395. n += proto.SizeVarint(5<<3 | proto.WireBytes)
  396. n += proto.SizeVarint(uint64(s))
  397. n += s
  398. case *StoreAction_Cluster:
  399. s := proto.Size(x.Cluster)
  400. n += proto.SizeVarint(6<<3 | proto.WireBytes)
  401. n += proto.SizeVarint(uint64(s))
  402. n += s
  403. case *StoreAction_Secret:
  404. s := proto.Size(x.Secret)
  405. n += proto.SizeVarint(7<<3 | proto.WireBytes)
  406. n += proto.SizeVarint(uint64(s))
  407. n += s
  408. case *StoreAction_Resource:
  409. s := proto.Size(x.Resource)
  410. n += proto.SizeVarint(8<<3 | proto.WireBytes)
  411. n += proto.SizeVarint(uint64(s))
  412. n += s
  413. case *StoreAction_Extension:
  414. s := proto.Size(x.Extension)
  415. n += proto.SizeVarint(9<<3 | proto.WireBytes)
  416. n += proto.SizeVarint(uint64(s))
  417. n += s
  418. case nil:
  419. default:
  420. panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
  421. }
  422. return n
  423. }
  424. func init() {
  425. proto.RegisterType((*RaftMember)(nil), "docker.swarmkit.v1.RaftMember")
  426. proto.RegisterType((*JoinRequest)(nil), "docker.swarmkit.v1.JoinRequest")
  427. proto.RegisterType((*JoinResponse)(nil), "docker.swarmkit.v1.JoinResponse")
  428. proto.RegisterType((*LeaveRequest)(nil), "docker.swarmkit.v1.LeaveRequest")
  429. proto.RegisterType((*LeaveResponse)(nil), "docker.swarmkit.v1.LeaveResponse")
  430. proto.RegisterType((*ProcessRaftMessageRequest)(nil), "docker.swarmkit.v1.ProcessRaftMessageRequest")
  431. proto.RegisterType((*ProcessRaftMessageResponse)(nil), "docker.swarmkit.v1.ProcessRaftMessageResponse")
  432. proto.RegisterType((*ResolveAddressRequest)(nil), "docker.swarmkit.v1.ResolveAddressRequest")
  433. proto.RegisterType((*ResolveAddressResponse)(nil), "docker.swarmkit.v1.ResolveAddressResponse")
  434. proto.RegisterType((*InternalRaftRequest)(nil), "docker.swarmkit.v1.InternalRaftRequest")
  435. proto.RegisterType((*StoreAction)(nil), "docker.swarmkit.v1.StoreAction")
  436. proto.RegisterEnum("docker.swarmkit.v1.StoreActionKind", StoreActionKind_name, StoreActionKind_value)
  437. }
  438. type authenticatedWrapperRaftServer struct {
  439. local RaftServer
  440. authorize func(context.Context, []string) error
  441. }
  442. func NewAuthenticatedWrapperRaftServer(local RaftServer, authorize func(context.Context, []string) error) RaftServer {
  443. return &authenticatedWrapperRaftServer{
  444. local: local,
  445. authorize: authorize,
  446. }
  447. }
  448. func (p *authenticatedWrapperRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
  449. if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
  450. return nil, err
  451. }
  452. return p.local.ProcessRaftMessage(ctx, r)
  453. }
  454. func (p *authenticatedWrapperRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
  455. if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
  456. return nil, err
  457. }
  458. return p.local.ResolveAddress(ctx, r)
  459. }
  460. type authenticatedWrapperRaftMembershipServer struct {
  461. local RaftMembershipServer
  462. authorize func(context.Context, []string) error
  463. }
  464. func NewAuthenticatedWrapperRaftMembershipServer(local RaftMembershipServer, authorize func(context.Context, []string) error) RaftMembershipServer {
  465. return &authenticatedWrapperRaftMembershipServer{
  466. local: local,
  467. authorize: authorize,
  468. }
  469. }
  470. func (p *authenticatedWrapperRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
  471. if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
  472. return nil, err
  473. }
  474. return p.local.Join(ctx, r)
  475. }
  476. func (p *authenticatedWrapperRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
  477. if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
  478. return nil, err
  479. }
  480. return p.local.Leave(ctx, r)
  481. }
  482. func (m *RaftMember) Copy() *RaftMember {
  483. if m == nil {
  484. return nil
  485. }
  486. o := &RaftMember{}
  487. o.CopyFrom(m)
  488. return o
  489. }
  490. func (m *RaftMember) CopyFrom(src interface{}) {
  491. o := src.(*RaftMember)
  492. *m = *o
  493. github_com_docker_swarmkit_api_deepcopy.Copy(&m.Status, &o.Status)
  494. }
  495. func (m *JoinRequest) Copy() *JoinRequest {
  496. if m == nil {
  497. return nil
  498. }
  499. o := &JoinRequest{}
  500. o.CopyFrom(m)
  501. return o
  502. }
  503. func (m *JoinRequest) CopyFrom(src interface{}) {
  504. o := src.(*JoinRequest)
  505. *m = *o
  506. }
  507. func (m *JoinResponse) Copy() *JoinResponse {
  508. if m == nil {
  509. return nil
  510. }
  511. o := &JoinResponse{}
  512. o.CopyFrom(m)
  513. return o
  514. }
  515. func (m *JoinResponse) CopyFrom(src interface{}) {
  516. o := src.(*JoinResponse)
  517. *m = *o
  518. if o.Members != nil {
  519. m.Members = make([]*RaftMember, len(o.Members))
  520. for i := range m.Members {
  521. m.Members[i] = &RaftMember{}
  522. github_com_docker_swarmkit_api_deepcopy.Copy(m.Members[i], o.Members[i])
  523. }
  524. }
  525. if o.RemovedMembers != nil {
  526. m.RemovedMembers = make([]uint64, len(o.RemovedMembers))
  527. copy(m.RemovedMembers, o.RemovedMembers)
  528. }
  529. }
  530. func (m *LeaveRequest) Copy() *LeaveRequest {
  531. if m == nil {
  532. return nil
  533. }
  534. o := &LeaveRequest{}
  535. o.CopyFrom(m)
  536. return o
  537. }
  538. func (m *LeaveRequest) CopyFrom(src interface{}) {
  539. o := src.(*LeaveRequest)
  540. *m = *o
  541. if o.Node != nil {
  542. m.Node = &RaftMember{}
  543. github_com_docker_swarmkit_api_deepcopy.Copy(m.Node, o.Node)
  544. }
  545. }
  546. func (m *LeaveResponse) Copy() *LeaveResponse {
  547. if m == nil {
  548. return nil
  549. }
  550. o := &LeaveResponse{}
  551. o.CopyFrom(m)
  552. return o
  553. }
  554. func (m *LeaveResponse) CopyFrom(src interface{}) {}
  555. func (m *ProcessRaftMessageResponse) Copy() *ProcessRaftMessageResponse {
  556. if m == nil {
  557. return nil
  558. }
  559. o := &ProcessRaftMessageResponse{}
  560. o.CopyFrom(m)
  561. return o
  562. }
  563. func (m *ProcessRaftMessageResponse) CopyFrom(src interface{}) {}
  564. func (m *ResolveAddressRequest) Copy() *ResolveAddressRequest {
  565. if m == nil {
  566. return nil
  567. }
  568. o := &ResolveAddressRequest{}
  569. o.CopyFrom(m)
  570. return o
  571. }
  572. func (m *ResolveAddressRequest) CopyFrom(src interface{}) {
  573. o := src.(*ResolveAddressRequest)
  574. *m = *o
  575. }
  576. func (m *ResolveAddressResponse) Copy() *ResolveAddressResponse {
  577. if m == nil {
  578. return nil
  579. }
  580. o := &ResolveAddressResponse{}
  581. o.CopyFrom(m)
  582. return o
  583. }
  584. func (m *ResolveAddressResponse) CopyFrom(src interface{}) {
  585. o := src.(*ResolveAddressResponse)
  586. *m = *o
  587. }
  588. func (m *InternalRaftRequest) Copy() *InternalRaftRequest {
  589. if m == nil {
  590. return nil
  591. }
  592. o := &InternalRaftRequest{}
  593. o.CopyFrom(m)
  594. return o
  595. }
  596. func (m *InternalRaftRequest) CopyFrom(src interface{}) {
  597. o := src.(*InternalRaftRequest)
  598. *m = *o
  599. if o.Action != nil {
  600. m.Action = make([]StoreAction, len(o.Action))
  601. for i := range m.Action {
  602. github_com_docker_swarmkit_api_deepcopy.Copy(&m.Action[i], &o.Action[i])
  603. }
  604. }
  605. }
  606. func (m *StoreAction) Copy() *StoreAction {
  607. if m == nil {
  608. return nil
  609. }
  610. o := &StoreAction{}
  611. o.CopyFrom(m)
  612. return o
  613. }
  614. func (m *StoreAction) CopyFrom(src interface{}) {
  615. o := src.(*StoreAction)
  616. *m = *o
  617. if o.Target != nil {
  618. switch o.Target.(type) {
  619. case *StoreAction_Node:
  620. v := StoreAction_Node{
  621. Node: &Node{},
  622. }
  623. github_com_docker_swarmkit_api_deepcopy.Copy(v.Node, o.GetNode())
  624. m.Target = &v
  625. case *StoreAction_Service:
  626. v := StoreAction_Service{
  627. Service: &Service{},
  628. }
  629. github_com_docker_swarmkit_api_deepcopy.Copy(v.Service, o.GetService())
  630. m.Target = &v
  631. case *StoreAction_Task:
  632. v := StoreAction_Task{
  633. Task: &Task{},
  634. }
  635. github_com_docker_swarmkit_api_deepcopy.Copy(v.Task, o.GetTask())
  636. m.Target = &v
  637. case *StoreAction_Network:
  638. v := StoreAction_Network{
  639. Network: &Network{},
  640. }
  641. github_com_docker_swarmkit_api_deepcopy.Copy(v.Network, o.GetNetwork())
  642. m.Target = &v
  643. case *StoreAction_Cluster:
  644. v := StoreAction_Cluster{
  645. Cluster: &Cluster{},
  646. }
  647. github_com_docker_swarmkit_api_deepcopy.Copy(v.Cluster, o.GetCluster())
  648. m.Target = &v
  649. case *StoreAction_Secret:
  650. v := StoreAction_Secret{
  651. Secret: &Secret{},
  652. }
  653. github_com_docker_swarmkit_api_deepcopy.Copy(v.Secret, o.GetSecret())
  654. m.Target = &v
  655. case *StoreAction_Resource:
  656. v := StoreAction_Resource{
  657. Resource: &Resource{},
  658. }
  659. github_com_docker_swarmkit_api_deepcopy.Copy(v.Resource, o.GetResource())
  660. m.Target = &v
  661. case *StoreAction_Extension:
  662. v := StoreAction_Extension{
  663. Extension: &Extension{},
  664. }
  665. github_com_docker_swarmkit_api_deepcopy.Copy(v.Extension, o.GetExtension())
  666. m.Target = &v
  667. }
  668. }
  669. }
  670. // Reference imports to suppress errors if they are not otherwise used.
  671. var _ context.Context
  672. var _ grpc.ClientConn
  673. // This is a compile-time assertion to ensure that this generated file
  674. // is compatible with the grpc package it is being compiled against.
  675. const _ = grpc.SupportPackageIsVersion4
  676. // Client API for Raft service
  677. type RaftClient interface {
  678. // ProcessRaftMessage sends a raft message to be processed on a raft member, it is
  679. // called from the RaftMember willing to send a message to its destination ('To' field)
  680. ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error)
  681. // ResolveAddress returns the address where the node with the given ID can be reached.
  682. ResolveAddress(ctx context.Context, in *ResolveAddressRequest, opts ...grpc.CallOption) (*ResolveAddressResponse, error)
  683. }
  684. type raftClient struct {
  685. cc *grpc.ClientConn
  686. }
  687. func NewRaftClient(cc *grpc.ClientConn) RaftClient {
  688. return &raftClient{cc}
  689. }
  690. func (c *raftClient) ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error) {
  691. out := new(ProcessRaftMessageResponse)
  692. err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/ProcessRaftMessage", in, out, c.cc, opts...)
  693. if err != nil {
  694. return nil, err
  695. }
  696. return out, nil
  697. }
  698. func (c *raftClient) ResolveAddress(ctx context.Context, in *ResolveAddressRequest, opts ...grpc.CallOption) (*ResolveAddressResponse, error) {
  699. out := new(ResolveAddressResponse)
  700. err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/ResolveAddress", in, out, c.cc, opts...)
  701. if err != nil {
  702. return nil, err
  703. }
  704. return out, nil
  705. }
  706. // Server API for Raft service
  707. type RaftServer interface {
  708. // ProcessRaftMessage sends a raft message to be processed on a raft member, it is
  709. // called from the RaftMember willing to send a message to its destination ('To' field)
  710. ProcessRaftMessage(context.Context, *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error)
  711. // ResolveAddress returns the address where the node with the given ID can be reached.
  712. ResolveAddress(context.Context, *ResolveAddressRequest) (*ResolveAddressResponse, error)
  713. }
  714. func RegisterRaftServer(s *grpc.Server, srv RaftServer) {
  715. s.RegisterService(&_Raft_serviceDesc, srv)
  716. }
  717. func _Raft_ProcessRaftMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  718. in := new(ProcessRaftMessageRequest)
  719. if err := dec(in); err != nil {
  720. return nil, err
  721. }
  722. if interceptor == nil {
  723. return srv.(RaftServer).ProcessRaftMessage(ctx, in)
  724. }
  725. info := &grpc.UnaryServerInfo{
  726. Server: srv,
  727. FullMethod: "/docker.swarmkit.v1.Raft/ProcessRaftMessage",
  728. }
  729. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  730. return srv.(RaftServer).ProcessRaftMessage(ctx, req.(*ProcessRaftMessageRequest))
  731. }
  732. return interceptor(ctx, in, info, handler)
  733. }
  734. func _Raft_ResolveAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  735. in := new(ResolveAddressRequest)
  736. if err := dec(in); err != nil {
  737. return nil, err
  738. }
  739. if interceptor == nil {
  740. return srv.(RaftServer).ResolveAddress(ctx, in)
  741. }
  742. info := &grpc.UnaryServerInfo{
  743. Server: srv,
  744. FullMethod: "/docker.swarmkit.v1.Raft/ResolveAddress",
  745. }
  746. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  747. return srv.(RaftServer).ResolveAddress(ctx, req.(*ResolveAddressRequest))
  748. }
  749. return interceptor(ctx, in, info, handler)
  750. }
  751. var _Raft_serviceDesc = grpc.ServiceDesc{
  752. ServiceName: "docker.swarmkit.v1.Raft",
  753. HandlerType: (*RaftServer)(nil),
  754. Methods: []grpc.MethodDesc{
  755. {
  756. MethodName: "ProcessRaftMessage",
  757. Handler: _Raft_ProcessRaftMessage_Handler,
  758. },
  759. {
  760. MethodName: "ResolveAddress",
  761. Handler: _Raft_ResolveAddress_Handler,
  762. },
  763. },
  764. Streams: []grpc.StreamDesc{},
  765. Metadata: "raft.proto",
  766. }
  767. // Client API for RaftMembership service
  768. type RaftMembershipClient interface {
  769. // Join adds a RaftMember to the raft cluster.
  770. Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error)
  771. // Leave removes a RaftMember from the raft cluster.
  772. Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error)
  773. }
  774. type raftMembershipClient struct {
  775. cc *grpc.ClientConn
  776. }
  777. func NewRaftMembershipClient(cc *grpc.ClientConn) RaftMembershipClient {
  778. return &raftMembershipClient{cc}
  779. }
  780. func (c *raftMembershipClient) Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) {
  781. out := new(JoinResponse)
  782. err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Join", in, out, c.cc, opts...)
  783. if err != nil {
  784. return nil, err
  785. }
  786. return out, nil
  787. }
  788. func (c *raftMembershipClient) Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) {
  789. out := new(LeaveResponse)
  790. err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Leave", in, out, c.cc, opts...)
  791. if err != nil {
  792. return nil, err
  793. }
  794. return out, nil
  795. }
  796. // Server API for RaftMembership service
  797. type RaftMembershipServer interface {
  798. // Join adds a RaftMember to the raft cluster.
  799. Join(context.Context, *JoinRequest) (*JoinResponse, error)
  800. // Leave removes a RaftMember from the raft cluster.
  801. Leave(context.Context, *LeaveRequest) (*LeaveResponse, error)
  802. }
  803. func RegisterRaftMembershipServer(s *grpc.Server, srv RaftMembershipServer) {
  804. s.RegisterService(&_RaftMembership_serviceDesc, srv)
  805. }
  806. func _RaftMembership_Join_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  807. in := new(JoinRequest)
  808. if err := dec(in); err != nil {
  809. return nil, err
  810. }
  811. if interceptor == nil {
  812. return srv.(RaftMembershipServer).Join(ctx, in)
  813. }
  814. info := &grpc.UnaryServerInfo{
  815. Server: srv,
  816. FullMethod: "/docker.swarmkit.v1.RaftMembership/Join",
  817. }
  818. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  819. return srv.(RaftMembershipServer).Join(ctx, req.(*JoinRequest))
  820. }
  821. return interceptor(ctx, in, info, handler)
  822. }
  823. func _RaftMembership_Leave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  824. in := new(LeaveRequest)
  825. if err := dec(in); err != nil {
  826. return nil, err
  827. }
  828. if interceptor == nil {
  829. return srv.(RaftMembershipServer).Leave(ctx, in)
  830. }
  831. info := &grpc.UnaryServerInfo{
  832. Server: srv,
  833. FullMethod: "/docker.swarmkit.v1.RaftMembership/Leave",
  834. }
  835. handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  836. return srv.(RaftMembershipServer).Leave(ctx, req.(*LeaveRequest))
  837. }
  838. return interceptor(ctx, in, info, handler)
  839. }
  840. var _RaftMembership_serviceDesc = grpc.ServiceDesc{
  841. ServiceName: "docker.swarmkit.v1.RaftMembership",
  842. HandlerType: (*RaftMembershipServer)(nil),
  843. Methods: []grpc.MethodDesc{
  844. {
  845. MethodName: "Join",
  846. Handler: _RaftMembership_Join_Handler,
  847. },
  848. {
  849. MethodName: "Leave",
  850. Handler: _RaftMembership_Leave_Handler,
  851. },
  852. },
  853. Streams: []grpc.StreamDesc{},
  854. Metadata: "raft.proto",
  855. }
  856. func (m *RaftMember) Marshal() (dAtA []byte, err error) {
  857. size := m.Size()
  858. dAtA = make([]byte, size)
  859. n, err := m.MarshalTo(dAtA)
  860. if err != nil {
  861. return nil, err
  862. }
  863. return dAtA[:n], nil
  864. }
  865. func (m *RaftMember) MarshalTo(dAtA []byte) (int, error) {
  866. var i int
  867. _ = i
  868. var l int
  869. _ = l
  870. if m.RaftID != 0 {
  871. dAtA[i] = 0x8
  872. i++
  873. i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
  874. }
  875. if len(m.NodeID) > 0 {
  876. dAtA[i] = 0x12
  877. i++
  878. i = encodeVarintRaft(dAtA, i, uint64(len(m.NodeID)))
  879. i += copy(dAtA[i:], m.NodeID)
  880. }
  881. if len(m.Addr) > 0 {
  882. dAtA[i] = 0x1a
  883. i++
  884. i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
  885. i += copy(dAtA[i:], m.Addr)
  886. }
  887. dAtA[i] = 0x22
  888. i++
  889. i = encodeVarintRaft(dAtA, i, uint64(m.Status.Size()))
  890. n1, err := m.Status.MarshalTo(dAtA[i:])
  891. if err != nil {
  892. return 0, err
  893. }
  894. i += n1
  895. return i, nil
  896. }
  897. func (m *JoinRequest) Marshal() (dAtA []byte, err error) {
  898. size := m.Size()
  899. dAtA = make([]byte, size)
  900. n, err := m.MarshalTo(dAtA)
  901. if err != nil {
  902. return nil, err
  903. }
  904. return dAtA[:n], nil
  905. }
  906. func (m *JoinRequest) MarshalTo(dAtA []byte) (int, error) {
  907. var i int
  908. _ = i
  909. var l int
  910. _ = l
  911. if len(m.Addr) > 0 {
  912. dAtA[i] = 0xa
  913. i++
  914. i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
  915. i += copy(dAtA[i:], m.Addr)
  916. }
  917. return i, nil
  918. }
  919. func (m *JoinResponse) Marshal() (dAtA []byte, err error) {
  920. size := m.Size()
  921. dAtA = make([]byte, size)
  922. n, err := m.MarshalTo(dAtA)
  923. if err != nil {
  924. return nil, err
  925. }
  926. return dAtA[:n], nil
  927. }
  928. func (m *JoinResponse) MarshalTo(dAtA []byte) (int, error) {
  929. var i int
  930. _ = i
  931. var l int
  932. _ = l
  933. if m.RaftID != 0 {
  934. dAtA[i] = 0x8
  935. i++
  936. i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
  937. }
  938. if len(m.Members) > 0 {
  939. for _, msg := range m.Members {
  940. dAtA[i] = 0x12
  941. i++
  942. i = encodeVarintRaft(dAtA, i, uint64(msg.Size()))
  943. n, err := msg.MarshalTo(dAtA[i:])
  944. if err != nil {
  945. return 0, err
  946. }
  947. i += n
  948. }
  949. }
  950. if len(m.RemovedMembers) > 0 {
  951. dAtA3 := make([]byte, len(m.RemovedMembers)*10)
  952. var j2 int
  953. for _, num := range m.RemovedMembers {
  954. for num >= 1<<7 {
  955. dAtA3[j2] = uint8(uint64(num)&0x7f | 0x80)
  956. num >>= 7
  957. j2++
  958. }
  959. dAtA3[j2] = uint8(num)
  960. j2++
  961. }
  962. dAtA[i] = 0x1a
  963. i++
  964. i = encodeVarintRaft(dAtA, i, uint64(j2))
  965. i += copy(dAtA[i:], dAtA3[:j2])
  966. }
  967. return i, nil
  968. }
  969. func (m *LeaveRequest) Marshal() (dAtA []byte, err error) {
  970. size := m.Size()
  971. dAtA = make([]byte, size)
  972. n, err := m.MarshalTo(dAtA)
  973. if err != nil {
  974. return nil, err
  975. }
  976. return dAtA[:n], nil
  977. }
  978. func (m *LeaveRequest) MarshalTo(dAtA []byte) (int, error) {
  979. var i int
  980. _ = i
  981. var l int
  982. _ = l
  983. if m.Node != nil {
  984. dAtA[i] = 0xa
  985. i++
  986. i = encodeVarintRaft(dAtA, i, uint64(m.Node.Size()))
  987. n4, err := m.Node.MarshalTo(dAtA[i:])
  988. if err != nil {
  989. return 0, err
  990. }
  991. i += n4
  992. }
  993. return i, nil
  994. }
  995. func (m *LeaveResponse) Marshal() (dAtA []byte, err error) {
  996. size := m.Size()
  997. dAtA = make([]byte, size)
  998. n, err := m.MarshalTo(dAtA)
  999. if err != nil {
  1000. return nil, err
  1001. }
  1002. return dAtA[:n], nil
  1003. }
  1004. func (m *LeaveResponse) MarshalTo(dAtA []byte) (int, error) {
  1005. var i int
  1006. _ = i
  1007. var l int
  1008. _ = l
  1009. return i, nil
  1010. }
  1011. func (m *ProcessRaftMessageRequest) Marshal() (dAtA []byte, err error) {
  1012. size := m.Size()
  1013. dAtA = make([]byte, size)
  1014. n, err := m.MarshalTo(dAtA)
  1015. if err != nil {
  1016. return nil, err
  1017. }
  1018. return dAtA[:n], nil
  1019. }
  1020. func (m *ProcessRaftMessageRequest) MarshalTo(dAtA []byte) (int, error) {
  1021. var i int
  1022. _ = i
  1023. var l int
  1024. _ = l
  1025. if m.Message != nil {
  1026. dAtA[i] = 0xa
  1027. i++
  1028. i = encodeVarintRaft(dAtA, i, uint64(m.Message.Size()))
  1029. n5, err := m.Message.MarshalTo(dAtA[i:])
  1030. if err != nil {
  1031. return 0, err
  1032. }
  1033. i += n5
  1034. }
  1035. return i, nil
  1036. }
  1037. func (m *ProcessRaftMessageResponse) Marshal() (dAtA []byte, err error) {
  1038. size := m.Size()
  1039. dAtA = make([]byte, size)
  1040. n, err := m.MarshalTo(dAtA)
  1041. if err != nil {
  1042. return nil, err
  1043. }
  1044. return dAtA[:n], nil
  1045. }
  1046. func (m *ProcessRaftMessageResponse) MarshalTo(dAtA []byte) (int, error) {
  1047. var i int
  1048. _ = i
  1049. var l int
  1050. _ = l
  1051. return i, nil
  1052. }
  1053. func (m *ResolveAddressRequest) Marshal() (dAtA []byte, err error) {
  1054. size := m.Size()
  1055. dAtA = make([]byte, size)
  1056. n, err := m.MarshalTo(dAtA)
  1057. if err != nil {
  1058. return nil, err
  1059. }
  1060. return dAtA[:n], nil
  1061. }
  1062. func (m *ResolveAddressRequest) MarshalTo(dAtA []byte) (int, error) {
  1063. var i int
  1064. _ = i
  1065. var l int
  1066. _ = l
  1067. if m.RaftID != 0 {
  1068. dAtA[i] = 0x8
  1069. i++
  1070. i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
  1071. }
  1072. return i, nil
  1073. }
  1074. func (m *ResolveAddressResponse) Marshal() (dAtA []byte, err error) {
  1075. size := m.Size()
  1076. dAtA = make([]byte, size)
  1077. n, err := m.MarshalTo(dAtA)
  1078. if err != nil {
  1079. return nil, err
  1080. }
  1081. return dAtA[:n], nil
  1082. }
  1083. func (m *ResolveAddressResponse) MarshalTo(dAtA []byte) (int, error) {
  1084. var i int
  1085. _ = i
  1086. var l int
  1087. _ = l
  1088. if len(m.Addr) > 0 {
  1089. dAtA[i] = 0xa
  1090. i++
  1091. i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
  1092. i += copy(dAtA[i:], m.Addr)
  1093. }
  1094. return i, nil
  1095. }
  1096. func (m *InternalRaftRequest) Marshal() (dAtA []byte, err error) {
  1097. size := m.Size()
  1098. dAtA = make([]byte, size)
  1099. n, err := m.MarshalTo(dAtA)
  1100. if err != nil {
  1101. return nil, err
  1102. }
  1103. return dAtA[:n], nil
  1104. }
  1105. func (m *InternalRaftRequest) MarshalTo(dAtA []byte) (int, error) {
  1106. var i int
  1107. _ = i
  1108. var l int
  1109. _ = l
  1110. if m.ID != 0 {
  1111. dAtA[i] = 0x8
  1112. i++
  1113. i = encodeVarintRaft(dAtA, i, uint64(m.ID))
  1114. }
  1115. if len(m.Action) > 0 {
  1116. for _, msg := range m.Action {
  1117. dAtA[i] = 0x12
  1118. i++
  1119. i = encodeVarintRaft(dAtA, i, uint64(msg.Size()))
  1120. n, err := msg.MarshalTo(dAtA[i:])
  1121. if err != nil {
  1122. return 0, err
  1123. }
  1124. i += n
  1125. }
  1126. }
  1127. return i, nil
  1128. }
  1129. func (m *StoreAction) Marshal() (dAtA []byte, err error) {
  1130. size := m.Size()
  1131. dAtA = make([]byte, size)
  1132. n, err := m.MarshalTo(dAtA)
  1133. if err != nil {
  1134. return nil, err
  1135. }
  1136. return dAtA[:n], nil
  1137. }
  1138. func (m *StoreAction) MarshalTo(dAtA []byte) (int, error) {
  1139. var i int
  1140. _ = i
  1141. var l int
  1142. _ = l
  1143. if m.Action != 0 {
  1144. dAtA[i] = 0x8
  1145. i++
  1146. i = encodeVarintRaft(dAtA, i, uint64(m.Action))
  1147. }
  1148. if m.Target != nil {
  1149. nn6, err := m.Target.MarshalTo(dAtA[i:])
  1150. if err != nil {
  1151. return 0, err
  1152. }
  1153. i += nn6
  1154. }
  1155. return i, nil
  1156. }
  1157. func (m *StoreAction_Node) MarshalTo(dAtA []byte) (int, error) {
  1158. i := 0
  1159. if m.Node != nil {
  1160. dAtA[i] = 0x12
  1161. i++
  1162. i = encodeVarintRaft(dAtA, i, uint64(m.Node.Size()))
  1163. n7, err := m.Node.MarshalTo(dAtA[i:])
  1164. if err != nil {
  1165. return 0, err
  1166. }
  1167. i += n7
  1168. }
  1169. return i, nil
  1170. }
  1171. func (m *StoreAction_Service) MarshalTo(dAtA []byte) (int, error) {
  1172. i := 0
  1173. if m.Service != nil {
  1174. dAtA[i] = 0x1a
  1175. i++
  1176. i = encodeVarintRaft(dAtA, i, uint64(m.Service.Size()))
  1177. n8, err := m.Service.MarshalTo(dAtA[i:])
  1178. if err != nil {
  1179. return 0, err
  1180. }
  1181. i += n8
  1182. }
  1183. return i, nil
  1184. }
  1185. func (m *StoreAction_Task) MarshalTo(dAtA []byte) (int, error) {
  1186. i := 0
  1187. if m.Task != nil {
  1188. dAtA[i] = 0x22
  1189. i++
  1190. i = encodeVarintRaft(dAtA, i, uint64(m.Task.Size()))
  1191. n9, err := m.Task.MarshalTo(dAtA[i:])
  1192. if err != nil {
  1193. return 0, err
  1194. }
  1195. i += n9
  1196. }
  1197. return i, nil
  1198. }
  1199. func (m *StoreAction_Network) MarshalTo(dAtA []byte) (int, error) {
  1200. i := 0
  1201. if m.Network != nil {
  1202. dAtA[i] = 0x2a
  1203. i++
  1204. i = encodeVarintRaft(dAtA, i, uint64(m.Network.Size()))
  1205. n10, err := m.Network.MarshalTo(dAtA[i:])
  1206. if err != nil {
  1207. return 0, err
  1208. }
  1209. i += n10
  1210. }
  1211. return i, nil
  1212. }
  1213. func (m *StoreAction_Cluster) MarshalTo(dAtA []byte) (int, error) {
  1214. i := 0
  1215. if m.Cluster != nil {
  1216. dAtA[i] = 0x32
  1217. i++
  1218. i = encodeVarintRaft(dAtA, i, uint64(m.Cluster.Size()))
  1219. n11, err := m.Cluster.MarshalTo(dAtA[i:])
  1220. if err != nil {
  1221. return 0, err
  1222. }
  1223. i += n11
  1224. }
  1225. return i, nil
  1226. }
  1227. func (m *StoreAction_Secret) MarshalTo(dAtA []byte) (int, error) {
  1228. i := 0
  1229. if m.Secret != nil {
  1230. dAtA[i] = 0x3a
  1231. i++
  1232. i = encodeVarintRaft(dAtA, i, uint64(m.Secret.Size()))
  1233. n12, err := m.Secret.MarshalTo(dAtA[i:])
  1234. if err != nil {
  1235. return 0, err
  1236. }
  1237. i += n12
  1238. }
  1239. return i, nil
  1240. }
  1241. func (m *StoreAction_Resource) MarshalTo(dAtA []byte) (int, error) {
  1242. i := 0
  1243. if m.Resource != nil {
  1244. dAtA[i] = 0x42
  1245. i++
  1246. i = encodeVarintRaft(dAtA, i, uint64(m.Resource.Size()))
  1247. n13, err := m.Resource.MarshalTo(dAtA[i:])
  1248. if err != nil {
  1249. return 0, err
  1250. }
  1251. i += n13
  1252. }
  1253. return i, nil
  1254. }
  1255. func (m *StoreAction_Extension) MarshalTo(dAtA []byte) (int, error) {
  1256. i := 0
  1257. if m.Extension != nil {
  1258. dAtA[i] = 0x4a
  1259. i++
  1260. i = encodeVarintRaft(dAtA, i, uint64(m.Extension.Size()))
  1261. n14, err := m.Extension.MarshalTo(dAtA[i:])
  1262. if err != nil {
  1263. return 0, err
  1264. }
  1265. i += n14
  1266. }
  1267. return i, nil
  1268. }
  1269. func encodeFixed64Raft(dAtA []byte, offset int, v uint64) int {
  1270. dAtA[offset] = uint8(v)
  1271. dAtA[offset+1] = uint8(v >> 8)
  1272. dAtA[offset+2] = uint8(v >> 16)
  1273. dAtA[offset+3] = uint8(v >> 24)
  1274. dAtA[offset+4] = uint8(v >> 32)
  1275. dAtA[offset+5] = uint8(v >> 40)
  1276. dAtA[offset+6] = uint8(v >> 48)
  1277. dAtA[offset+7] = uint8(v >> 56)
  1278. return offset + 8
  1279. }
  1280. func encodeFixed32Raft(dAtA []byte, offset int, v uint32) int {
  1281. dAtA[offset] = uint8(v)
  1282. dAtA[offset+1] = uint8(v >> 8)
  1283. dAtA[offset+2] = uint8(v >> 16)
  1284. dAtA[offset+3] = uint8(v >> 24)
  1285. return offset + 4
  1286. }
  1287. func encodeVarintRaft(dAtA []byte, offset int, v uint64) int {
  1288. for v >= 1<<7 {
  1289. dAtA[offset] = uint8(v&0x7f | 0x80)
  1290. v >>= 7
  1291. offset++
  1292. }
  1293. dAtA[offset] = uint8(v)
  1294. return offset + 1
  1295. }
  1296. type raftProxyRaftServer struct {
  1297. local RaftServer
  1298. connSelector raftselector.ConnProvider
  1299. localCtxMods, remoteCtxMods []func(context.Context) (context.Context, error)
  1300. }
  1301. func NewRaftProxyRaftServer(local RaftServer, connSelector raftselector.ConnProvider, localCtxMod, remoteCtxMod func(context.Context) (context.Context, error)) RaftServer {
  1302. redirectChecker := func(ctx context.Context) (context.Context, error) {
  1303. s, ok := transport.StreamFromContext(ctx)
  1304. if !ok {
  1305. return ctx, grpc.Errorf(codes.InvalidArgument, "remote addr is not found in context")
  1306. }
  1307. addr := s.ServerTransport().RemoteAddr().String()
  1308. md, ok := metadata.FromContext(ctx)
  1309. if ok && len(md["redirect"]) != 0 {
  1310. return ctx, grpc.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
  1311. }
  1312. if !ok {
  1313. md = metadata.New(map[string]string{})
  1314. }
  1315. md["redirect"] = append(md["redirect"], addr)
  1316. return metadata.NewContext(ctx, md), nil
  1317. }
  1318. remoteMods := []func(context.Context) (context.Context, error){redirectChecker}
  1319. remoteMods = append(remoteMods, remoteCtxMod)
  1320. var localMods []func(context.Context) (context.Context, error)
  1321. if localCtxMod != nil {
  1322. localMods = []func(context.Context) (context.Context, error){localCtxMod}
  1323. }
  1324. return &raftProxyRaftServer{
  1325. local: local,
  1326. connSelector: connSelector,
  1327. localCtxMods: localMods,
  1328. remoteCtxMods: remoteMods,
  1329. }
  1330. }
  1331. func (p *raftProxyRaftServer) runCtxMods(ctx context.Context, ctxMods []func(context.Context) (context.Context, error)) (context.Context, error) {
  1332. var err error
  1333. for _, mod := range ctxMods {
  1334. ctx, err = mod(ctx)
  1335. if err != nil {
  1336. return ctx, err
  1337. }
  1338. }
  1339. return ctx, nil
  1340. }
  1341. func (p *raftProxyRaftServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
  1342. ticker := rafttime.NewTicker(500 * rafttime.Millisecond)
  1343. defer ticker.Stop()
  1344. for {
  1345. select {
  1346. case <-ticker.C:
  1347. conn, err := p.connSelector.LeaderConn(ctx)
  1348. if err != nil {
  1349. return nil, err
  1350. }
  1351. client := NewHealthClient(conn)
  1352. resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
  1353. if err != nil || resp.Status != HealthCheckResponse_SERVING {
  1354. continue
  1355. }
  1356. return conn, nil
  1357. case <-ctx.Done():
  1358. return nil, ctx.Err()
  1359. }
  1360. }
  1361. }
  1362. func (p *raftProxyRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
  1363. conn, err := p.connSelector.LeaderConn(ctx)
  1364. if err != nil {
  1365. if err == raftselector.ErrIsLeader {
  1366. ctx, err = p.runCtxMods(ctx, p.localCtxMods)
  1367. if err != nil {
  1368. return nil, err
  1369. }
  1370. return p.local.ProcessRaftMessage(ctx, r)
  1371. }
  1372. return nil, err
  1373. }
  1374. modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
  1375. if err != nil {
  1376. return nil, err
  1377. }
  1378. resp, err := NewRaftClient(conn).ProcessRaftMessage(modCtx, r)
  1379. if err != nil {
  1380. if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
  1381. return resp, err
  1382. }
  1383. conn, err := p.pollNewLeaderConn(ctx)
  1384. if err != nil {
  1385. if err == raftselector.ErrIsLeader {
  1386. return p.local.ProcessRaftMessage(ctx, r)
  1387. }
  1388. return nil, err
  1389. }
  1390. return NewRaftClient(conn).ProcessRaftMessage(modCtx, r)
  1391. }
  1392. return resp, err
  1393. }
  1394. func (p *raftProxyRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
  1395. conn, err := p.connSelector.LeaderConn(ctx)
  1396. if err != nil {
  1397. if err == raftselector.ErrIsLeader {
  1398. ctx, err = p.runCtxMods(ctx, p.localCtxMods)
  1399. if err != nil {
  1400. return nil, err
  1401. }
  1402. return p.local.ResolveAddress(ctx, r)
  1403. }
  1404. return nil, err
  1405. }
  1406. modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
  1407. if err != nil {
  1408. return nil, err
  1409. }
  1410. resp, err := NewRaftClient(conn).ResolveAddress(modCtx, r)
  1411. if err != nil {
  1412. if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
  1413. return resp, err
  1414. }
  1415. conn, err := p.pollNewLeaderConn(ctx)
  1416. if err != nil {
  1417. if err == raftselector.ErrIsLeader {
  1418. return p.local.ResolveAddress(ctx, r)
  1419. }
  1420. return nil, err
  1421. }
  1422. return NewRaftClient(conn).ResolveAddress(modCtx, r)
  1423. }
  1424. return resp, err
  1425. }
  1426. type raftProxyRaftMembershipServer struct {
  1427. local RaftMembershipServer
  1428. connSelector raftselector.ConnProvider
  1429. localCtxMods, remoteCtxMods []func(context.Context) (context.Context, error)
  1430. }
  1431. func NewRaftProxyRaftMembershipServer(local RaftMembershipServer, connSelector raftselector.ConnProvider, localCtxMod, remoteCtxMod func(context.Context) (context.Context, error)) RaftMembershipServer {
  1432. redirectChecker := func(ctx context.Context) (context.Context, error) {
  1433. s, ok := transport.StreamFromContext(ctx)
  1434. if !ok {
  1435. return ctx, grpc.Errorf(codes.InvalidArgument, "remote addr is not found in context")
  1436. }
  1437. addr := s.ServerTransport().RemoteAddr().String()
  1438. md, ok := metadata.FromContext(ctx)
  1439. if ok && len(md["redirect"]) != 0 {
  1440. return ctx, grpc.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
  1441. }
  1442. if !ok {
  1443. md = metadata.New(map[string]string{})
  1444. }
  1445. md["redirect"] = append(md["redirect"], addr)
  1446. return metadata.NewContext(ctx, md), nil
  1447. }
  1448. remoteMods := []func(context.Context) (context.Context, error){redirectChecker}
  1449. remoteMods = append(remoteMods, remoteCtxMod)
  1450. var localMods []func(context.Context) (context.Context, error)
  1451. if localCtxMod != nil {
  1452. localMods = []func(context.Context) (context.Context, error){localCtxMod}
  1453. }
  1454. return &raftProxyRaftMembershipServer{
  1455. local: local,
  1456. connSelector: connSelector,
  1457. localCtxMods: localMods,
  1458. remoteCtxMods: remoteMods,
  1459. }
  1460. }
  1461. func (p *raftProxyRaftMembershipServer) runCtxMods(ctx context.Context, ctxMods []func(context.Context) (context.Context, error)) (context.Context, error) {
  1462. var err error
  1463. for _, mod := range ctxMods {
  1464. ctx, err = mod(ctx)
  1465. if err != nil {
  1466. return ctx, err
  1467. }
  1468. }
  1469. return ctx, nil
  1470. }
  1471. func (p *raftProxyRaftMembershipServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
  1472. ticker := rafttime.NewTicker(500 * rafttime.Millisecond)
  1473. defer ticker.Stop()
  1474. for {
  1475. select {
  1476. case <-ticker.C:
  1477. conn, err := p.connSelector.LeaderConn(ctx)
  1478. if err != nil {
  1479. return nil, err
  1480. }
  1481. client := NewHealthClient(conn)
  1482. resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
  1483. if err != nil || resp.Status != HealthCheckResponse_SERVING {
  1484. continue
  1485. }
  1486. return conn, nil
  1487. case <-ctx.Done():
  1488. return nil, ctx.Err()
  1489. }
  1490. }
  1491. }
  1492. func (p *raftProxyRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
  1493. conn, err := p.connSelector.LeaderConn(ctx)
  1494. if err != nil {
  1495. if err == raftselector.ErrIsLeader {
  1496. ctx, err = p.runCtxMods(ctx, p.localCtxMods)
  1497. if err != nil {
  1498. return nil, err
  1499. }
  1500. return p.local.Join(ctx, r)
  1501. }
  1502. return nil, err
  1503. }
  1504. modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
  1505. if err != nil {
  1506. return nil, err
  1507. }
  1508. resp, err := NewRaftMembershipClient(conn).Join(modCtx, r)
  1509. if err != nil {
  1510. if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
  1511. return resp, err
  1512. }
  1513. conn, err := p.pollNewLeaderConn(ctx)
  1514. if err != nil {
  1515. if err == raftselector.ErrIsLeader {
  1516. return p.local.Join(ctx, r)
  1517. }
  1518. return nil, err
  1519. }
  1520. return NewRaftMembershipClient(conn).Join(modCtx, r)
  1521. }
  1522. return resp, err
  1523. }
  1524. func (p *raftProxyRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
  1525. conn, err := p.connSelector.LeaderConn(ctx)
  1526. if err != nil {
  1527. if err == raftselector.ErrIsLeader {
  1528. ctx, err = p.runCtxMods(ctx, p.localCtxMods)
  1529. if err != nil {
  1530. return nil, err
  1531. }
  1532. return p.local.Leave(ctx, r)
  1533. }
  1534. return nil, err
  1535. }
  1536. modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
  1537. if err != nil {
  1538. return nil, err
  1539. }
  1540. resp, err := NewRaftMembershipClient(conn).Leave(modCtx, r)
  1541. if err != nil {
  1542. if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
  1543. return resp, err
  1544. }
  1545. conn, err := p.pollNewLeaderConn(ctx)
  1546. if err != nil {
  1547. if err == raftselector.ErrIsLeader {
  1548. return p.local.Leave(ctx, r)
  1549. }
  1550. return nil, err
  1551. }
  1552. return NewRaftMembershipClient(conn).Leave(modCtx, r)
  1553. }
  1554. return resp, err
  1555. }
  1556. func (m *RaftMember) Size() (n int) {
  1557. var l int
  1558. _ = l
  1559. if m.RaftID != 0 {
  1560. n += 1 + sovRaft(uint64(m.RaftID))
  1561. }
  1562. l = len(m.NodeID)
  1563. if l > 0 {
  1564. n += 1 + l + sovRaft(uint64(l))
  1565. }
  1566. l = len(m.Addr)
  1567. if l > 0 {
  1568. n += 1 + l + sovRaft(uint64(l))
  1569. }
  1570. l = m.Status.Size()
  1571. n += 1 + l + sovRaft(uint64(l))
  1572. return n
  1573. }
  1574. func (m *JoinRequest) Size() (n int) {
  1575. var l int
  1576. _ = l
  1577. l = len(m.Addr)
  1578. if l > 0 {
  1579. n += 1 + l + sovRaft(uint64(l))
  1580. }
  1581. return n
  1582. }
  1583. func (m *JoinResponse) Size() (n int) {
  1584. var l int
  1585. _ = l
  1586. if m.RaftID != 0 {
  1587. n += 1 + sovRaft(uint64(m.RaftID))
  1588. }
  1589. if len(m.Members) > 0 {
  1590. for _, e := range m.Members {
  1591. l = e.Size()
  1592. n += 1 + l + sovRaft(uint64(l))
  1593. }
  1594. }
  1595. if len(m.RemovedMembers) > 0 {
  1596. l = 0
  1597. for _, e := range m.RemovedMembers {
  1598. l += sovRaft(uint64(e))
  1599. }
  1600. n += 1 + sovRaft(uint64(l)) + l
  1601. }
  1602. return n
  1603. }
  1604. func (m *LeaveRequest) Size() (n int) {
  1605. var l int
  1606. _ = l
  1607. if m.Node != nil {
  1608. l = m.Node.Size()
  1609. n += 1 + l + sovRaft(uint64(l))
  1610. }
  1611. return n
  1612. }
  1613. func (m *LeaveResponse) Size() (n int) {
  1614. var l int
  1615. _ = l
  1616. return n
  1617. }
  1618. func (m *ProcessRaftMessageRequest) Size() (n int) {
  1619. var l int
  1620. _ = l
  1621. if m.Message != nil {
  1622. l = m.Message.Size()
  1623. n += 1 + l + sovRaft(uint64(l))
  1624. }
  1625. return n
  1626. }
  1627. func (m *ProcessRaftMessageResponse) Size() (n int) {
  1628. var l int
  1629. _ = l
  1630. return n
  1631. }
  1632. func (m *ResolveAddressRequest) Size() (n int) {
  1633. var l int
  1634. _ = l
  1635. if m.RaftID != 0 {
  1636. n += 1 + sovRaft(uint64(m.RaftID))
  1637. }
  1638. return n
  1639. }
  1640. func (m *ResolveAddressResponse) Size() (n int) {
  1641. var l int
  1642. _ = l
  1643. l = len(m.Addr)
  1644. if l > 0 {
  1645. n += 1 + l + sovRaft(uint64(l))
  1646. }
  1647. return n
  1648. }
  1649. func (m *InternalRaftRequest) Size() (n int) {
  1650. var l int
  1651. _ = l
  1652. if m.ID != 0 {
  1653. n += 1 + sovRaft(uint64(m.ID))
  1654. }
  1655. if len(m.Action) > 0 {
  1656. for _, e := range m.Action {
  1657. l = e.Size()
  1658. n += 1 + l + sovRaft(uint64(l))
  1659. }
  1660. }
  1661. return n
  1662. }
  1663. func (m *StoreAction) Size() (n int) {
  1664. var l int
  1665. _ = l
  1666. if m.Action != 0 {
  1667. n += 1 + sovRaft(uint64(m.Action))
  1668. }
  1669. if m.Target != nil {
  1670. n += m.Target.Size()
  1671. }
  1672. return n
  1673. }
  1674. func (m *StoreAction_Node) Size() (n int) {
  1675. var l int
  1676. _ = l
  1677. if m.Node != nil {
  1678. l = m.Node.Size()
  1679. n += 1 + l + sovRaft(uint64(l))
  1680. }
  1681. return n
  1682. }
  1683. func (m *StoreAction_Service) Size() (n int) {
  1684. var l int
  1685. _ = l
  1686. if m.Service != nil {
  1687. l = m.Service.Size()
  1688. n += 1 + l + sovRaft(uint64(l))
  1689. }
  1690. return n
  1691. }
  1692. func (m *StoreAction_Task) Size() (n int) {
  1693. var l int
  1694. _ = l
  1695. if m.Task != nil {
  1696. l = m.Task.Size()
  1697. n += 1 + l + sovRaft(uint64(l))
  1698. }
  1699. return n
  1700. }
  1701. func (m *StoreAction_Network) Size() (n int) {
  1702. var l int
  1703. _ = l
  1704. if m.Network != nil {
  1705. l = m.Network.Size()
  1706. n += 1 + l + sovRaft(uint64(l))
  1707. }
  1708. return n
  1709. }
  1710. func (m *StoreAction_Cluster) Size() (n int) {
  1711. var l int
  1712. _ = l
  1713. if m.Cluster != nil {
  1714. l = m.Cluster.Size()
  1715. n += 1 + l + sovRaft(uint64(l))
  1716. }
  1717. return n
  1718. }
  1719. func (m *StoreAction_Secret) Size() (n int) {
  1720. var l int
  1721. _ = l
  1722. if m.Secret != nil {
  1723. l = m.Secret.Size()
  1724. n += 1 + l + sovRaft(uint64(l))
  1725. }
  1726. return n
  1727. }
  1728. func (m *StoreAction_Resource) Size() (n int) {
  1729. var l int
  1730. _ = l
  1731. if m.Resource != nil {
  1732. l = m.Resource.Size()
  1733. n += 1 + l + sovRaft(uint64(l))
  1734. }
  1735. return n
  1736. }
  1737. func (m *StoreAction_Extension) Size() (n int) {
  1738. var l int
  1739. _ = l
  1740. if m.Extension != nil {
  1741. l = m.Extension.Size()
  1742. n += 1 + l + sovRaft(uint64(l))
  1743. }
  1744. return n
  1745. }
  1746. func sovRaft(x uint64) (n int) {
  1747. for {
  1748. n++
  1749. x >>= 7
  1750. if x == 0 {
  1751. break
  1752. }
  1753. }
  1754. return n
  1755. }
  1756. func sozRaft(x uint64) (n int) {
  1757. return sovRaft(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1758. }
  1759. func (this *RaftMember) String() string {
  1760. if this == nil {
  1761. return "nil"
  1762. }
  1763. s := strings.Join([]string{`&RaftMember{`,
  1764. `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
  1765. `NodeID:` + fmt.Sprintf("%v", this.NodeID) + `,`,
  1766. `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
  1767. `Status:` + strings.Replace(strings.Replace(this.Status.String(), "RaftMemberStatus", "RaftMemberStatus", 1), `&`, ``, 1) + `,`,
  1768. `}`,
  1769. }, "")
  1770. return s
  1771. }
  1772. func (this *JoinRequest) String() string {
  1773. if this == nil {
  1774. return "nil"
  1775. }
  1776. s := strings.Join([]string{`&JoinRequest{`,
  1777. `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
  1778. `}`,
  1779. }, "")
  1780. return s
  1781. }
  1782. func (this *JoinResponse) String() string {
  1783. if this == nil {
  1784. return "nil"
  1785. }
  1786. s := strings.Join([]string{`&JoinResponse{`,
  1787. `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
  1788. `Members:` + strings.Replace(fmt.Sprintf("%v", this.Members), "RaftMember", "RaftMember", 1) + `,`,
  1789. `RemovedMembers:` + fmt.Sprintf("%v", this.RemovedMembers) + `,`,
  1790. `}`,
  1791. }, "")
  1792. return s
  1793. }
  1794. func (this *LeaveRequest) String() string {
  1795. if this == nil {
  1796. return "nil"
  1797. }
  1798. s := strings.Join([]string{`&LeaveRequest{`,
  1799. `Node:` + strings.Replace(fmt.Sprintf("%v", this.Node), "RaftMember", "RaftMember", 1) + `,`,
  1800. `}`,
  1801. }, "")
  1802. return s
  1803. }
  1804. func (this *LeaveResponse) String() string {
  1805. if this == nil {
  1806. return "nil"
  1807. }
  1808. s := strings.Join([]string{`&LeaveResponse{`,
  1809. `}`,
  1810. }, "")
  1811. return s
  1812. }
  1813. func (this *ProcessRaftMessageRequest) String() string {
  1814. if this == nil {
  1815. return "nil"
  1816. }
  1817. s := strings.Join([]string{`&ProcessRaftMessageRequest{`,
  1818. `Message:` + strings.Replace(fmt.Sprintf("%v", this.Message), "Message", "raftpb.Message", 1) + `,`,
  1819. `}`,
  1820. }, "")
  1821. return s
  1822. }
  1823. func (this *ProcessRaftMessageResponse) String() string {
  1824. if this == nil {
  1825. return "nil"
  1826. }
  1827. s := strings.Join([]string{`&ProcessRaftMessageResponse{`,
  1828. `}`,
  1829. }, "")
  1830. return s
  1831. }
  1832. func (this *ResolveAddressRequest) String() string {
  1833. if this == nil {
  1834. return "nil"
  1835. }
  1836. s := strings.Join([]string{`&ResolveAddressRequest{`,
  1837. `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
  1838. `}`,
  1839. }, "")
  1840. return s
  1841. }
  1842. func (this *ResolveAddressResponse) String() string {
  1843. if this == nil {
  1844. return "nil"
  1845. }
  1846. s := strings.Join([]string{`&ResolveAddressResponse{`,
  1847. `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
  1848. `}`,
  1849. }, "")
  1850. return s
  1851. }
  1852. func (this *InternalRaftRequest) String() string {
  1853. if this == nil {
  1854. return "nil"
  1855. }
  1856. s := strings.Join([]string{`&InternalRaftRequest{`,
  1857. `ID:` + fmt.Sprintf("%v", this.ID) + `,`,
  1858. `Action:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Action), "StoreAction", "StoreAction", 1), `&`, ``, 1) + `,`,
  1859. `}`,
  1860. }, "")
  1861. return s
  1862. }
  1863. func (this *StoreAction) String() string {
  1864. if this == nil {
  1865. return "nil"
  1866. }
  1867. s := strings.Join([]string{`&StoreAction{`,
  1868. `Action:` + fmt.Sprintf("%v", this.Action) + `,`,
  1869. `Target:` + fmt.Sprintf("%v", this.Target) + `,`,
  1870. `}`,
  1871. }, "")
  1872. return s
  1873. }
  1874. func (this *StoreAction_Node) String() string {
  1875. if this == nil {
  1876. return "nil"
  1877. }
  1878. s := strings.Join([]string{`&StoreAction_Node{`,
  1879. `Node:` + strings.Replace(fmt.Sprintf("%v", this.Node), "Node", "Node", 1) + `,`,
  1880. `}`,
  1881. }, "")
  1882. return s
  1883. }
  1884. func (this *StoreAction_Service) String() string {
  1885. if this == nil {
  1886. return "nil"
  1887. }
  1888. s := strings.Join([]string{`&StoreAction_Service{`,
  1889. `Service:` + strings.Replace(fmt.Sprintf("%v", this.Service), "Service", "Service", 1) + `,`,
  1890. `}`,
  1891. }, "")
  1892. return s
  1893. }
  1894. func (this *StoreAction_Task) String() string {
  1895. if this == nil {
  1896. return "nil"
  1897. }
  1898. s := strings.Join([]string{`&StoreAction_Task{`,
  1899. `Task:` + strings.Replace(fmt.Sprintf("%v", this.Task), "Task", "Task", 1) + `,`,
  1900. `}`,
  1901. }, "")
  1902. return s
  1903. }
  1904. func (this *StoreAction_Network) String() string {
  1905. if this == nil {
  1906. return "nil"
  1907. }
  1908. s := strings.Join([]string{`&StoreAction_Network{`,
  1909. `Network:` + strings.Replace(fmt.Sprintf("%v", this.Network), "Network", "Network", 1) + `,`,
  1910. `}`,
  1911. }, "")
  1912. return s
  1913. }
  1914. func (this *StoreAction_Cluster) String() string {
  1915. if this == nil {
  1916. return "nil"
  1917. }
  1918. s := strings.Join([]string{`&StoreAction_Cluster{`,
  1919. `Cluster:` + strings.Replace(fmt.Sprintf("%v", this.Cluster), "Cluster", "Cluster", 1) + `,`,
  1920. `}`,
  1921. }, "")
  1922. return s
  1923. }
  1924. func (this *StoreAction_Secret) String() string {
  1925. if this == nil {
  1926. return "nil"
  1927. }
  1928. s := strings.Join([]string{`&StoreAction_Secret{`,
  1929. `Secret:` + strings.Replace(fmt.Sprintf("%v", this.Secret), "Secret", "Secret", 1) + `,`,
  1930. `}`,
  1931. }, "")
  1932. return s
  1933. }
  1934. func (this *StoreAction_Resource) String() string {
  1935. if this == nil {
  1936. return "nil"
  1937. }
  1938. s := strings.Join([]string{`&StoreAction_Resource{`,
  1939. `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "Resource", "Resource", 1) + `,`,
  1940. `}`,
  1941. }, "")
  1942. return s
  1943. }
  1944. func (this *StoreAction_Extension) String() string {
  1945. if this == nil {
  1946. return "nil"
  1947. }
  1948. s := strings.Join([]string{`&StoreAction_Extension{`,
  1949. `Extension:` + strings.Replace(fmt.Sprintf("%v", this.Extension), "Extension", "Extension", 1) + `,`,
  1950. `}`,
  1951. }, "")
  1952. return s
  1953. }
  1954. func valueToStringRaft(v interface{}) string {
  1955. rv := reflect.ValueOf(v)
  1956. if rv.IsNil() {
  1957. return "nil"
  1958. }
  1959. pv := reflect.Indirect(rv).Interface()
  1960. return fmt.Sprintf("*%v", pv)
  1961. }
  1962. func (m *RaftMember) Unmarshal(dAtA []byte) error {
  1963. l := len(dAtA)
  1964. iNdEx := 0
  1965. for iNdEx < l {
  1966. preIndex := iNdEx
  1967. var wire uint64
  1968. for shift := uint(0); ; shift += 7 {
  1969. if shift >= 64 {
  1970. return ErrIntOverflowRaft
  1971. }
  1972. if iNdEx >= l {
  1973. return io.ErrUnexpectedEOF
  1974. }
  1975. b := dAtA[iNdEx]
  1976. iNdEx++
  1977. wire |= (uint64(b) & 0x7F) << shift
  1978. if b < 0x80 {
  1979. break
  1980. }
  1981. }
  1982. fieldNum := int32(wire >> 3)
  1983. wireType := int(wire & 0x7)
  1984. if wireType == 4 {
  1985. return fmt.Errorf("proto: RaftMember: wiretype end group for non-group")
  1986. }
  1987. if fieldNum <= 0 {
  1988. return fmt.Errorf("proto: RaftMember: illegal tag %d (wire type %d)", fieldNum, wire)
  1989. }
  1990. switch fieldNum {
  1991. case 1:
  1992. if wireType != 0 {
  1993. return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
  1994. }
  1995. m.RaftID = 0
  1996. for shift := uint(0); ; shift += 7 {
  1997. if shift >= 64 {
  1998. return ErrIntOverflowRaft
  1999. }
  2000. if iNdEx >= l {
  2001. return io.ErrUnexpectedEOF
  2002. }
  2003. b := dAtA[iNdEx]
  2004. iNdEx++
  2005. m.RaftID |= (uint64(b) & 0x7F) << shift
  2006. if b < 0x80 {
  2007. break
  2008. }
  2009. }
  2010. case 2:
  2011. if wireType != 2 {
  2012. return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
  2013. }
  2014. var stringLen uint64
  2015. for shift := uint(0); ; shift += 7 {
  2016. if shift >= 64 {
  2017. return ErrIntOverflowRaft
  2018. }
  2019. if iNdEx >= l {
  2020. return io.ErrUnexpectedEOF
  2021. }
  2022. b := dAtA[iNdEx]
  2023. iNdEx++
  2024. stringLen |= (uint64(b) & 0x7F) << shift
  2025. if b < 0x80 {
  2026. break
  2027. }
  2028. }
  2029. intStringLen := int(stringLen)
  2030. if intStringLen < 0 {
  2031. return ErrInvalidLengthRaft
  2032. }
  2033. postIndex := iNdEx + intStringLen
  2034. if postIndex > l {
  2035. return io.ErrUnexpectedEOF
  2036. }
  2037. m.NodeID = string(dAtA[iNdEx:postIndex])
  2038. iNdEx = postIndex
  2039. case 3:
  2040. if wireType != 2 {
  2041. return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  2042. }
  2043. var stringLen uint64
  2044. for shift := uint(0); ; shift += 7 {
  2045. if shift >= 64 {
  2046. return ErrIntOverflowRaft
  2047. }
  2048. if iNdEx >= l {
  2049. return io.ErrUnexpectedEOF
  2050. }
  2051. b := dAtA[iNdEx]
  2052. iNdEx++
  2053. stringLen |= (uint64(b) & 0x7F) << shift
  2054. if b < 0x80 {
  2055. break
  2056. }
  2057. }
  2058. intStringLen := int(stringLen)
  2059. if intStringLen < 0 {
  2060. return ErrInvalidLengthRaft
  2061. }
  2062. postIndex := iNdEx + intStringLen
  2063. if postIndex > l {
  2064. return io.ErrUnexpectedEOF
  2065. }
  2066. m.Addr = string(dAtA[iNdEx:postIndex])
  2067. iNdEx = postIndex
  2068. case 4:
  2069. if wireType != 2 {
  2070. return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  2071. }
  2072. var msglen int
  2073. for shift := uint(0); ; shift += 7 {
  2074. if shift >= 64 {
  2075. return ErrIntOverflowRaft
  2076. }
  2077. if iNdEx >= l {
  2078. return io.ErrUnexpectedEOF
  2079. }
  2080. b := dAtA[iNdEx]
  2081. iNdEx++
  2082. msglen |= (int(b) & 0x7F) << shift
  2083. if b < 0x80 {
  2084. break
  2085. }
  2086. }
  2087. if msglen < 0 {
  2088. return ErrInvalidLengthRaft
  2089. }
  2090. postIndex := iNdEx + msglen
  2091. if postIndex > l {
  2092. return io.ErrUnexpectedEOF
  2093. }
  2094. if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2095. return err
  2096. }
  2097. iNdEx = postIndex
  2098. default:
  2099. iNdEx = preIndex
  2100. skippy, err := skipRaft(dAtA[iNdEx:])
  2101. if err != nil {
  2102. return err
  2103. }
  2104. if skippy < 0 {
  2105. return ErrInvalidLengthRaft
  2106. }
  2107. if (iNdEx + skippy) > l {
  2108. return io.ErrUnexpectedEOF
  2109. }
  2110. iNdEx += skippy
  2111. }
  2112. }
  2113. if iNdEx > l {
  2114. return io.ErrUnexpectedEOF
  2115. }
  2116. return nil
  2117. }
  2118. func (m *JoinRequest) Unmarshal(dAtA []byte) error {
  2119. l := len(dAtA)
  2120. iNdEx := 0
  2121. for iNdEx < l {
  2122. preIndex := iNdEx
  2123. var wire uint64
  2124. for shift := uint(0); ; shift += 7 {
  2125. if shift >= 64 {
  2126. return ErrIntOverflowRaft
  2127. }
  2128. if iNdEx >= l {
  2129. return io.ErrUnexpectedEOF
  2130. }
  2131. b := dAtA[iNdEx]
  2132. iNdEx++
  2133. wire |= (uint64(b) & 0x7F) << shift
  2134. if b < 0x80 {
  2135. break
  2136. }
  2137. }
  2138. fieldNum := int32(wire >> 3)
  2139. wireType := int(wire & 0x7)
  2140. if wireType == 4 {
  2141. return fmt.Errorf("proto: JoinRequest: wiretype end group for non-group")
  2142. }
  2143. if fieldNum <= 0 {
  2144. return fmt.Errorf("proto: JoinRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2145. }
  2146. switch fieldNum {
  2147. case 1:
  2148. if wireType != 2 {
  2149. return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  2150. }
  2151. var stringLen uint64
  2152. for shift := uint(0); ; shift += 7 {
  2153. if shift >= 64 {
  2154. return ErrIntOverflowRaft
  2155. }
  2156. if iNdEx >= l {
  2157. return io.ErrUnexpectedEOF
  2158. }
  2159. b := dAtA[iNdEx]
  2160. iNdEx++
  2161. stringLen |= (uint64(b) & 0x7F) << shift
  2162. if b < 0x80 {
  2163. break
  2164. }
  2165. }
  2166. intStringLen := int(stringLen)
  2167. if intStringLen < 0 {
  2168. return ErrInvalidLengthRaft
  2169. }
  2170. postIndex := iNdEx + intStringLen
  2171. if postIndex > l {
  2172. return io.ErrUnexpectedEOF
  2173. }
  2174. m.Addr = string(dAtA[iNdEx:postIndex])
  2175. iNdEx = postIndex
  2176. default:
  2177. iNdEx = preIndex
  2178. skippy, err := skipRaft(dAtA[iNdEx:])
  2179. if err != nil {
  2180. return err
  2181. }
  2182. if skippy < 0 {
  2183. return ErrInvalidLengthRaft
  2184. }
  2185. if (iNdEx + skippy) > l {
  2186. return io.ErrUnexpectedEOF
  2187. }
  2188. iNdEx += skippy
  2189. }
  2190. }
  2191. if iNdEx > l {
  2192. return io.ErrUnexpectedEOF
  2193. }
  2194. return nil
  2195. }
  2196. func (m *JoinResponse) Unmarshal(dAtA []byte) error {
  2197. l := len(dAtA)
  2198. iNdEx := 0
  2199. for iNdEx < l {
  2200. preIndex := iNdEx
  2201. var wire uint64
  2202. for shift := uint(0); ; shift += 7 {
  2203. if shift >= 64 {
  2204. return ErrIntOverflowRaft
  2205. }
  2206. if iNdEx >= l {
  2207. return io.ErrUnexpectedEOF
  2208. }
  2209. b := dAtA[iNdEx]
  2210. iNdEx++
  2211. wire |= (uint64(b) & 0x7F) << shift
  2212. if b < 0x80 {
  2213. break
  2214. }
  2215. }
  2216. fieldNum := int32(wire >> 3)
  2217. wireType := int(wire & 0x7)
  2218. if wireType == 4 {
  2219. return fmt.Errorf("proto: JoinResponse: wiretype end group for non-group")
  2220. }
  2221. if fieldNum <= 0 {
  2222. return fmt.Errorf("proto: JoinResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2223. }
  2224. switch fieldNum {
  2225. case 1:
  2226. if wireType != 0 {
  2227. return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
  2228. }
  2229. m.RaftID = 0
  2230. for shift := uint(0); ; shift += 7 {
  2231. if shift >= 64 {
  2232. return ErrIntOverflowRaft
  2233. }
  2234. if iNdEx >= l {
  2235. return io.ErrUnexpectedEOF
  2236. }
  2237. b := dAtA[iNdEx]
  2238. iNdEx++
  2239. m.RaftID |= (uint64(b) & 0x7F) << shift
  2240. if b < 0x80 {
  2241. break
  2242. }
  2243. }
  2244. case 2:
  2245. if wireType != 2 {
  2246. return fmt.Errorf("proto: wrong wireType = %d for field Members", wireType)
  2247. }
  2248. var msglen int
  2249. for shift := uint(0); ; shift += 7 {
  2250. if shift >= 64 {
  2251. return ErrIntOverflowRaft
  2252. }
  2253. if iNdEx >= l {
  2254. return io.ErrUnexpectedEOF
  2255. }
  2256. b := dAtA[iNdEx]
  2257. iNdEx++
  2258. msglen |= (int(b) & 0x7F) << shift
  2259. if b < 0x80 {
  2260. break
  2261. }
  2262. }
  2263. if msglen < 0 {
  2264. return ErrInvalidLengthRaft
  2265. }
  2266. postIndex := iNdEx + msglen
  2267. if postIndex > l {
  2268. return io.ErrUnexpectedEOF
  2269. }
  2270. m.Members = append(m.Members, &RaftMember{})
  2271. if err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2272. return err
  2273. }
  2274. iNdEx = postIndex
  2275. case 3:
  2276. if wireType == 2 {
  2277. var packedLen int
  2278. for shift := uint(0); ; shift += 7 {
  2279. if shift >= 64 {
  2280. return ErrIntOverflowRaft
  2281. }
  2282. if iNdEx >= l {
  2283. return io.ErrUnexpectedEOF
  2284. }
  2285. b := dAtA[iNdEx]
  2286. iNdEx++
  2287. packedLen |= (int(b) & 0x7F) << shift
  2288. if b < 0x80 {
  2289. break
  2290. }
  2291. }
  2292. if packedLen < 0 {
  2293. return ErrInvalidLengthRaft
  2294. }
  2295. postIndex := iNdEx + packedLen
  2296. if postIndex > l {
  2297. return io.ErrUnexpectedEOF
  2298. }
  2299. for iNdEx < postIndex {
  2300. var v uint64
  2301. for shift := uint(0); ; shift += 7 {
  2302. if shift >= 64 {
  2303. return ErrIntOverflowRaft
  2304. }
  2305. if iNdEx >= l {
  2306. return io.ErrUnexpectedEOF
  2307. }
  2308. b := dAtA[iNdEx]
  2309. iNdEx++
  2310. v |= (uint64(b) & 0x7F) << shift
  2311. if b < 0x80 {
  2312. break
  2313. }
  2314. }
  2315. m.RemovedMembers = append(m.RemovedMembers, v)
  2316. }
  2317. } else if wireType == 0 {
  2318. var v uint64
  2319. for shift := uint(0); ; shift += 7 {
  2320. if shift >= 64 {
  2321. return ErrIntOverflowRaft
  2322. }
  2323. if iNdEx >= l {
  2324. return io.ErrUnexpectedEOF
  2325. }
  2326. b := dAtA[iNdEx]
  2327. iNdEx++
  2328. v |= (uint64(b) & 0x7F) << shift
  2329. if b < 0x80 {
  2330. break
  2331. }
  2332. }
  2333. m.RemovedMembers = append(m.RemovedMembers, v)
  2334. } else {
  2335. return fmt.Errorf("proto: wrong wireType = %d for field RemovedMembers", wireType)
  2336. }
  2337. default:
  2338. iNdEx = preIndex
  2339. skippy, err := skipRaft(dAtA[iNdEx:])
  2340. if err != nil {
  2341. return err
  2342. }
  2343. if skippy < 0 {
  2344. return ErrInvalidLengthRaft
  2345. }
  2346. if (iNdEx + skippy) > l {
  2347. return io.ErrUnexpectedEOF
  2348. }
  2349. iNdEx += skippy
  2350. }
  2351. }
  2352. if iNdEx > l {
  2353. return io.ErrUnexpectedEOF
  2354. }
  2355. return nil
  2356. }
  2357. func (m *LeaveRequest) Unmarshal(dAtA []byte) error {
  2358. l := len(dAtA)
  2359. iNdEx := 0
  2360. for iNdEx < l {
  2361. preIndex := iNdEx
  2362. var wire uint64
  2363. for shift := uint(0); ; shift += 7 {
  2364. if shift >= 64 {
  2365. return ErrIntOverflowRaft
  2366. }
  2367. if iNdEx >= l {
  2368. return io.ErrUnexpectedEOF
  2369. }
  2370. b := dAtA[iNdEx]
  2371. iNdEx++
  2372. wire |= (uint64(b) & 0x7F) << shift
  2373. if b < 0x80 {
  2374. break
  2375. }
  2376. }
  2377. fieldNum := int32(wire >> 3)
  2378. wireType := int(wire & 0x7)
  2379. if wireType == 4 {
  2380. return fmt.Errorf("proto: LeaveRequest: wiretype end group for non-group")
  2381. }
  2382. if fieldNum <= 0 {
  2383. return fmt.Errorf("proto: LeaveRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2384. }
  2385. switch fieldNum {
  2386. case 1:
  2387. if wireType != 2 {
  2388. return fmt.Errorf("proto: wrong wireType = %d for field Node", wireType)
  2389. }
  2390. var msglen int
  2391. for shift := uint(0); ; shift += 7 {
  2392. if shift >= 64 {
  2393. return ErrIntOverflowRaft
  2394. }
  2395. if iNdEx >= l {
  2396. return io.ErrUnexpectedEOF
  2397. }
  2398. b := dAtA[iNdEx]
  2399. iNdEx++
  2400. msglen |= (int(b) & 0x7F) << shift
  2401. if b < 0x80 {
  2402. break
  2403. }
  2404. }
  2405. if msglen < 0 {
  2406. return ErrInvalidLengthRaft
  2407. }
  2408. postIndex := iNdEx + msglen
  2409. if postIndex > l {
  2410. return io.ErrUnexpectedEOF
  2411. }
  2412. if m.Node == nil {
  2413. m.Node = &RaftMember{}
  2414. }
  2415. if err := m.Node.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2416. return err
  2417. }
  2418. iNdEx = postIndex
  2419. default:
  2420. iNdEx = preIndex
  2421. skippy, err := skipRaft(dAtA[iNdEx:])
  2422. if err != nil {
  2423. return err
  2424. }
  2425. if skippy < 0 {
  2426. return ErrInvalidLengthRaft
  2427. }
  2428. if (iNdEx + skippy) > l {
  2429. return io.ErrUnexpectedEOF
  2430. }
  2431. iNdEx += skippy
  2432. }
  2433. }
  2434. if iNdEx > l {
  2435. return io.ErrUnexpectedEOF
  2436. }
  2437. return nil
  2438. }
  2439. func (m *LeaveResponse) Unmarshal(dAtA []byte) error {
  2440. l := len(dAtA)
  2441. iNdEx := 0
  2442. for iNdEx < l {
  2443. preIndex := iNdEx
  2444. var wire uint64
  2445. for shift := uint(0); ; shift += 7 {
  2446. if shift >= 64 {
  2447. return ErrIntOverflowRaft
  2448. }
  2449. if iNdEx >= l {
  2450. return io.ErrUnexpectedEOF
  2451. }
  2452. b := dAtA[iNdEx]
  2453. iNdEx++
  2454. wire |= (uint64(b) & 0x7F) << shift
  2455. if b < 0x80 {
  2456. break
  2457. }
  2458. }
  2459. fieldNum := int32(wire >> 3)
  2460. wireType := int(wire & 0x7)
  2461. if wireType == 4 {
  2462. return fmt.Errorf("proto: LeaveResponse: wiretype end group for non-group")
  2463. }
  2464. if fieldNum <= 0 {
  2465. return fmt.Errorf("proto: LeaveResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2466. }
  2467. switch fieldNum {
  2468. default:
  2469. iNdEx = preIndex
  2470. skippy, err := skipRaft(dAtA[iNdEx:])
  2471. if err != nil {
  2472. return err
  2473. }
  2474. if skippy < 0 {
  2475. return ErrInvalidLengthRaft
  2476. }
  2477. if (iNdEx + skippy) > l {
  2478. return io.ErrUnexpectedEOF
  2479. }
  2480. iNdEx += skippy
  2481. }
  2482. }
  2483. if iNdEx > l {
  2484. return io.ErrUnexpectedEOF
  2485. }
  2486. return nil
  2487. }
  2488. func (m *ProcessRaftMessageRequest) Unmarshal(dAtA []byte) error {
  2489. l := len(dAtA)
  2490. iNdEx := 0
  2491. for iNdEx < l {
  2492. preIndex := iNdEx
  2493. var wire uint64
  2494. for shift := uint(0); ; shift += 7 {
  2495. if shift >= 64 {
  2496. return ErrIntOverflowRaft
  2497. }
  2498. if iNdEx >= l {
  2499. return io.ErrUnexpectedEOF
  2500. }
  2501. b := dAtA[iNdEx]
  2502. iNdEx++
  2503. wire |= (uint64(b) & 0x7F) << shift
  2504. if b < 0x80 {
  2505. break
  2506. }
  2507. }
  2508. fieldNum := int32(wire >> 3)
  2509. wireType := int(wire & 0x7)
  2510. if wireType == 4 {
  2511. return fmt.Errorf("proto: ProcessRaftMessageRequest: wiretype end group for non-group")
  2512. }
  2513. if fieldNum <= 0 {
  2514. return fmt.Errorf("proto: ProcessRaftMessageRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2515. }
  2516. switch fieldNum {
  2517. case 1:
  2518. if wireType != 2 {
  2519. return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  2520. }
  2521. var msglen int
  2522. for shift := uint(0); ; shift += 7 {
  2523. if shift >= 64 {
  2524. return ErrIntOverflowRaft
  2525. }
  2526. if iNdEx >= l {
  2527. return io.ErrUnexpectedEOF
  2528. }
  2529. b := dAtA[iNdEx]
  2530. iNdEx++
  2531. msglen |= (int(b) & 0x7F) << shift
  2532. if b < 0x80 {
  2533. break
  2534. }
  2535. }
  2536. if msglen < 0 {
  2537. return ErrInvalidLengthRaft
  2538. }
  2539. postIndex := iNdEx + msglen
  2540. if postIndex > l {
  2541. return io.ErrUnexpectedEOF
  2542. }
  2543. if m.Message == nil {
  2544. m.Message = &raftpb.Message{}
  2545. }
  2546. if err := m.Message.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2547. return err
  2548. }
  2549. iNdEx = postIndex
  2550. default:
  2551. iNdEx = preIndex
  2552. skippy, err := skipRaft(dAtA[iNdEx:])
  2553. if err != nil {
  2554. return err
  2555. }
  2556. if skippy < 0 {
  2557. return ErrInvalidLengthRaft
  2558. }
  2559. if (iNdEx + skippy) > l {
  2560. return io.ErrUnexpectedEOF
  2561. }
  2562. iNdEx += skippy
  2563. }
  2564. }
  2565. if iNdEx > l {
  2566. return io.ErrUnexpectedEOF
  2567. }
  2568. return nil
  2569. }
  2570. func (m *ProcessRaftMessageResponse) Unmarshal(dAtA []byte) error {
  2571. l := len(dAtA)
  2572. iNdEx := 0
  2573. for iNdEx < l {
  2574. preIndex := iNdEx
  2575. var wire uint64
  2576. for shift := uint(0); ; shift += 7 {
  2577. if shift >= 64 {
  2578. return ErrIntOverflowRaft
  2579. }
  2580. if iNdEx >= l {
  2581. return io.ErrUnexpectedEOF
  2582. }
  2583. b := dAtA[iNdEx]
  2584. iNdEx++
  2585. wire |= (uint64(b) & 0x7F) << shift
  2586. if b < 0x80 {
  2587. break
  2588. }
  2589. }
  2590. fieldNum := int32(wire >> 3)
  2591. wireType := int(wire & 0x7)
  2592. if wireType == 4 {
  2593. return fmt.Errorf("proto: ProcessRaftMessageResponse: wiretype end group for non-group")
  2594. }
  2595. if fieldNum <= 0 {
  2596. return fmt.Errorf("proto: ProcessRaftMessageResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2597. }
  2598. switch fieldNum {
  2599. default:
  2600. iNdEx = preIndex
  2601. skippy, err := skipRaft(dAtA[iNdEx:])
  2602. if err != nil {
  2603. return err
  2604. }
  2605. if skippy < 0 {
  2606. return ErrInvalidLengthRaft
  2607. }
  2608. if (iNdEx + skippy) > l {
  2609. return io.ErrUnexpectedEOF
  2610. }
  2611. iNdEx += skippy
  2612. }
  2613. }
  2614. if iNdEx > l {
  2615. return io.ErrUnexpectedEOF
  2616. }
  2617. return nil
  2618. }
  2619. func (m *ResolveAddressRequest) Unmarshal(dAtA []byte) error {
  2620. l := len(dAtA)
  2621. iNdEx := 0
  2622. for iNdEx < l {
  2623. preIndex := iNdEx
  2624. var wire uint64
  2625. for shift := uint(0); ; shift += 7 {
  2626. if shift >= 64 {
  2627. return ErrIntOverflowRaft
  2628. }
  2629. if iNdEx >= l {
  2630. return io.ErrUnexpectedEOF
  2631. }
  2632. b := dAtA[iNdEx]
  2633. iNdEx++
  2634. wire |= (uint64(b) & 0x7F) << shift
  2635. if b < 0x80 {
  2636. break
  2637. }
  2638. }
  2639. fieldNum := int32(wire >> 3)
  2640. wireType := int(wire & 0x7)
  2641. if wireType == 4 {
  2642. return fmt.Errorf("proto: ResolveAddressRequest: wiretype end group for non-group")
  2643. }
  2644. if fieldNum <= 0 {
  2645. return fmt.Errorf("proto: ResolveAddressRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2646. }
  2647. switch fieldNum {
  2648. case 1:
  2649. if wireType != 0 {
  2650. return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
  2651. }
  2652. m.RaftID = 0
  2653. for shift := uint(0); ; shift += 7 {
  2654. if shift >= 64 {
  2655. return ErrIntOverflowRaft
  2656. }
  2657. if iNdEx >= l {
  2658. return io.ErrUnexpectedEOF
  2659. }
  2660. b := dAtA[iNdEx]
  2661. iNdEx++
  2662. m.RaftID |= (uint64(b) & 0x7F) << shift
  2663. if b < 0x80 {
  2664. break
  2665. }
  2666. }
  2667. default:
  2668. iNdEx = preIndex
  2669. skippy, err := skipRaft(dAtA[iNdEx:])
  2670. if err != nil {
  2671. return err
  2672. }
  2673. if skippy < 0 {
  2674. return ErrInvalidLengthRaft
  2675. }
  2676. if (iNdEx + skippy) > l {
  2677. return io.ErrUnexpectedEOF
  2678. }
  2679. iNdEx += skippy
  2680. }
  2681. }
  2682. if iNdEx > l {
  2683. return io.ErrUnexpectedEOF
  2684. }
  2685. return nil
  2686. }
  2687. func (m *ResolveAddressResponse) Unmarshal(dAtA []byte) error {
  2688. l := len(dAtA)
  2689. iNdEx := 0
  2690. for iNdEx < l {
  2691. preIndex := iNdEx
  2692. var wire uint64
  2693. for shift := uint(0); ; shift += 7 {
  2694. if shift >= 64 {
  2695. return ErrIntOverflowRaft
  2696. }
  2697. if iNdEx >= l {
  2698. return io.ErrUnexpectedEOF
  2699. }
  2700. b := dAtA[iNdEx]
  2701. iNdEx++
  2702. wire |= (uint64(b) & 0x7F) << shift
  2703. if b < 0x80 {
  2704. break
  2705. }
  2706. }
  2707. fieldNum := int32(wire >> 3)
  2708. wireType := int(wire & 0x7)
  2709. if wireType == 4 {
  2710. return fmt.Errorf("proto: ResolveAddressResponse: wiretype end group for non-group")
  2711. }
  2712. if fieldNum <= 0 {
  2713. return fmt.Errorf("proto: ResolveAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire)
  2714. }
  2715. switch fieldNum {
  2716. case 1:
  2717. if wireType != 2 {
  2718. return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
  2719. }
  2720. var stringLen uint64
  2721. for shift := uint(0); ; shift += 7 {
  2722. if shift >= 64 {
  2723. return ErrIntOverflowRaft
  2724. }
  2725. if iNdEx >= l {
  2726. return io.ErrUnexpectedEOF
  2727. }
  2728. b := dAtA[iNdEx]
  2729. iNdEx++
  2730. stringLen |= (uint64(b) & 0x7F) << shift
  2731. if b < 0x80 {
  2732. break
  2733. }
  2734. }
  2735. intStringLen := int(stringLen)
  2736. if intStringLen < 0 {
  2737. return ErrInvalidLengthRaft
  2738. }
  2739. postIndex := iNdEx + intStringLen
  2740. if postIndex > l {
  2741. return io.ErrUnexpectedEOF
  2742. }
  2743. m.Addr = string(dAtA[iNdEx:postIndex])
  2744. iNdEx = postIndex
  2745. default:
  2746. iNdEx = preIndex
  2747. skippy, err := skipRaft(dAtA[iNdEx:])
  2748. if err != nil {
  2749. return err
  2750. }
  2751. if skippy < 0 {
  2752. return ErrInvalidLengthRaft
  2753. }
  2754. if (iNdEx + skippy) > l {
  2755. return io.ErrUnexpectedEOF
  2756. }
  2757. iNdEx += skippy
  2758. }
  2759. }
  2760. if iNdEx > l {
  2761. return io.ErrUnexpectedEOF
  2762. }
  2763. return nil
  2764. }
  2765. func (m *InternalRaftRequest) Unmarshal(dAtA []byte) error {
  2766. l := len(dAtA)
  2767. iNdEx := 0
  2768. for iNdEx < l {
  2769. preIndex := iNdEx
  2770. var wire uint64
  2771. for shift := uint(0); ; shift += 7 {
  2772. if shift >= 64 {
  2773. return ErrIntOverflowRaft
  2774. }
  2775. if iNdEx >= l {
  2776. return io.ErrUnexpectedEOF
  2777. }
  2778. b := dAtA[iNdEx]
  2779. iNdEx++
  2780. wire |= (uint64(b) & 0x7F) << shift
  2781. if b < 0x80 {
  2782. break
  2783. }
  2784. }
  2785. fieldNum := int32(wire >> 3)
  2786. wireType := int(wire & 0x7)
  2787. if wireType == 4 {
  2788. return fmt.Errorf("proto: InternalRaftRequest: wiretype end group for non-group")
  2789. }
  2790. if fieldNum <= 0 {
  2791. return fmt.Errorf("proto: InternalRaftRequest: illegal tag %d (wire type %d)", fieldNum, wire)
  2792. }
  2793. switch fieldNum {
  2794. case 1:
  2795. if wireType != 0 {
  2796. return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
  2797. }
  2798. m.ID = 0
  2799. for shift := uint(0); ; shift += 7 {
  2800. if shift >= 64 {
  2801. return ErrIntOverflowRaft
  2802. }
  2803. if iNdEx >= l {
  2804. return io.ErrUnexpectedEOF
  2805. }
  2806. b := dAtA[iNdEx]
  2807. iNdEx++
  2808. m.ID |= (uint64(b) & 0x7F) << shift
  2809. if b < 0x80 {
  2810. break
  2811. }
  2812. }
  2813. case 2:
  2814. if wireType != 2 {
  2815. return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
  2816. }
  2817. var msglen int
  2818. for shift := uint(0); ; shift += 7 {
  2819. if shift >= 64 {
  2820. return ErrIntOverflowRaft
  2821. }
  2822. if iNdEx >= l {
  2823. return io.ErrUnexpectedEOF
  2824. }
  2825. b := dAtA[iNdEx]
  2826. iNdEx++
  2827. msglen |= (int(b) & 0x7F) << shift
  2828. if b < 0x80 {
  2829. break
  2830. }
  2831. }
  2832. if msglen < 0 {
  2833. return ErrInvalidLengthRaft
  2834. }
  2835. postIndex := iNdEx + msglen
  2836. if postIndex > l {
  2837. return io.ErrUnexpectedEOF
  2838. }
  2839. m.Action = append(m.Action, StoreAction{})
  2840. if err := m.Action[len(m.Action)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2841. return err
  2842. }
  2843. iNdEx = postIndex
  2844. default:
  2845. iNdEx = preIndex
  2846. skippy, err := skipRaft(dAtA[iNdEx:])
  2847. if err != nil {
  2848. return err
  2849. }
  2850. if skippy < 0 {
  2851. return ErrInvalidLengthRaft
  2852. }
  2853. if (iNdEx + skippy) > l {
  2854. return io.ErrUnexpectedEOF
  2855. }
  2856. iNdEx += skippy
  2857. }
  2858. }
  2859. if iNdEx > l {
  2860. return io.ErrUnexpectedEOF
  2861. }
  2862. return nil
  2863. }
  2864. func (m *StoreAction) Unmarshal(dAtA []byte) error {
  2865. l := len(dAtA)
  2866. iNdEx := 0
  2867. for iNdEx < l {
  2868. preIndex := iNdEx
  2869. var wire uint64
  2870. for shift := uint(0); ; shift += 7 {
  2871. if shift >= 64 {
  2872. return ErrIntOverflowRaft
  2873. }
  2874. if iNdEx >= l {
  2875. return io.ErrUnexpectedEOF
  2876. }
  2877. b := dAtA[iNdEx]
  2878. iNdEx++
  2879. wire |= (uint64(b) & 0x7F) << shift
  2880. if b < 0x80 {
  2881. break
  2882. }
  2883. }
  2884. fieldNum := int32(wire >> 3)
  2885. wireType := int(wire & 0x7)
  2886. if wireType == 4 {
  2887. return fmt.Errorf("proto: StoreAction: wiretype end group for non-group")
  2888. }
  2889. if fieldNum <= 0 {
  2890. return fmt.Errorf("proto: StoreAction: illegal tag %d (wire type %d)", fieldNum, wire)
  2891. }
  2892. switch fieldNum {
  2893. case 1:
  2894. if wireType != 0 {
  2895. return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
  2896. }
  2897. m.Action = 0
  2898. for shift := uint(0); ; shift += 7 {
  2899. if shift >= 64 {
  2900. return ErrIntOverflowRaft
  2901. }
  2902. if iNdEx >= l {
  2903. return io.ErrUnexpectedEOF
  2904. }
  2905. b := dAtA[iNdEx]
  2906. iNdEx++
  2907. m.Action |= (StoreActionKind(b) & 0x7F) << shift
  2908. if b < 0x80 {
  2909. break
  2910. }
  2911. }
  2912. case 2:
  2913. if wireType != 2 {
  2914. return fmt.Errorf("proto: wrong wireType = %d for field Node", wireType)
  2915. }
  2916. var msglen int
  2917. for shift := uint(0); ; shift += 7 {
  2918. if shift >= 64 {
  2919. return ErrIntOverflowRaft
  2920. }
  2921. if iNdEx >= l {
  2922. return io.ErrUnexpectedEOF
  2923. }
  2924. b := dAtA[iNdEx]
  2925. iNdEx++
  2926. msglen |= (int(b) & 0x7F) << shift
  2927. if b < 0x80 {
  2928. break
  2929. }
  2930. }
  2931. if msglen < 0 {
  2932. return ErrInvalidLengthRaft
  2933. }
  2934. postIndex := iNdEx + msglen
  2935. if postIndex > l {
  2936. return io.ErrUnexpectedEOF
  2937. }
  2938. v := &Node{}
  2939. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2940. return err
  2941. }
  2942. m.Target = &StoreAction_Node{v}
  2943. iNdEx = postIndex
  2944. case 3:
  2945. if wireType != 2 {
  2946. return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType)
  2947. }
  2948. var msglen int
  2949. for shift := uint(0); ; shift += 7 {
  2950. if shift >= 64 {
  2951. return ErrIntOverflowRaft
  2952. }
  2953. if iNdEx >= l {
  2954. return io.ErrUnexpectedEOF
  2955. }
  2956. b := dAtA[iNdEx]
  2957. iNdEx++
  2958. msglen |= (int(b) & 0x7F) << shift
  2959. if b < 0x80 {
  2960. break
  2961. }
  2962. }
  2963. if msglen < 0 {
  2964. return ErrInvalidLengthRaft
  2965. }
  2966. postIndex := iNdEx + msglen
  2967. if postIndex > l {
  2968. return io.ErrUnexpectedEOF
  2969. }
  2970. v := &Service{}
  2971. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2972. return err
  2973. }
  2974. m.Target = &StoreAction_Service{v}
  2975. iNdEx = postIndex
  2976. case 4:
  2977. if wireType != 2 {
  2978. return fmt.Errorf("proto: wrong wireType = %d for field Task", wireType)
  2979. }
  2980. var msglen int
  2981. for shift := uint(0); ; shift += 7 {
  2982. if shift >= 64 {
  2983. return ErrIntOverflowRaft
  2984. }
  2985. if iNdEx >= l {
  2986. return io.ErrUnexpectedEOF
  2987. }
  2988. b := dAtA[iNdEx]
  2989. iNdEx++
  2990. msglen |= (int(b) & 0x7F) << shift
  2991. if b < 0x80 {
  2992. break
  2993. }
  2994. }
  2995. if msglen < 0 {
  2996. return ErrInvalidLengthRaft
  2997. }
  2998. postIndex := iNdEx + msglen
  2999. if postIndex > l {
  3000. return io.ErrUnexpectedEOF
  3001. }
  3002. v := &Task{}
  3003. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3004. return err
  3005. }
  3006. m.Target = &StoreAction_Task{v}
  3007. iNdEx = postIndex
  3008. case 5:
  3009. if wireType != 2 {
  3010. return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
  3011. }
  3012. var msglen int
  3013. for shift := uint(0); ; shift += 7 {
  3014. if shift >= 64 {
  3015. return ErrIntOverflowRaft
  3016. }
  3017. if iNdEx >= l {
  3018. return io.ErrUnexpectedEOF
  3019. }
  3020. b := dAtA[iNdEx]
  3021. iNdEx++
  3022. msglen |= (int(b) & 0x7F) << shift
  3023. if b < 0x80 {
  3024. break
  3025. }
  3026. }
  3027. if msglen < 0 {
  3028. return ErrInvalidLengthRaft
  3029. }
  3030. postIndex := iNdEx + msglen
  3031. if postIndex > l {
  3032. return io.ErrUnexpectedEOF
  3033. }
  3034. v := &Network{}
  3035. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3036. return err
  3037. }
  3038. m.Target = &StoreAction_Network{v}
  3039. iNdEx = postIndex
  3040. case 6:
  3041. if wireType != 2 {
  3042. return fmt.Errorf("proto: wrong wireType = %d for field Cluster", wireType)
  3043. }
  3044. var msglen int
  3045. for shift := uint(0); ; shift += 7 {
  3046. if shift >= 64 {
  3047. return ErrIntOverflowRaft
  3048. }
  3049. if iNdEx >= l {
  3050. return io.ErrUnexpectedEOF
  3051. }
  3052. b := dAtA[iNdEx]
  3053. iNdEx++
  3054. msglen |= (int(b) & 0x7F) << shift
  3055. if b < 0x80 {
  3056. break
  3057. }
  3058. }
  3059. if msglen < 0 {
  3060. return ErrInvalidLengthRaft
  3061. }
  3062. postIndex := iNdEx + msglen
  3063. if postIndex > l {
  3064. return io.ErrUnexpectedEOF
  3065. }
  3066. v := &Cluster{}
  3067. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3068. return err
  3069. }
  3070. m.Target = &StoreAction_Cluster{v}
  3071. iNdEx = postIndex
  3072. case 7:
  3073. if wireType != 2 {
  3074. return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType)
  3075. }
  3076. var msglen int
  3077. for shift := uint(0); ; shift += 7 {
  3078. if shift >= 64 {
  3079. return ErrIntOverflowRaft
  3080. }
  3081. if iNdEx >= l {
  3082. return io.ErrUnexpectedEOF
  3083. }
  3084. b := dAtA[iNdEx]
  3085. iNdEx++
  3086. msglen |= (int(b) & 0x7F) << shift
  3087. if b < 0x80 {
  3088. break
  3089. }
  3090. }
  3091. if msglen < 0 {
  3092. return ErrInvalidLengthRaft
  3093. }
  3094. postIndex := iNdEx + msglen
  3095. if postIndex > l {
  3096. return io.ErrUnexpectedEOF
  3097. }
  3098. v := &Secret{}
  3099. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3100. return err
  3101. }
  3102. m.Target = &StoreAction_Secret{v}
  3103. iNdEx = postIndex
  3104. case 8:
  3105. if wireType != 2 {
  3106. return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
  3107. }
  3108. var msglen int
  3109. for shift := uint(0); ; shift += 7 {
  3110. if shift >= 64 {
  3111. return ErrIntOverflowRaft
  3112. }
  3113. if iNdEx >= l {
  3114. return io.ErrUnexpectedEOF
  3115. }
  3116. b := dAtA[iNdEx]
  3117. iNdEx++
  3118. msglen |= (int(b) & 0x7F) << shift
  3119. if b < 0x80 {
  3120. break
  3121. }
  3122. }
  3123. if msglen < 0 {
  3124. return ErrInvalidLengthRaft
  3125. }
  3126. postIndex := iNdEx + msglen
  3127. if postIndex > l {
  3128. return io.ErrUnexpectedEOF
  3129. }
  3130. v := &Resource{}
  3131. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3132. return err
  3133. }
  3134. m.Target = &StoreAction_Resource{v}
  3135. iNdEx = postIndex
  3136. case 9:
  3137. if wireType != 2 {
  3138. return fmt.Errorf("proto: wrong wireType = %d for field Extension", wireType)
  3139. }
  3140. var msglen int
  3141. for shift := uint(0); ; shift += 7 {
  3142. if shift >= 64 {
  3143. return ErrIntOverflowRaft
  3144. }
  3145. if iNdEx >= l {
  3146. return io.ErrUnexpectedEOF
  3147. }
  3148. b := dAtA[iNdEx]
  3149. iNdEx++
  3150. msglen |= (int(b) & 0x7F) << shift
  3151. if b < 0x80 {
  3152. break
  3153. }
  3154. }
  3155. if msglen < 0 {
  3156. return ErrInvalidLengthRaft
  3157. }
  3158. postIndex := iNdEx + msglen
  3159. if postIndex > l {
  3160. return io.ErrUnexpectedEOF
  3161. }
  3162. v := &Extension{}
  3163. if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3164. return err
  3165. }
  3166. m.Target = &StoreAction_Extension{v}
  3167. iNdEx = postIndex
  3168. default:
  3169. iNdEx = preIndex
  3170. skippy, err := skipRaft(dAtA[iNdEx:])
  3171. if err != nil {
  3172. return err
  3173. }
  3174. if skippy < 0 {
  3175. return ErrInvalidLengthRaft
  3176. }
  3177. if (iNdEx + skippy) > l {
  3178. return io.ErrUnexpectedEOF
  3179. }
  3180. iNdEx += skippy
  3181. }
  3182. }
  3183. if iNdEx > l {
  3184. return io.ErrUnexpectedEOF
  3185. }
  3186. return nil
  3187. }
  3188. func skipRaft(dAtA []byte) (n int, err error) {
  3189. l := len(dAtA)
  3190. iNdEx := 0
  3191. for iNdEx < l {
  3192. var wire uint64
  3193. for shift := uint(0); ; shift += 7 {
  3194. if shift >= 64 {
  3195. return 0, ErrIntOverflowRaft
  3196. }
  3197. if iNdEx >= l {
  3198. return 0, io.ErrUnexpectedEOF
  3199. }
  3200. b := dAtA[iNdEx]
  3201. iNdEx++
  3202. wire |= (uint64(b) & 0x7F) << shift
  3203. if b < 0x80 {
  3204. break
  3205. }
  3206. }
  3207. wireType := int(wire & 0x7)
  3208. switch wireType {
  3209. case 0:
  3210. for shift := uint(0); ; shift += 7 {
  3211. if shift >= 64 {
  3212. return 0, ErrIntOverflowRaft
  3213. }
  3214. if iNdEx >= l {
  3215. return 0, io.ErrUnexpectedEOF
  3216. }
  3217. iNdEx++
  3218. if dAtA[iNdEx-1] < 0x80 {
  3219. break
  3220. }
  3221. }
  3222. return iNdEx, nil
  3223. case 1:
  3224. iNdEx += 8
  3225. return iNdEx, nil
  3226. case 2:
  3227. var length int
  3228. for shift := uint(0); ; shift += 7 {
  3229. if shift >= 64 {
  3230. return 0, ErrIntOverflowRaft
  3231. }
  3232. if iNdEx >= l {
  3233. return 0, io.ErrUnexpectedEOF
  3234. }
  3235. b := dAtA[iNdEx]
  3236. iNdEx++
  3237. length |= (int(b) & 0x7F) << shift
  3238. if b < 0x80 {
  3239. break
  3240. }
  3241. }
  3242. iNdEx += length
  3243. if length < 0 {
  3244. return 0, ErrInvalidLengthRaft
  3245. }
  3246. return iNdEx, nil
  3247. case 3:
  3248. for {
  3249. var innerWire uint64
  3250. var start int = iNdEx
  3251. for shift := uint(0); ; shift += 7 {
  3252. if shift >= 64 {
  3253. return 0, ErrIntOverflowRaft
  3254. }
  3255. if iNdEx >= l {
  3256. return 0, io.ErrUnexpectedEOF
  3257. }
  3258. b := dAtA[iNdEx]
  3259. iNdEx++
  3260. innerWire |= (uint64(b) & 0x7F) << shift
  3261. if b < 0x80 {
  3262. break
  3263. }
  3264. }
  3265. innerWireType := int(innerWire & 0x7)
  3266. if innerWireType == 4 {
  3267. break
  3268. }
  3269. next, err := skipRaft(dAtA[start:])
  3270. if err != nil {
  3271. return 0, err
  3272. }
  3273. iNdEx = start + next
  3274. }
  3275. return iNdEx, nil
  3276. case 4:
  3277. return iNdEx, nil
  3278. case 5:
  3279. iNdEx += 4
  3280. return iNdEx, nil
  3281. default:
  3282. return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3283. }
  3284. }
  3285. panic("unreachable")
  3286. }
  3287. var (
  3288. ErrInvalidLengthRaft = fmt.Errorf("proto: negative length found during unmarshaling")
  3289. ErrIntOverflowRaft = fmt.Errorf("proto: integer overflow")
  3290. )
  3291. func init() { proto.RegisterFile("raft.proto", fileDescriptorRaft) }
  3292. var fileDescriptorRaft = []byte{
  3293. // 933 bytes of a gzipped FileDescriptorProto
  3294. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x96, 0x41, 0x73, 0xdb, 0x44,
  3295. 0x14, 0xc7, 0x25, 0x5b, 0xb5, 0x9b, 0xe7, 0x26, 0xce, 0x6c, 0x48, 0x50, 0x45, 0x51, 0x5c, 0x95,
  3296. 0x99, 0xba, 0x1d, 0x22, 0x0f, 0x86, 0x19, 0x98, 0x42, 0x0f, 0x71, 0xe2, 0x19, 0x9b, 0xb6, 0x4e,
  3297. 0x47, 0x49, 0xa0, 0xb7, 0x20, 0x4b, 0x5b, 0x57, 0xd8, 0xd6, 0x9a, 0xdd, 0xb5, 0x03, 0x17, 0xa6,
  3298. 0x47, 0x26, 0x27, 0x66, 0x98, 0x01, 0x2e, 0x3d, 0xc1, 0xb9, 0x1f, 0x80, 0x4f, 0x90, 0xe1, 0xc4,
  3299. 0x0d, 0x4e, 0x19, 0xea, 0x0f, 0x00, 0x5f, 0x81, 0xd9, 0x95, 0x64, 0x07, 0x47, 0x76, 0x73, 0xb1,
  3300. 0xd7, 0xbb, 0xbf, 0xff, 0xfb, 0xef, 0xee, 0xd3, 0x7b, 0x32, 0x00, 0x75, 0x9f, 0x72, 0x7b, 0x40,
  3301. 0x09, 0x27, 0x08, 0xf9, 0xc4, 0xeb, 0x62, 0x6a, 0xb3, 0x63, 0x97, 0xf6, 0xbb, 0x01, 0xb7, 0x47,
  3302. 0xef, 0x19, 0xcb, 0xa4, 0xfd, 0x25, 0xf6, 0x38, 0x8b, 0x10, 0xa3, 0xc0, 0xbf, 0x19, 0xe0, 0xe4,
  3303. 0xc7, 0x56, 0x27, 0xe0, 0xcf, 0x86, 0x6d, 0xdb, 0x23, 0xfd, 0x8a, 0x47, 0x28, 0x26, 0xac, 0x82,
  3304. 0xb9, 0xe7, 0x57, 0x44, 0x48, 0xf9, 0x31, 0x68, 0x57, 0xa6, 0xe1, 0x8d, 0x37, 0x3a, 0xa4, 0x43,
  3305. 0xe4, 0xb0, 0x22, 0x46, 0xf1, 0xec, 0xda, 0xa0, 0x37, 0xec, 0x04, 0x61, 0x25, 0xfa, 0x8a, 0x26,
  3306. 0xad, 0x97, 0x2a, 0x80, 0xe3, 0x3e, 0xe5, 0x8f, 0x70, 0xbf, 0x8d, 0x29, 0xba, 0x05, 0x79, 0x11,
  3307. 0xe7, 0x28, 0xf0, 0x75, 0xb5, 0xa4, 0x96, 0xb5, 0x1a, 0x8c, 0xcf, 0x36, 0x73, 0x02, 0x68, 0xee,
  3308. 0x3a, 0x39, 0xb1, 0xd4, 0xf4, 0x05, 0x14, 0x12, 0x1f, 0x0b, 0x28, 0x53, 0x52, 0xcb, 0x4b, 0x11,
  3309. 0xd4, 0x22, 0x3e, 0x16, 0x90, 0x58, 0x6a, 0xfa, 0x08, 0x81, 0xe6, 0xfa, 0x3e, 0xd5, 0xb3, 0x82,
  3310. 0x70, 0xe4, 0x18, 0xd5, 0x20, 0xc7, 0xb8, 0xcb, 0x87, 0x4c, 0xd7, 0x4a, 0x6a, 0xb9, 0x50, 0x7d,
  3311. 0xc7, 0xbe, 0x78, 0x0f, 0xf6, 0x74, 0x37, 0xfb, 0x92, 0xad, 0x69, 0xa7, 0x67, 0x9b, 0x8a, 0x13,
  3312. 0x2b, 0xad, 0x9b, 0x50, 0xf8, 0x94, 0x04, 0xa1, 0x83, 0xbf, 0x1a, 0x62, 0xc6, 0x27, 0x36, 0xea,
  3313. 0xd4, 0xc6, 0xfa, 0x51, 0x85, 0x6b, 0x11, 0xc3, 0x06, 0x24, 0x64, 0xf8, 0x72, 0xa7, 0xfa, 0x08,
  3314. 0xf2, 0x7d, 0x69, 0xcb, 0xf4, 0x4c, 0x29, 0x5b, 0x2e, 0x54, 0xcd, 0xc5, 0xbb, 0x73, 0x12, 0x1c,
  3315. 0xdd, 0x86, 0x22, 0xc5, 0x7d, 0x32, 0xc2, 0xfe, 0x51, 0x12, 0x21, 0x5b, 0xca, 0x96, 0x35, 0x67,
  3316. 0x25, 0x9e, 0x8e, 0x04, 0xcc, 0xaa, 0xc1, 0xb5, 0x87, 0xd8, 0x1d, 0xe1, 0x64, 0xf3, 0x55, 0xd0,
  3317. 0xc4, 0x6d, 0xc9, 0x4d, 0xbd, 0xde, 0x4f, 0xb2, 0x56, 0x11, 0x96, 0xe3, 0x18, 0xd1, 0xe1, 0xac,
  3318. 0x87, 0x70, 0xfd, 0x31, 0x25, 0x1e, 0x66, 0x2c, 0x62, 0x19, 0x73, 0x3b, 0x13, 0x87, 0x3b, 0xe2,
  3319. 0x50, 0x72, 0x26, 0x36, 0x29, 0xda, 0xd1, 0xe3, 0x62, 0x27, 0x60, 0xb2, 0x7e, 0x4f, 0x7b, 0xfe,
  3320. 0x93, 0xa5, 0x58, 0x37, 0xc0, 0x48, 0x8b, 0x16, 0x7b, 0x7d, 0x02, 0xeb, 0x0e, 0x66, 0xa4, 0x37,
  3321. 0xc2, 0xdb, 0xbe, 0x4f, 0x05, 0x14, 0xfb, 0x5c, 0xe6, 0x86, 0xad, 0x77, 0x61, 0x63, 0x56, 0x1d,
  3322. 0x27, 0x28, 0x2d, 0x8b, 0x3d, 0x58, 0x6b, 0x86, 0x1c, 0xd3, 0xd0, 0xed, 0x89, 0x38, 0x89, 0xd3,
  3323. 0x06, 0x64, 0x26, 0x26, 0xb9, 0xf1, 0xd9, 0x66, 0xa6, 0xb9, 0xeb, 0x64, 0x02, 0x1f, 0xdd, 0x87,
  3324. 0x9c, 0xeb, 0xf1, 0x80, 0x84, 0x71, 0xf6, 0x36, 0xd3, 0x6e, 0x73, 0x9f, 0x13, 0x8a, 0xb7, 0x25,
  3325. 0x96, 0x3c, 0x56, 0x91, 0xc8, 0xfa, 0x5e, 0x83, 0xc2, 0xb9, 0x55, 0xf4, 0xf1, 0x24, 0x9c, 0xb0,
  3326. 0x5a, 0xa9, 0xde, 0x7a, 0x4d, 0xb8, 0x07, 0x41, 0xe8, 0x27, 0xc1, 0x90, 0x1d, 0xe7, 0x35, 0x23,
  3327. 0xaf, 0x5c, 0x4f, 0x93, 0x8a, 0x6a, 0x69, 0x28, 0x51, 0x4e, 0xd1, 0x87, 0x90, 0x67, 0x98, 0x8e,
  3328. 0x02, 0x0f, 0xcb, 0x72, 0x29, 0x54, 0xdf, 0x4a, 0x75, 0x8b, 0x90, 0x86, 0xe2, 0x24, 0xb4, 0x30,
  3329. 0xe2, 0x2e, 0xeb, 0xc6, 0xe5, 0x94, 0x6a, 0x74, 0xe0, 0xb2, 0xae, 0x30, 0x12, 0x9c, 0x30, 0x0a,
  3330. 0x31, 0x3f, 0x26, 0xb4, 0xab, 0x5f, 0x99, 0x6f, 0xd4, 0x8a, 0x10, 0x61, 0x14, 0xd3, 0x42, 0xe8,
  3331. 0xf5, 0x86, 0x8c, 0x63, 0xaa, 0xe7, 0xe6, 0x0b, 0x77, 0x22, 0x44, 0x08, 0x63, 0x1a, 0x7d, 0x00,
  3332. 0x39, 0x86, 0x3d, 0x8a, 0xb9, 0x9e, 0x97, 0x3a, 0x23, 0xfd, 0x64, 0x82, 0x68, 0x88, 0x22, 0x97,
  3333. 0x23, 0x74, 0x0f, 0xae, 0x52, 0xcc, 0xc8, 0x90, 0x7a, 0x58, 0xbf, 0x2a, 0x75, 0x37, 0x52, 0x8b,
  3334. 0x23, 0x66, 0x1a, 0x8a, 0x33, 0xe1, 0xd1, 0x7d, 0x58, 0xc2, 0x5f, 0x73, 0x1c, 0x32, 0x91, 0xbc,
  3335. 0x25, 0x29, 0x7e, 0x3b, 0x4d, 0x5c, 0x4f, 0xa0, 0x86, 0xe2, 0x4c, 0x15, 0xb5, 0xab, 0x90, 0xe3,
  3336. 0x2e, 0xed, 0x60, 0x7e, 0xf7, 0x5f, 0x15, 0x8a, 0x33, 0x19, 0x46, 0xb7, 0x21, 0x7f, 0xd8, 0x7a,
  3337. 0xd0, 0xda, 0xfb, 0xbc, 0xb5, 0xaa, 0x18, 0xc6, 0xc9, 0x8b, 0xd2, 0xc6, 0x0c, 0x71, 0x18, 0x76,
  3338. 0x43, 0x72, 0x1c, 0xa2, 0x2a, 0xac, 0xed, 0x1f, 0xec, 0x39, 0xf5, 0xa3, 0xed, 0x9d, 0x83, 0xe6,
  3339. 0x5e, 0xeb, 0x68, 0xc7, 0xa9, 0x6f, 0x1f, 0xd4, 0x57, 0x55, 0xe3, 0xfa, 0xc9, 0x8b, 0xd2, 0xfa,
  3340. 0x8c, 0x68, 0x87, 0x62, 0x97, 0xe3, 0x0b, 0x9a, 0xc3, 0xc7, 0xbb, 0x42, 0x93, 0x49, 0xd5, 0x1c,
  3341. 0x0e, 0xfc, 0x34, 0x8d, 0x53, 0x7f, 0xb4, 0xf7, 0x59, 0x7d, 0x35, 0x9b, 0xaa, 0x71, 0x64, 0x3b,
  3342. 0x32, 0xde, 0xfc, 0xee, 0x17, 0x53, 0xf9, 0xed, 0x57, 0x73, 0xf6, 0x74, 0xd5, 0x1f, 0x32, 0xa0,
  3343. 0x89, 0x5a, 0x43, 0x27, 0x2a, 0xa0, 0x8b, 0x6d, 0x00, 0x6d, 0xa5, 0xdd, 0xe3, 0xdc, 0xe6, 0x63,
  3344. 0xd8, 0x97, 0xc5, 0xe3, 0xee, 0xb2, 0xfe, 0xfb, 0xcb, 0x7f, 0x7e, 0xce, 0x14, 0x61, 0x59, 0xf2,
  3345. 0x5b, 0x7d, 0x37, 0x74, 0x3b, 0x98, 0xa2, 0x6f, 0x61, 0xe5, 0xff, 0x6d, 0x03, 0xdd, 0x99, 0xf7,
  3346. 0x30, 0x5c, 0x68, 0x4c, 0xc6, 0xdd, 0xcb, 0xa0, 0x0b, 0xfd, 0xab, 0x7f, 0xaa, 0xb0, 0x32, 0x6d,
  3347. 0xc3, 0xec, 0x59, 0x30, 0x40, 0x5f, 0x80, 0x26, 0x5e, 0x30, 0x28, 0xb5, 0xc9, 0x9c, 0x7b, 0x3d,
  3348. 0x19, 0xa5, 0xf9, 0xc0, 0xe2, 0x43, 0x7b, 0x70, 0x45, 0xb6, 0x79, 0x94, 0x1a, 0xe1, 0xfc, 0x5b,
  3349. 0xc4, 0xb8, 0xb9, 0x80, 0x58, 0x68, 0x52, 0xd3, 0x4f, 0x5f, 0x99, 0xca, 0x5f, 0xaf, 0x4c, 0xe5,
  3350. 0xf9, 0xd8, 0x54, 0x4f, 0xc7, 0xa6, 0xfa, 0xc7, 0xd8, 0x54, 0xff, 0x1e, 0x9b, 0xea, 0x93, 0xec,
  3351. 0x13, 0xad, 0x9d, 0x93, 0xff, 0x10, 0xde, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x98, 0x55, 0x8d,
  3352. 0x81, 0xb9, 0x08, 0x00, 0x00,
  3353. }