123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029 |
- // Code generated by protoc-gen-gogo.
- // source: github.com/docker/swarmkit/api/raft.proto
- // DO NOT EDIT!
- package api
- import proto "github.com/gogo/protobuf/proto"
- import fmt "fmt"
- import math "math"
- import raftpb "github.com/coreos/etcd/raft/raftpb"
- // skipping weak import gogoproto "github.com/gogo/protobuf/gogoproto"
- // skipping weak import docker_protobuf_plugin "github.com/docker/swarmkit/protobuf/plugin"
- import github_com_docker_swarmkit_api_deepcopy "github.com/docker/swarmkit/api/deepcopy"
- import (
- context "golang.org/x/net/context"
- grpc "google.golang.org/grpc"
- )
- import raftselector "github.com/docker/swarmkit/manager/raftselector"
- import codes "google.golang.org/grpc/codes"
- import status "google.golang.org/grpc/status"
- import metadata "google.golang.org/grpc/metadata"
- import transport "google.golang.org/grpc/transport"
- import rafttime "time"
- import strings "strings"
- import reflect "reflect"
- import io "io"
- // Reference imports to suppress errors if they are not otherwise used.
- var _ = proto.Marshal
- var _ = fmt.Errorf
- var _ = math.Inf
- // StoreActionKind defines the operation to take on the store for the target of
- // a storage action.
- type StoreActionKind int32
- const (
- StoreActionKindUnknown StoreActionKind = 0
- StoreActionKindCreate StoreActionKind = 1
- StoreActionKindUpdate StoreActionKind = 2
- StoreActionKindRemove StoreActionKind = 3
- )
- var StoreActionKind_name = map[int32]string{
- 0: "UNKNOWN",
- 1: "STORE_ACTION_CREATE",
- 2: "STORE_ACTION_UPDATE",
- 3: "STORE_ACTION_REMOVE",
- }
- var StoreActionKind_value = map[string]int32{
- "UNKNOWN": 0,
- "STORE_ACTION_CREATE": 1,
- "STORE_ACTION_UPDATE": 2,
- "STORE_ACTION_REMOVE": 3,
- }
- func (x StoreActionKind) String() string {
- return proto.EnumName(StoreActionKind_name, int32(x))
- }
- func (StoreActionKind) EnumDescriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
- type RaftMember struct {
- // RaftID specifies the internal ID used by the manager in a raft context, it can never be modified
- // and is used only for information purposes
- RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
- // NodeID is the node's ID.
- NodeID string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
- // Addr specifies the address of the member
- Addr string `protobuf:"bytes,3,opt,name=addr,proto3" json:"addr,omitempty"`
- // Status provides the current status of the manager from the perspective of another manager.
- Status RaftMemberStatus `protobuf:"bytes,4,opt,name=status" json:"status"`
- }
- func (m *RaftMember) Reset() { *m = RaftMember{} }
- func (*RaftMember) ProtoMessage() {}
- func (*RaftMember) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{0} }
- type JoinRequest struct {
- // Addr specifies the address of the member
- Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
- }
- func (m *JoinRequest) Reset() { *m = JoinRequest{} }
- func (*JoinRequest) ProtoMessage() {}
- func (*JoinRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{1} }
- type JoinResponse struct {
- // RaftID is the ID assigned to the new member.
- RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
- // Members is the membership set of the cluster.
- Members []*RaftMember `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"`
- // RemovedMembers is a list of members that have been removed from
- // the cluster, so the new node can avoid communicating with them.
- RemovedMembers []uint64 `protobuf:"varint,3,rep,name=removed_members,json=removedMembers" json:"removed_members,omitempty"`
- }
- func (m *JoinResponse) Reset() { *m = JoinResponse{} }
- func (*JoinResponse) ProtoMessage() {}
- func (*JoinResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{2} }
- type LeaveRequest struct {
- Node *RaftMember `protobuf:"bytes,1,opt,name=node" json:"node,omitempty"`
- }
- func (m *LeaveRequest) Reset() { *m = LeaveRequest{} }
- func (*LeaveRequest) ProtoMessage() {}
- func (*LeaveRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{3} }
- type LeaveResponse struct {
- }
- func (m *LeaveResponse) Reset() { *m = LeaveResponse{} }
- func (*LeaveResponse) ProtoMessage() {}
- func (*LeaveResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{4} }
- type ProcessRaftMessageRequest struct {
- Message *raftpb.Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
- }
- func (m *ProcessRaftMessageRequest) Reset() { *m = ProcessRaftMessageRequest{} }
- func (*ProcessRaftMessageRequest) ProtoMessage() {}
- func (*ProcessRaftMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{5} }
- type ProcessRaftMessageResponse struct {
- }
- func (m *ProcessRaftMessageResponse) Reset() { *m = ProcessRaftMessageResponse{} }
- func (*ProcessRaftMessageResponse) ProtoMessage() {}
- func (*ProcessRaftMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{6} }
- // Raft message streaming request.
- type StreamRaftMessageRequest struct {
- Message *raftpb.Message `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
- }
- func (m *StreamRaftMessageRequest) Reset() { *m = StreamRaftMessageRequest{} }
- func (*StreamRaftMessageRequest) ProtoMessage() {}
- func (*StreamRaftMessageRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{7} }
- // Raft message streaming response.
- type StreamRaftMessageResponse struct {
- }
- func (m *StreamRaftMessageResponse) Reset() { *m = StreamRaftMessageResponse{} }
- func (*StreamRaftMessageResponse) ProtoMessage() {}
- func (*StreamRaftMessageResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{8} }
- type ResolveAddressRequest struct {
- // raft_id is the ID to resolve to an address.
- RaftID uint64 `protobuf:"varint,1,opt,name=raft_id,json=raftId,proto3" json:"raft_id,omitempty"`
- }
- func (m *ResolveAddressRequest) Reset() { *m = ResolveAddressRequest{} }
- func (*ResolveAddressRequest) ProtoMessage() {}
- func (*ResolveAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{9} }
- type ResolveAddressResponse struct {
- // Addr specifies the address of the member
- Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
- }
- func (m *ResolveAddressResponse) Reset() { *m = ResolveAddressResponse{} }
- func (*ResolveAddressResponse) ProtoMessage() {}
- func (*ResolveAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{10} }
- // Contains one of many protobuf encoded objects to replicate
- // over the raft backend with a request ID to track when the
- // action is effectively applied
- type InternalRaftRequest struct {
- ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
- Action []StoreAction `protobuf:"bytes,2,rep,name=action" json:"action"`
- }
- func (m *InternalRaftRequest) Reset() { *m = InternalRaftRequest{} }
- func (*InternalRaftRequest) ProtoMessage() {}
- func (*InternalRaftRequest) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{11} }
- // StoreAction defines a target and operation to apply on the storage system.
- type StoreAction struct {
- Action StoreActionKind `protobuf:"varint,1,opt,name=action,proto3,enum=docker.swarmkit.v1.StoreActionKind" json:"action,omitempty"`
- // Types that are valid to be assigned to Target:
- // *StoreAction_Node
- // *StoreAction_Service
- // *StoreAction_Task
- // *StoreAction_Network
- // *StoreAction_Cluster
- // *StoreAction_Secret
- // *StoreAction_Resource
- // *StoreAction_Extension
- // *StoreAction_Config
- Target isStoreAction_Target `protobuf_oneof:"target"`
- }
- func (m *StoreAction) Reset() { *m = StoreAction{} }
- func (*StoreAction) ProtoMessage() {}
- func (*StoreAction) Descriptor() ([]byte, []int) { return fileDescriptorRaft, []int{12} }
- type isStoreAction_Target interface {
- isStoreAction_Target()
- MarshalTo([]byte) (int, error)
- Size() int
- }
- type StoreAction_Node struct {
- Node *Node `protobuf:"bytes,2,opt,name=node,oneof"`
- }
- type StoreAction_Service struct {
- Service *Service `protobuf:"bytes,3,opt,name=service,oneof"`
- }
- type StoreAction_Task struct {
- Task *Task `protobuf:"bytes,4,opt,name=task,oneof"`
- }
- type StoreAction_Network struct {
- Network *Network `protobuf:"bytes,5,opt,name=network,oneof"`
- }
- type StoreAction_Cluster struct {
- Cluster *Cluster `protobuf:"bytes,6,opt,name=cluster,oneof"`
- }
- type StoreAction_Secret struct {
- Secret *Secret `protobuf:"bytes,7,opt,name=secret,oneof"`
- }
- type StoreAction_Resource struct {
- Resource *Resource `protobuf:"bytes,8,opt,name=resource,oneof"`
- }
- type StoreAction_Extension struct {
- Extension *Extension `protobuf:"bytes,9,opt,name=extension,oneof"`
- }
- type StoreAction_Config struct {
- Config *Config `protobuf:"bytes,10,opt,name=config,oneof"`
- }
- func (*StoreAction_Node) isStoreAction_Target() {}
- func (*StoreAction_Service) isStoreAction_Target() {}
- func (*StoreAction_Task) isStoreAction_Target() {}
- func (*StoreAction_Network) isStoreAction_Target() {}
- func (*StoreAction_Cluster) isStoreAction_Target() {}
- func (*StoreAction_Secret) isStoreAction_Target() {}
- func (*StoreAction_Resource) isStoreAction_Target() {}
- func (*StoreAction_Extension) isStoreAction_Target() {}
- func (*StoreAction_Config) isStoreAction_Target() {}
- func (m *StoreAction) GetTarget() isStoreAction_Target {
- if m != nil {
- return m.Target
- }
- return nil
- }
- func (m *StoreAction) GetNode() *Node {
- if x, ok := m.GetTarget().(*StoreAction_Node); ok {
- return x.Node
- }
- return nil
- }
- func (m *StoreAction) GetService() *Service {
- if x, ok := m.GetTarget().(*StoreAction_Service); ok {
- return x.Service
- }
- return nil
- }
- func (m *StoreAction) GetTask() *Task {
- if x, ok := m.GetTarget().(*StoreAction_Task); ok {
- return x.Task
- }
- return nil
- }
- func (m *StoreAction) GetNetwork() *Network {
- if x, ok := m.GetTarget().(*StoreAction_Network); ok {
- return x.Network
- }
- return nil
- }
- func (m *StoreAction) GetCluster() *Cluster {
- if x, ok := m.GetTarget().(*StoreAction_Cluster); ok {
- return x.Cluster
- }
- return nil
- }
- func (m *StoreAction) GetSecret() *Secret {
- if x, ok := m.GetTarget().(*StoreAction_Secret); ok {
- return x.Secret
- }
- return nil
- }
- func (m *StoreAction) GetResource() *Resource {
- if x, ok := m.GetTarget().(*StoreAction_Resource); ok {
- return x.Resource
- }
- return nil
- }
- func (m *StoreAction) GetExtension() *Extension {
- if x, ok := m.GetTarget().(*StoreAction_Extension); ok {
- return x.Extension
- }
- return nil
- }
- func (m *StoreAction) GetConfig() *Config {
- if x, ok := m.GetTarget().(*StoreAction_Config); ok {
- return x.Config
- }
- return nil
- }
- // XXX_OneofFuncs is for the internal use of the proto package.
- 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{}) {
- return _StoreAction_OneofMarshaler, _StoreAction_OneofUnmarshaler, _StoreAction_OneofSizer, []interface{}{
- (*StoreAction_Node)(nil),
- (*StoreAction_Service)(nil),
- (*StoreAction_Task)(nil),
- (*StoreAction_Network)(nil),
- (*StoreAction_Cluster)(nil),
- (*StoreAction_Secret)(nil),
- (*StoreAction_Resource)(nil),
- (*StoreAction_Extension)(nil),
- (*StoreAction_Config)(nil),
- }
- }
- func _StoreAction_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
- m := msg.(*StoreAction)
- // target
- switch x := m.Target.(type) {
- case *StoreAction_Node:
- _ = b.EncodeVarint(2<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Node); err != nil {
- return err
- }
- case *StoreAction_Service:
- _ = b.EncodeVarint(3<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Service); err != nil {
- return err
- }
- case *StoreAction_Task:
- _ = b.EncodeVarint(4<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Task); err != nil {
- return err
- }
- case *StoreAction_Network:
- _ = b.EncodeVarint(5<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Network); err != nil {
- return err
- }
- case *StoreAction_Cluster:
- _ = b.EncodeVarint(6<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Cluster); err != nil {
- return err
- }
- case *StoreAction_Secret:
- _ = b.EncodeVarint(7<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Secret); err != nil {
- return err
- }
- case *StoreAction_Resource:
- _ = b.EncodeVarint(8<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Resource); err != nil {
- return err
- }
- case *StoreAction_Extension:
- _ = b.EncodeVarint(9<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Extension); err != nil {
- return err
- }
- case *StoreAction_Config:
- _ = b.EncodeVarint(10<<3 | proto.WireBytes)
- if err := b.EncodeMessage(x.Config); err != nil {
- return err
- }
- case nil:
- default:
- return fmt.Errorf("StoreAction.Target has unexpected type %T", x)
- }
- return nil
- }
- func _StoreAction_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
- m := msg.(*StoreAction)
- switch tag {
- case 2: // target.node
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Node)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Node{msg}
- return true, err
- case 3: // target.service
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Service)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Service{msg}
- return true, err
- case 4: // target.task
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Task)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Task{msg}
- return true, err
- case 5: // target.network
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Network)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Network{msg}
- return true, err
- case 6: // target.cluster
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Cluster)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Cluster{msg}
- return true, err
- case 7: // target.secret
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Secret)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Secret{msg}
- return true, err
- case 8: // target.resource
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Resource)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Resource{msg}
- return true, err
- case 9: // target.extension
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Extension)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Extension{msg}
- return true, err
- case 10: // target.config
- if wire != proto.WireBytes {
- return true, proto.ErrInternalBadWireType
- }
- msg := new(Config)
- err := b.DecodeMessage(msg)
- m.Target = &StoreAction_Config{msg}
- return true, err
- default:
- return false, nil
- }
- }
- func _StoreAction_OneofSizer(msg proto.Message) (n int) {
- m := msg.(*StoreAction)
- // target
- switch x := m.Target.(type) {
- case *StoreAction_Node:
- s := proto.Size(x.Node)
- n += proto.SizeVarint(2<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Service:
- s := proto.Size(x.Service)
- n += proto.SizeVarint(3<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Task:
- s := proto.Size(x.Task)
- n += proto.SizeVarint(4<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Network:
- s := proto.Size(x.Network)
- n += proto.SizeVarint(5<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Cluster:
- s := proto.Size(x.Cluster)
- n += proto.SizeVarint(6<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Secret:
- s := proto.Size(x.Secret)
- n += proto.SizeVarint(7<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Resource:
- s := proto.Size(x.Resource)
- n += proto.SizeVarint(8<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Extension:
- s := proto.Size(x.Extension)
- n += proto.SizeVarint(9<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case *StoreAction_Config:
- s := proto.Size(x.Config)
- n += proto.SizeVarint(10<<3 | proto.WireBytes)
- n += proto.SizeVarint(uint64(s))
- n += s
- case nil:
- default:
- panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
- }
- return n
- }
- func init() {
- proto.RegisterType((*RaftMember)(nil), "docker.swarmkit.v1.RaftMember")
- proto.RegisterType((*JoinRequest)(nil), "docker.swarmkit.v1.JoinRequest")
- proto.RegisterType((*JoinResponse)(nil), "docker.swarmkit.v1.JoinResponse")
- proto.RegisterType((*LeaveRequest)(nil), "docker.swarmkit.v1.LeaveRequest")
- proto.RegisterType((*LeaveResponse)(nil), "docker.swarmkit.v1.LeaveResponse")
- proto.RegisterType((*ProcessRaftMessageRequest)(nil), "docker.swarmkit.v1.ProcessRaftMessageRequest")
- proto.RegisterType((*ProcessRaftMessageResponse)(nil), "docker.swarmkit.v1.ProcessRaftMessageResponse")
- proto.RegisterType((*StreamRaftMessageRequest)(nil), "docker.swarmkit.v1.StreamRaftMessageRequest")
- proto.RegisterType((*StreamRaftMessageResponse)(nil), "docker.swarmkit.v1.StreamRaftMessageResponse")
- proto.RegisterType((*ResolveAddressRequest)(nil), "docker.swarmkit.v1.ResolveAddressRequest")
- proto.RegisterType((*ResolveAddressResponse)(nil), "docker.swarmkit.v1.ResolveAddressResponse")
- proto.RegisterType((*InternalRaftRequest)(nil), "docker.swarmkit.v1.InternalRaftRequest")
- proto.RegisterType((*StoreAction)(nil), "docker.swarmkit.v1.StoreAction")
- proto.RegisterEnum("docker.swarmkit.v1.StoreActionKind", StoreActionKind_name, StoreActionKind_value)
- }
- type authenticatedWrapperRaftServer struct {
- local RaftServer
- authorize func(context.Context, []string) error
- }
- func NewAuthenticatedWrapperRaftServer(local RaftServer, authorize func(context.Context, []string) error) RaftServer {
- return &authenticatedWrapperRaftServer{
- local: local,
- authorize: authorize,
- }
- }
- func (p *authenticatedWrapperRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
- if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
- return nil, err
- }
- return p.local.ProcessRaftMessage(ctx, r)
- }
- func (p *authenticatedWrapperRaftServer) StreamRaftMessage(stream Raft_StreamRaftMessageServer) error {
- if err := p.authorize(stream.Context(), []string{"swarm-manager"}); err != nil {
- return err
- }
- return p.local.StreamRaftMessage(stream)
- }
- func (p *authenticatedWrapperRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
- if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
- return nil, err
- }
- return p.local.ResolveAddress(ctx, r)
- }
- type authenticatedWrapperRaftMembershipServer struct {
- local RaftMembershipServer
- authorize func(context.Context, []string) error
- }
- func NewAuthenticatedWrapperRaftMembershipServer(local RaftMembershipServer, authorize func(context.Context, []string) error) RaftMembershipServer {
- return &authenticatedWrapperRaftMembershipServer{
- local: local,
- authorize: authorize,
- }
- }
- func (p *authenticatedWrapperRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
- if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
- return nil, err
- }
- return p.local.Join(ctx, r)
- }
- func (p *authenticatedWrapperRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
- if err := p.authorize(ctx, []string{"swarm-manager"}); err != nil {
- return nil, err
- }
- return p.local.Leave(ctx, r)
- }
- func (m *RaftMember) Copy() *RaftMember {
- if m == nil {
- return nil
- }
- o := &RaftMember{}
- o.CopyFrom(m)
- return o
- }
- func (m *RaftMember) CopyFrom(src interface{}) {
- o := src.(*RaftMember)
- *m = *o
- github_com_docker_swarmkit_api_deepcopy.Copy(&m.Status, &o.Status)
- }
- func (m *JoinRequest) Copy() *JoinRequest {
- if m == nil {
- return nil
- }
- o := &JoinRequest{}
- o.CopyFrom(m)
- return o
- }
- func (m *JoinRequest) CopyFrom(src interface{}) {
- o := src.(*JoinRequest)
- *m = *o
- }
- func (m *JoinResponse) Copy() *JoinResponse {
- if m == nil {
- return nil
- }
- o := &JoinResponse{}
- o.CopyFrom(m)
- return o
- }
- func (m *JoinResponse) CopyFrom(src interface{}) {
- o := src.(*JoinResponse)
- *m = *o
- if o.Members != nil {
- m.Members = make([]*RaftMember, len(o.Members))
- for i := range m.Members {
- m.Members[i] = &RaftMember{}
- github_com_docker_swarmkit_api_deepcopy.Copy(m.Members[i], o.Members[i])
- }
- }
- if o.RemovedMembers != nil {
- m.RemovedMembers = make([]uint64, len(o.RemovedMembers))
- copy(m.RemovedMembers, o.RemovedMembers)
- }
- }
- func (m *LeaveRequest) Copy() *LeaveRequest {
- if m == nil {
- return nil
- }
- o := &LeaveRequest{}
- o.CopyFrom(m)
- return o
- }
- func (m *LeaveRequest) CopyFrom(src interface{}) {
- o := src.(*LeaveRequest)
- *m = *o
- if o.Node != nil {
- m.Node = &RaftMember{}
- github_com_docker_swarmkit_api_deepcopy.Copy(m.Node, o.Node)
- }
- }
- func (m *LeaveResponse) Copy() *LeaveResponse {
- if m == nil {
- return nil
- }
- o := &LeaveResponse{}
- o.CopyFrom(m)
- return o
- }
- func (m *LeaveResponse) CopyFrom(src interface{}) {}
- func (m *ProcessRaftMessageResponse) Copy() *ProcessRaftMessageResponse {
- if m == nil {
- return nil
- }
- o := &ProcessRaftMessageResponse{}
- o.CopyFrom(m)
- return o
- }
- func (m *ProcessRaftMessageResponse) CopyFrom(src interface{}) {}
- func (m *StreamRaftMessageResponse) Copy() *StreamRaftMessageResponse {
- if m == nil {
- return nil
- }
- o := &StreamRaftMessageResponse{}
- o.CopyFrom(m)
- return o
- }
- func (m *StreamRaftMessageResponse) CopyFrom(src interface{}) {}
- func (m *ResolveAddressRequest) Copy() *ResolveAddressRequest {
- if m == nil {
- return nil
- }
- o := &ResolveAddressRequest{}
- o.CopyFrom(m)
- return o
- }
- func (m *ResolveAddressRequest) CopyFrom(src interface{}) {
- o := src.(*ResolveAddressRequest)
- *m = *o
- }
- func (m *ResolveAddressResponse) Copy() *ResolveAddressResponse {
- if m == nil {
- return nil
- }
- o := &ResolveAddressResponse{}
- o.CopyFrom(m)
- return o
- }
- func (m *ResolveAddressResponse) CopyFrom(src interface{}) {
- o := src.(*ResolveAddressResponse)
- *m = *o
- }
- func (m *InternalRaftRequest) Copy() *InternalRaftRequest {
- if m == nil {
- return nil
- }
- o := &InternalRaftRequest{}
- o.CopyFrom(m)
- return o
- }
- func (m *InternalRaftRequest) CopyFrom(src interface{}) {
- o := src.(*InternalRaftRequest)
- *m = *o
- if o.Action != nil {
- m.Action = make([]StoreAction, len(o.Action))
- for i := range m.Action {
- github_com_docker_swarmkit_api_deepcopy.Copy(&m.Action[i], &o.Action[i])
- }
- }
- }
- func (m *StoreAction) Copy() *StoreAction {
- if m == nil {
- return nil
- }
- o := &StoreAction{}
- o.CopyFrom(m)
- return o
- }
- func (m *StoreAction) CopyFrom(src interface{}) {
- o := src.(*StoreAction)
- *m = *o
- if o.Target != nil {
- switch o.Target.(type) {
- case *StoreAction_Node:
- v := StoreAction_Node{
- Node: &Node{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Node, o.GetNode())
- m.Target = &v
- case *StoreAction_Service:
- v := StoreAction_Service{
- Service: &Service{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Service, o.GetService())
- m.Target = &v
- case *StoreAction_Task:
- v := StoreAction_Task{
- Task: &Task{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Task, o.GetTask())
- m.Target = &v
- case *StoreAction_Network:
- v := StoreAction_Network{
- Network: &Network{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Network, o.GetNetwork())
- m.Target = &v
- case *StoreAction_Cluster:
- v := StoreAction_Cluster{
- Cluster: &Cluster{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Cluster, o.GetCluster())
- m.Target = &v
- case *StoreAction_Secret:
- v := StoreAction_Secret{
- Secret: &Secret{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Secret, o.GetSecret())
- m.Target = &v
- case *StoreAction_Resource:
- v := StoreAction_Resource{
- Resource: &Resource{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Resource, o.GetResource())
- m.Target = &v
- case *StoreAction_Extension:
- v := StoreAction_Extension{
- Extension: &Extension{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Extension, o.GetExtension())
- m.Target = &v
- case *StoreAction_Config:
- v := StoreAction_Config{
- Config: &Config{},
- }
- github_com_docker_swarmkit_api_deepcopy.Copy(v.Config, o.GetConfig())
- m.Target = &v
- }
- }
- }
- // Reference imports to suppress errors if they are not otherwise used.
- var _ context.Context
- var _ grpc.ClientConn
- // This is a compile-time assertion to ensure that this generated file
- // is compatible with the grpc package it is being compiled against.
- const _ = grpc.SupportPackageIsVersion4
- // Client API for Raft service
- type RaftClient interface {
- // ProcessRaftMessage sends a raft message to be processed on a raft member, it is
- // called from the RaftMember willing to send a message to its destination ('To' field)
- ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error)
- // StreamRaftMessage accepts a stream of raft messages of type StreamRaftMessageRequest
- // to be processed on a raft member, returning a StreamRaftMessageResponse
- // when processing of the streamed messages is complete. A single stream corresponds
- // to a single raft message, which may be disassembled and streamed as individual messages.
- // It is called from the Raft leader, which uses it to stream messages to a raft member.
- StreamRaftMessage(ctx context.Context, opts ...grpc.CallOption) (Raft_StreamRaftMessageClient, error)
- // ResolveAddress returns the address where the node with the given ID can be reached.
- ResolveAddress(ctx context.Context, in *ResolveAddressRequest, opts ...grpc.CallOption) (*ResolveAddressResponse, error)
- }
- type raftClient struct {
- cc *grpc.ClientConn
- }
- func NewRaftClient(cc *grpc.ClientConn) RaftClient {
- return &raftClient{cc}
- }
- func (c *raftClient) ProcessRaftMessage(ctx context.Context, in *ProcessRaftMessageRequest, opts ...grpc.CallOption) (*ProcessRaftMessageResponse, error) {
- out := new(ProcessRaftMessageResponse)
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/ProcessRaftMessage", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
- func (c *raftClient) StreamRaftMessage(ctx context.Context, opts ...grpc.CallOption) (Raft_StreamRaftMessageClient, error) {
- stream, err := grpc.NewClientStream(ctx, &_Raft_serviceDesc.Streams[0], c.cc, "/docker.swarmkit.v1.Raft/StreamRaftMessage", opts...)
- if err != nil {
- return nil, err
- }
- x := &raftStreamRaftMessageClient{stream}
- return x, nil
- }
- type Raft_StreamRaftMessageClient interface {
- Send(*StreamRaftMessageRequest) error
- CloseAndRecv() (*StreamRaftMessageResponse, error)
- grpc.ClientStream
- }
- type raftStreamRaftMessageClient struct {
- grpc.ClientStream
- }
- func (x *raftStreamRaftMessageClient) Send(m *StreamRaftMessageRequest) error {
- return x.ClientStream.SendMsg(m)
- }
- func (x *raftStreamRaftMessageClient) CloseAndRecv() (*StreamRaftMessageResponse, error) {
- if err := x.ClientStream.CloseSend(); err != nil {
- return nil, err
- }
- m := new(StreamRaftMessageResponse)
- if err := x.ClientStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
- }
- func (c *raftClient) ResolveAddress(ctx context.Context, in *ResolveAddressRequest, opts ...grpc.CallOption) (*ResolveAddressResponse, error) {
- out := new(ResolveAddressResponse)
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.Raft/ResolveAddress", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
- // Server API for Raft service
- type RaftServer interface {
- // ProcessRaftMessage sends a raft message to be processed on a raft member, it is
- // called from the RaftMember willing to send a message to its destination ('To' field)
- ProcessRaftMessage(context.Context, *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error)
- // StreamRaftMessage accepts a stream of raft messages of type StreamRaftMessageRequest
- // to be processed on a raft member, returning a StreamRaftMessageResponse
- // when processing of the streamed messages is complete. A single stream corresponds
- // to a single raft message, which may be disassembled and streamed as individual messages.
- // It is called from the Raft leader, which uses it to stream messages to a raft member.
- StreamRaftMessage(Raft_StreamRaftMessageServer) error
- // ResolveAddress returns the address where the node with the given ID can be reached.
- ResolveAddress(context.Context, *ResolveAddressRequest) (*ResolveAddressResponse, error)
- }
- func RegisterRaftServer(s *grpc.Server, srv RaftServer) {
- s.RegisterService(&_Raft_serviceDesc, srv)
- }
- func _Raft_ProcessRaftMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ProcessRaftMessageRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(RaftServer).ProcessRaftMessage(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/docker.swarmkit.v1.Raft/ProcessRaftMessage",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(RaftServer).ProcessRaftMessage(ctx, req.(*ProcessRaftMessageRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
- func _Raft_StreamRaftMessage_Handler(srv interface{}, stream grpc.ServerStream) error {
- return srv.(RaftServer).StreamRaftMessage(&raftStreamRaftMessageServer{stream})
- }
- type Raft_StreamRaftMessageServer interface {
- SendAndClose(*StreamRaftMessageResponse) error
- Recv() (*StreamRaftMessageRequest, error)
- grpc.ServerStream
- }
- type raftStreamRaftMessageServer struct {
- grpc.ServerStream
- }
- func (x *raftStreamRaftMessageServer) SendAndClose(m *StreamRaftMessageResponse) error {
- return x.ServerStream.SendMsg(m)
- }
- func (x *raftStreamRaftMessageServer) Recv() (*StreamRaftMessageRequest, error) {
- m := new(StreamRaftMessageRequest)
- if err := x.ServerStream.RecvMsg(m); err != nil {
- return nil, err
- }
- return m, nil
- }
- func _Raft_ResolveAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(ResolveAddressRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(RaftServer).ResolveAddress(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/docker.swarmkit.v1.Raft/ResolveAddress",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(RaftServer).ResolveAddress(ctx, req.(*ResolveAddressRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
- var _Raft_serviceDesc = grpc.ServiceDesc{
- ServiceName: "docker.swarmkit.v1.Raft",
- HandlerType: (*RaftServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "ProcessRaftMessage",
- Handler: _Raft_ProcessRaftMessage_Handler,
- },
- {
- MethodName: "ResolveAddress",
- Handler: _Raft_ResolveAddress_Handler,
- },
- },
- Streams: []grpc.StreamDesc{
- {
- StreamName: "StreamRaftMessage",
- Handler: _Raft_StreamRaftMessage_Handler,
- ClientStreams: true,
- },
- },
- Metadata: "github.com/docker/swarmkit/api/raft.proto",
- }
- // Client API for RaftMembership service
- type RaftMembershipClient interface {
- // Join adds a RaftMember to the raft cluster.
- Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error)
- // Leave removes a RaftMember from the raft cluster.
- Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error)
- }
- type raftMembershipClient struct {
- cc *grpc.ClientConn
- }
- func NewRaftMembershipClient(cc *grpc.ClientConn) RaftMembershipClient {
- return &raftMembershipClient{cc}
- }
- func (c *raftMembershipClient) Join(ctx context.Context, in *JoinRequest, opts ...grpc.CallOption) (*JoinResponse, error) {
- out := new(JoinResponse)
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Join", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
- func (c *raftMembershipClient) Leave(ctx context.Context, in *LeaveRequest, opts ...grpc.CallOption) (*LeaveResponse, error) {
- out := new(LeaveResponse)
- err := grpc.Invoke(ctx, "/docker.swarmkit.v1.RaftMembership/Leave", in, out, c.cc, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
- }
- // Server API for RaftMembership service
- type RaftMembershipServer interface {
- // Join adds a RaftMember to the raft cluster.
- Join(context.Context, *JoinRequest) (*JoinResponse, error)
- // Leave removes a RaftMember from the raft cluster.
- Leave(context.Context, *LeaveRequest) (*LeaveResponse, error)
- }
- func RegisterRaftMembershipServer(s *grpc.Server, srv RaftMembershipServer) {
- s.RegisterService(&_RaftMembership_serviceDesc, srv)
- }
- func _RaftMembership_Join_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(JoinRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(RaftMembershipServer).Join(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/docker.swarmkit.v1.RaftMembership/Join",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(RaftMembershipServer).Join(ctx, req.(*JoinRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
- func _RaftMembership_Leave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(LeaveRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(RaftMembershipServer).Leave(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/docker.swarmkit.v1.RaftMembership/Leave",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(RaftMembershipServer).Leave(ctx, req.(*LeaveRequest))
- }
- return interceptor(ctx, in, info, handler)
- }
- var _RaftMembership_serviceDesc = grpc.ServiceDesc{
- ServiceName: "docker.swarmkit.v1.RaftMembership",
- HandlerType: (*RaftMembershipServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "Join",
- Handler: _RaftMembership_Join_Handler,
- },
- {
- MethodName: "Leave",
- Handler: _RaftMembership_Leave_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "github.com/docker/swarmkit/api/raft.proto",
- }
- func (m *RaftMember) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *RaftMember) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.RaftID != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
- }
- if len(m.NodeID) > 0 {
- dAtA[i] = 0x12
- i++
- i = encodeVarintRaft(dAtA, i, uint64(len(m.NodeID)))
- i += copy(dAtA[i:], m.NodeID)
- }
- if len(m.Addr) > 0 {
- dAtA[i] = 0x1a
- i++
- i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
- i += copy(dAtA[i:], m.Addr)
- }
- dAtA[i] = 0x22
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Status.Size()))
- n1, err := m.Status.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n1
- return i, nil
- }
- func (m *JoinRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *JoinRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.Addr) > 0 {
- dAtA[i] = 0xa
- i++
- i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
- i += copy(dAtA[i:], m.Addr)
- }
- return i, nil
- }
- func (m *JoinResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *JoinResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.RaftID != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
- }
- if len(m.Members) > 0 {
- for _, msg := range m.Members {
- dAtA[i] = 0x12
- i++
- i = encodeVarintRaft(dAtA, i, uint64(msg.Size()))
- n, err := msg.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n
- }
- }
- if len(m.RemovedMembers) > 0 {
- for _, num := range m.RemovedMembers {
- dAtA[i] = 0x18
- i++
- i = encodeVarintRaft(dAtA, i, uint64(num))
- }
- }
- return i, nil
- }
- func (m *LeaveRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *LeaveRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.Node != nil {
- dAtA[i] = 0xa
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Node.Size()))
- n2, err := m.Node.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n2
- }
- return i, nil
- }
- func (m *LeaveResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *LeaveResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- return i, nil
- }
- func (m *ProcessRaftMessageRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *ProcessRaftMessageRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.Message != nil {
- dAtA[i] = 0xa
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Message.Size()))
- n3, err := m.Message.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n3
- }
- return i, nil
- }
- func (m *ProcessRaftMessageResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *ProcessRaftMessageResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- return i, nil
- }
- func (m *StreamRaftMessageRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *StreamRaftMessageRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.Message != nil {
- dAtA[i] = 0xa
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Message.Size()))
- n4, err := m.Message.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n4
- }
- return i, nil
- }
- func (m *StreamRaftMessageResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *StreamRaftMessageResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- return i, nil
- }
- func (m *ResolveAddressRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *ResolveAddressRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.RaftID != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.RaftID))
- }
- return i, nil
- }
- func (m *ResolveAddressResponse) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *ResolveAddressResponse) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if len(m.Addr) > 0 {
- dAtA[i] = 0xa
- i++
- i = encodeVarintRaft(dAtA, i, uint64(len(m.Addr)))
- i += copy(dAtA[i:], m.Addr)
- }
- return i, nil
- }
- func (m *InternalRaftRequest) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *InternalRaftRequest) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.ID != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.ID))
- }
- if len(m.Action) > 0 {
- for _, msg := range m.Action {
- dAtA[i] = 0x12
- i++
- i = encodeVarintRaft(dAtA, i, uint64(msg.Size()))
- n, err := msg.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n
- }
- }
- return i, nil
- }
- func (m *StoreAction) Marshal() (dAtA []byte, err error) {
- size := m.Size()
- dAtA = make([]byte, size)
- n, err := m.MarshalTo(dAtA)
- if err != nil {
- return nil, err
- }
- return dAtA[:n], nil
- }
- func (m *StoreAction) MarshalTo(dAtA []byte) (int, error) {
- var i int
- _ = i
- var l int
- _ = l
- if m.Action != 0 {
- dAtA[i] = 0x8
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Action))
- }
- if m.Target != nil {
- nn5, err := m.Target.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += nn5
- }
- return i, nil
- }
- func (m *StoreAction_Node) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Node != nil {
- dAtA[i] = 0x12
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Node.Size()))
- n6, err := m.Node.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n6
- }
- return i, nil
- }
- func (m *StoreAction_Service) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Service != nil {
- dAtA[i] = 0x1a
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Service.Size()))
- n7, err := m.Service.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n7
- }
- return i, nil
- }
- func (m *StoreAction_Task) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Task != nil {
- dAtA[i] = 0x22
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Task.Size()))
- n8, err := m.Task.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n8
- }
- return i, nil
- }
- func (m *StoreAction_Network) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Network != nil {
- dAtA[i] = 0x2a
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Network.Size()))
- n9, err := m.Network.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n9
- }
- return i, nil
- }
- func (m *StoreAction_Cluster) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Cluster != nil {
- dAtA[i] = 0x32
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Cluster.Size()))
- n10, err := m.Cluster.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n10
- }
- return i, nil
- }
- func (m *StoreAction_Secret) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Secret != nil {
- dAtA[i] = 0x3a
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Secret.Size()))
- n11, err := m.Secret.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n11
- }
- return i, nil
- }
- func (m *StoreAction_Resource) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Resource != nil {
- dAtA[i] = 0x42
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Resource.Size()))
- n12, err := m.Resource.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n12
- }
- return i, nil
- }
- func (m *StoreAction_Extension) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Extension != nil {
- dAtA[i] = 0x4a
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Extension.Size()))
- n13, err := m.Extension.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n13
- }
- return i, nil
- }
- func (m *StoreAction_Config) MarshalTo(dAtA []byte) (int, error) {
- i := 0
- if m.Config != nil {
- dAtA[i] = 0x52
- i++
- i = encodeVarintRaft(dAtA, i, uint64(m.Config.Size()))
- n14, err := m.Config.MarshalTo(dAtA[i:])
- if err != nil {
- return 0, err
- }
- i += n14
- }
- return i, nil
- }
- func encodeFixed64Raft(dAtA []byte, offset int, v uint64) int {
- dAtA[offset] = uint8(v)
- dAtA[offset+1] = uint8(v >> 8)
- dAtA[offset+2] = uint8(v >> 16)
- dAtA[offset+3] = uint8(v >> 24)
- dAtA[offset+4] = uint8(v >> 32)
- dAtA[offset+5] = uint8(v >> 40)
- dAtA[offset+6] = uint8(v >> 48)
- dAtA[offset+7] = uint8(v >> 56)
- return offset + 8
- }
- func encodeFixed32Raft(dAtA []byte, offset int, v uint32) int {
- dAtA[offset] = uint8(v)
- dAtA[offset+1] = uint8(v >> 8)
- dAtA[offset+2] = uint8(v >> 16)
- dAtA[offset+3] = uint8(v >> 24)
- return offset + 4
- }
- func encodeVarintRaft(dAtA []byte, offset int, v uint64) int {
- for v >= 1<<7 {
- dAtA[offset] = uint8(v&0x7f | 0x80)
- v >>= 7
- offset++
- }
- dAtA[offset] = uint8(v)
- return offset + 1
- }
- type raftProxyRaftServer struct {
- local RaftServer
- connSelector raftselector.ConnProvider
- localCtxMods, remoteCtxMods []func(context.Context) (context.Context, error)
- }
- func NewRaftProxyRaftServer(local RaftServer, connSelector raftselector.ConnProvider, localCtxMod, remoteCtxMod func(context.Context) (context.Context, error)) RaftServer {
- redirectChecker := func(ctx context.Context) (context.Context, error) {
- s, ok := transport.StreamFromContext(ctx)
- if !ok {
- return ctx, status.Errorf(codes.InvalidArgument, "remote addr is not found in context")
- }
- addr := s.ServerTransport().RemoteAddr().String()
- md, ok := metadata.FromContext(ctx)
- if ok && len(md["redirect"]) != 0 {
- return ctx, status.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
- }
- if !ok {
- md = metadata.New(map[string]string{})
- }
- md["redirect"] = append(md["redirect"], addr)
- return metadata.NewContext(ctx, md), nil
- }
- remoteMods := []func(context.Context) (context.Context, error){redirectChecker}
- remoteMods = append(remoteMods, remoteCtxMod)
- var localMods []func(context.Context) (context.Context, error)
- if localCtxMod != nil {
- localMods = []func(context.Context) (context.Context, error){localCtxMod}
- }
- return &raftProxyRaftServer{
- local: local,
- connSelector: connSelector,
- localCtxMods: localMods,
- remoteCtxMods: remoteMods,
- }
- }
- func (p *raftProxyRaftServer) runCtxMods(ctx context.Context, ctxMods []func(context.Context) (context.Context, error)) (context.Context, error) {
- var err error
- for _, mod := range ctxMods {
- ctx, err = mod(ctx)
- if err != nil {
- return ctx, err
- }
- }
- return ctx, nil
- }
- func (p *raftProxyRaftServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
- ticker := rafttime.NewTicker(500 * rafttime.Millisecond)
- defer ticker.Stop()
- for {
- select {
- case <-ticker.C:
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- return nil, err
- }
- client := NewHealthClient(conn)
- resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
- if err != nil || resp.Status != HealthCheckResponse_SERVING {
- continue
- }
- return conn, nil
- case <-ctx.Done():
- return nil, ctx.Err()
- }
- }
- }
- func (p *raftProxyRaftServer) ProcessRaftMessage(ctx context.Context, r *ProcessRaftMessageRequest) (*ProcessRaftMessageResponse, error) {
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- ctx, err = p.runCtxMods(ctx, p.localCtxMods)
- if err != nil {
- return nil, err
- }
- return p.local.ProcessRaftMessage(ctx, r)
- }
- return nil, err
- }
- modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
- if err != nil {
- return nil, err
- }
- resp, err := NewRaftClient(conn).ProcessRaftMessage(modCtx, r)
- if err != nil {
- if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
- return resp, err
- }
- conn, err := p.pollNewLeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- return p.local.ProcessRaftMessage(ctx, r)
- }
- return nil, err
- }
- return NewRaftClient(conn).ProcessRaftMessage(modCtx, r)
- }
- return resp, err
- }
- type Raft_StreamRaftMessageServerWrapper struct {
- Raft_StreamRaftMessageServer
- ctx context.Context
- }
- func (s Raft_StreamRaftMessageServerWrapper) Context() context.Context {
- return s.ctx
- }
- func (p *raftProxyRaftServer) StreamRaftMessage(stream Raft_StreamRaftMessageServer) error {
- ctx := stream.Context()
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- ctx, err = p.runCtxMods(ctx, p.localCtxMods)
- if err != nil {
- return err
- }
- streamWrapper := Raft_StreamRaftMessageServerWrapper{
- Raft_StreamRaftMessageServer: stream,
- ctx: ctx,
- }
- return p.local.StreamRaftMessage(streamWrapper)
- }
- return err
- }
- ctx, err = p.runCtxMods(ctx, p.remoteCtxMods)
- if err != nil {
- return err
- }
- clientStream, err := NewRaftClient(conn).StreamRaftMessage(ctx)
- if err != nil {
- return err
- }
- for {
- msg, err := stream.Recv()
- if err == io.EOF {
- break
- }
- if err != nil {
- return err
- }
- if err := clientStream.Send(msg); err != nil {
- return err
- }
- }
- reply, err := clientStream.CloseAndRecv()
- if err != nil {
- return err
- }
- return stream.SendAndClose(reply)
- }
- func (p *raftProxyRaftServer) ResolveAddress(ctx context.Context, r *ResolveAddressRequest) (*ResolveAddressResponse, error) {
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- ctx, err = p.runCtxMods(ctx, p.localCtxMods)
- if err != nil {
- return nil, err
- }
- return p.local.ResolveAddress(ctx, r)
- }
- return nil, err
- }
- modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
- if err != nil {
- return nil, err
- }
- resp, err := NewRaftClient(conn).ResolveAddress(modCtx, r)
- if err != nil {
- if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
- return resp, err
- }
- conn, err := p.pollNewLeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- return p.local.ResolveAddress(ctx, r)
- }
- return nil, err
- }
- return NewRaftClient(conn).ResolveAddress(modCtx, r)
- }
- return resp, err
- }
- type raftProxyRaftMembershipServer struct {
- local RaftMembershipServer
- connSelector raftselector.ConnProvider
- localCtxMods, remoteCtxMods []func(context.Context) (context.Context, error)
- }
- func NewRaftProxyRaftMembershipServer(local RaftMembershipServer, connSelector raftselector.ConnProvider, localCtxMod, remoteCtxMod func(context.Context) (context.Context, error)) RaftMembershipServer {
- redirectChecker := func(ctx context.Context) (context.Context, error) {
- s, ok := transport.StreamFromContext(ctx)
- if !ok {
- return ctx, status.Errorf(codes.InvalidArgument, "remote addr is not found in context")
- }
- addr := s.ServerTransport().RemoteAddr().String()
- md, ok := metadata.FromContext(ctx)
- if ok && len(md["redirect"]) != 0 {
- return ctx, status.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
- }
- if !ok {
- md = metadata.New(map[string]string{})
- }
- md["redirect"] = append(md["redirect"], addr)
- return metadata.NewContext(ctx, md), nil
- }
- remoteMods := []func(context.Context) (context.Context, error){redirectChecker}
- remoteMods = append(remoteMods, remoteCtxMod)
- var localMods []func(context.Context) (context.Context, error)
- if localCtxMod != nil {
- localMods = []func(context.Context) (context.Context, error){localCtxMod}
- }
- return &raftProxyRaftMembershipServer{
- local: local,
- connSelector: connSelector,
- localCtxMods: localMods,
- remoteCtxMods: remoteMods,
- }
- }
- func (p *raftProxyRaftMembershipServer) runCtxMods(ctx context.Context, ctxMods []func(context.Context) (context.Context, error)) (context.Context, error) {
- var err error
- for _, mod := range ctxMods {
- ctx, err = mod(ctx)
- if err != nil {
- return ctx, err
- }
- }
- return ctx, nil
- }
- func (p *raftProxyRaftMembershipServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
- ticker := rafttime.NewTicker(500 * rafttime.Millisecond)
- defer ticker.Stop()
- for {
- select {
- case <-ticker.C:
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- return nil, err
- }
- client := NewHealthClient(conn)
- resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
- if err != nil || resp.Status != HealthCheckResponse_SERVING {
- continue
- }
- return conn, nil
- case <-ctx.Done():
- return nil, ctx.Err()
- }
- }
- }
- func (p *raftProxyRaftMembershipServer) Join(ctx context.Context, r *JoinRequest) (*JoinResponse, error) {
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- ctx, err = p.runCtxMods(ctx, p.localCtxMods)
- if err != nil {
- return nil, err
- }
- return p.local.Join(ctx, r)
- }
- return nil, err
- }
- modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
- if err != nil {
- return nil, err
- }
- resp, err := NewRaftMembershipClient(conn).Join(modCtx, r)
- if err != nil {
- if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
- return resp, err
- }
- conn, err := p.pollNewLeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- return p.local.Join(ctx, r)
- }
- return nil, err
- }
- return NewRaftMembershipClient(conn).Join(modCtx, r)
- }
- return resp, err
- }
- func (p *raftProxyRaftMembershipServer) Leave(ctx context.Context, r *LeaveRequest) (*LeaveResponse, error) {
- conn, err := p.connSelector.LeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- ctx, err = p.runCtxMods(ctx, p.localCtxMods)
- if err != nil {
- return nil, err
- }
- return p.local.Leave(ctx, r)
- }
- return nil, err
- }
- modCtx, err := p.runCtxMods(ctx, p.remoteCtxMods)
- if err != nil {
- return nil, err
- }
- resp, err := NewRaftMembershipClient(conn).Leave(modCtx, r)
- if err != nil {
- if !strings.Contains(err.Error(), "is closing") && !strings.Contains(err.Error(), "the connection is unavailable") && !strings.Contains(err.Error(), "connection error") {
- return resp, err
- }
- conn, err := p.pollNewLeaderConn(ctx)
- if err != nil {
- if err == raftselector.ErrIsLeader {
- return p.local.Leave(ctx, r)
- }
- return nil, err
- }
- return NewRaftMembershipClient(conn).Leave(modCtx, r)
- }
- return resp, err
- }
- func (m *RaftMember) Size() (n int) {
- var l int
- _ = l
- if m.RaftID != 0 {
- n += 1 + sovRaft(uint64(m.RaftID))
- }
- l = len(m.NodeID)
- if l > 0 {
- n += 1 + l + sovRaft(uint64(l))
- }
- l = len(m.Addr)
- if l > 0 {
- n += 1 + l + sovRaft(uint64(l))
- }
- l = m.Status.Size()
- n += 1 + l + sovRaft(uint64(l))
- return n
- }
- func (m *JoinRequest) Size() (n int) {
- var l int
- _ = l
- l = len(m.Addr)
- if l > 0 {
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *JoinResponse) Size() (n int) {
- var l int
- _ = l
- if m.RaftID != 0 {
- n += 1 + sovRaft(uint64(m.RaftID))
- }
- if len(m.Members) > 0 {
- for _, e := range m.Members {
- l = e.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- }
- if len(m.RemovedMembers) > 0 {
- for _, e := range m.RemovedMembers {
- n += 1 + sovRaft(uint64(e))
- }
- }
- return n
- }
- func (m *LeaveRequest) Size() (n int) {
- var l int
- _ = l
- if m.Node != nil {
- l = m.Node.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *LeaveResponse) Size() (n int) {
- var l int
- _ = l
- return n
- }
- func (m *ProcessRaftMessageRequest) Size() (n int) {
- var l int
- _ = l
- if m.Message != nil {
- l = m.Message.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *ProcessRaftMessageResponse) Size() (n int) {
- var l int
- _ = l
- return n
- }
- func (m *StreamRaftMessageRequest) Size() (n int) {
- var l int
- _ = l
- if m.Message != nil {
- l = m.Message.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StreamRaftMessageResponse) Size() (n int) {
- var l int
- _ = l
- return n
- }
- func (m *ResolveAddressRequest) Size() (n int) {
- var l int
- _ = l
- if m.RaftID != 0 {
- n += 1 + sovRaft(uint64(m.RaftID))
- }
- return n
- }
- func (m *ResolveAddressResponse) Size() (n int) {
- var l int
- _ = l
- l = len(m.Addr)
- if l > 0 {
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *InternalRaftRequest) Size() (n int) {
- var l int
- _ = l
- if m.ID != 0 {
- n += 1 + sovRaft(uint64(m.ID))
- }
- if len(m.Action) > 0 {
- for _, e := range m.Action {
- l = e.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- }
- return n
- }
- func (m *StoreAction) Size() (n int) {
- var l int
- _ = l
- if m.Action != 0 {
- n += 1 + sovRaft(uint64(m.Action))
- }
- if m.Target != nil {
- n += m.Target.Size()
- }
- return n
- }
- func (m *StoreAction_Node) Size() (n int) {
- var l int
- _ = l
- if m.Node != nil {
- l = m.Node.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Service) Size() (n int) {
- var l int
- _ = l
- if m.Service != nil {
- l = m.Service.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Task) Size() (n int) {
- var l int
- _ = l
- if m.Task != nil {
- l = m.Task.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Network) Size() (n int) {
- var l int
- _ = l
- if m.Network != nil {
- l = m.Network.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Cluster) Size() (n int) {
- var l int
- _ = l
- if m.Cluster != nil {
- l = m.Cluster.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Secret) Size() (n int) {
- var l int
- _ = l
- if m.Secret != nil {
- l = m.Secret.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Resource) Size() (n int) {
- var l int
- _ = l
- if m.Resource != nil {
- l = m.Resource.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Extension) Size() (n int) {
- var l int
- _ = l
- if m.Extension != nil {
- l = m.Extension.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func (m *StoreAction_Config) Size() (n int) {
- var l int
- _ = l
- if m.Config != nil {
- l = m.Config.Size()
- n += 1 + l + sovRaft(uint64(l))
- }
- return n
- }
- func sovRaft(x uint64) (n int) {
- for {
- n++
- x >>= 7
- if x == 0 {
- break
- }
- }
- return n
- }
- func sozRaft(x uint64) (n int) {
- return sovRaft(uint64((x << 1) ^ uint64((int64(x) >> 63))))
- }
- func (this *RaftMember) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&RaftMember{`,
- `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
- `NodeID:` + fmt.Sprintf("%v", this.NodeID) + `,`,
- `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
- `Status:` + strings.Replace(strings.Replace(this.Status.String(), "RaftMemberStatus", "RaftMemberStatus", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *JoinRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&JoinRequest{`,
- `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *JoinResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&JoinResponse{`,
- `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
- `Members:` + strings.Replace(fmt.Sprintf("%v", this.Members), "RaftMember", "RaftMember", 1) + `,`,
- `RemovedMembers:` + fmt.Sprintf("%v", this.RemovedMembers) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *LeaveRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&LeaveRequest{`,
- `Node:` + strings.Replace(fmt.Sprintf("%v", this.Node), "RaftMember", "RaftMember", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *LeaveResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&LeaveResponse{`,
- `}`,
- }, "")
- return s
- }
- func (this *ProcessRaftMessageRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ProcessRaftMessageRequest{`,
- `Message:` + strings.Replace(fmt.Sprintf("%v", this.Message), "Message", "raftpb.Message", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *ProcessRaftMessageResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ProcessRaftMessageResponse{`,
- `}`,
- }, "")
- return s
- }
- func (this *StreamRaftMessageRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StreamRaftMessageRequest{`,
- `Message:` + strings.Replace(fmt.Sprintf("%v", this.Message), "Message", "raftpb.Message", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StreamRaftMessageResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StreamRaftMessageResponse{`,
- `}`,
- }, "")
- return s
- }
- func (this *ResolveAddressRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResolveAddressRequest{`,
- `RaftID:` + fmt.Sprintf("%v", this.RaftID) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *ResolveAddressResponse) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&ResolveAddressResponse{`,
- `Addr:` + fmt.Sprintf("%v", this.Addr) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *InternalRaftRequest) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&InternalRaftRequest{`,
- `ID:` + fmt.Sprintf("%v", this.ID) + `,`,
- `Action:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Action), "StoreAction", "StoreAction", 1), `&`, ``, 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction{`,
- `Action:` + fmt.Sprintf("%v", this.Action) + `,`,
- `Target:` + fmt.Sprintf("%v", this.Target) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Node) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Node{`,
- `Node:` + strings.Replace(fmt.Sprintf("%v", this.Node), "Node", "Node", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Service) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Service{`,
- `Service:` + strings.Replace(fmt.Sprintf("%v", this.Service), "Service", "Service", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Task) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Task{`,
- `Task:` + strings.Replace(fmt.Sprintf("%v", this.Task), "Task", "Task", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Network) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Network{`,
- `Network:` + strings.Replace(fmt.Sprintf("%v", this.Network), "Network", "Network", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Cluster) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Cluster{`,
- `Cluster:` + strings.Replace(fmt.Sprintf("%v", this.Cluster), "Cluster", "Cluster", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Secret) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Secret{`,
- `Secret:` + strings.Replace(fmt.Sprintf("%v", this.Secret), "Secret", "Secret", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Resource) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Resource{`,
- `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "Resource", "Resource", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Extension) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Extension{`,
- `Extension:` + strings.Replace(fmt.Sprintf("%v", this.Extension), "Extension", "Extension", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func (this *StoreAction_Config) String() string {
- if this == nil {
- return "nil"
- }
- s := strings.Join([]string{`&StoreAction_Config{`,
- `Config:` + strings.Replace(fmt.Sprintf("%v", this.Config), "Config", "Config", 1) + `,`,
- `}`,
- }, "")
- return s
- }
- func valueToStringRaft(v interface{}) string {
- rv := reflect.ValueOf(v)
- if rv.IsNil() {
- return "nil"
- }
- pv := reflect.Indirect(rv).Interface()
- return fmt.Sprintf("*%v", pv)
- }
- func (m *RaftMember) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: RaftMember: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: RaftMember: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
- }
- m.RaftID = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.RaftID |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.NodeID = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Addr = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *JoinRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: JoinRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: JoinRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Addr = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *JoinResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: JoinResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: JoinResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
- }
- m.RaftID = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.RaftID |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Members", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Members = append(m.Members, &RaftMember{})
- if err := m.Members[len(m.Members)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- case 3:
- if wireType == 0 {
- var v uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RemovedMembers = append(m.RemovedMembers, v)
- } else if wireType == 2 {
- var packedLen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- packedLen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if packedLen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + packedLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- for iNdEx < postIndex {
- var v uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- v |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- m.RemovedMembers = append(m.RemovedMembers, v)
- }
- } else {
- return fmt.Errorf("proto: wrong wireType = %d for field RemovedMembers", wireType)
- }
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *LeaveRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: LeaveRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LeaveRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Node", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Node == nil {
- m.Node = &RaftMember{}
- }
- if err := m.Node.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *LeaveResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: LeaveResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: LeaveResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *ProcessRaftMessageRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ProcessRaftMessageRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ProcessRaftMessageRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Message == nil {
- m.Message = &raftpb.Message{}
- }
- if err := m.Message.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *ProcessRaftMessageResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ProcessRaftMessageResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ProcessRaftMessageResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *StreamRaftMessageRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: StreamRaftMessageRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StreamRaftMessageRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- if m.Message == nil {
- m.Message = &raftpb.Message{}
- }
- if err := m.Message.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *StreamRaftMessageResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: StreamRaftMessageResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StreamRaftMessageResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *ResolveAddressRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResolveAddressRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResolveAddressRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field RaftID", wireType)
- }
- m.RaftID = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.RaftID |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *ResolveAddressResponse) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: ResolveAddressResponse: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: ResolveAddressResponse: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Addr", wireType)
- }
- var stringLen uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- stringLen |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- intStringLen := int(stringLen)
- if intStringLen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + intStringLen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Addr = string(dAtA[iNdEx:postIndex])
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *InternalRaftRequest) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: InternalRaftRequest: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: InternalRaftRequest: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
- }
- m.ID = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.ID |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- m.Action = append(m.Action, StoreAction{})
- if err := m.Action[len(m.Action)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func (m *StoreAction) Unmarshal(dAtA []byte) error {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- preIndex := iNdEx
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- fieldNum := int32(wire >> 3)
- wireType := int(wire & 0x7)
- if wireType == 4 {
- return fmt.Errorf("proto: StoreAction: wiretype end group for non-group")
- }
- if fieldNum <= 0 {
- return fmt.Errorf("proto: StoreAction: illegal tag %d (wire type %d)", fieldNum, wire)
- }
- switch fieldNum {
- case 1:
- if wireType != 0 {
- return fmt.Errorf("proto: wrong wireType = %d for field Action", wireType)
- }
- m.Action = 0
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- m.Action |= (StoreActionKind(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- case 2:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Node", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Node{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Node{v}
- iNdEx = postIndex
- case 3:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Service", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Service{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Service{v}
- iNdEx = postIndex
- case 4:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Task", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Task{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Task{v}
- iNdEx = postIndex
- case 5:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Network{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Network{v}
- iNdEx = postIndex
- case 6:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Cluster", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Cluster{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Cluster{v}
- iNdEx = postIndex
- case 7:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Secret", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Secret{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Secret{v}
- iNdEx = postIndex
- case 8:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Resource{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Resource{v}
- iNdEx = postIndex
- case 9:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Extension", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Extension{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Extension{v}
- iNdEx = postIndex
- case 10:
- if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType)
- }
- var msglen int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- msglen |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- if msglen < 0 {
- return ErrInvalidLengthRaft
- }
- postIndex := iNdEx + msglen
- if postIndex > l {
- return io.ErrUnexpectedEOF
- }
- v := &Config{}
- if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
- return err
- }
- m.Target = &StoreAction_Config{v}
- iNdEx = postIndex
- default:
- iNdEx = preIndex
- skippy, err := skipRaft(dAtA[iNdEx:])
- if err != nil {
- return err
- }
- if skippy < 0 {
- return ErrInvalidLengthRaft
- }
- if (iNdEx + skippy) > l {
- return io.ErrUnexpectedEOF
- }
- iNdEx += skippy
- }
- }
- if iNdEx > l {
- return io.ErrUnexpectedEOF
- }
- return nil
- }
- func skipRaft(dAtA []byte) (n int, err error) {
- l := len(dAtA)
- iNdEx := 0
- for iNdEx < l {
- var wire uint64
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- wire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- wireType := int(wire & 0x7)
- switch wireType {
- case 0:
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- iNdEx++
- if dAtA[iNdEx-1] < 0x80 {
- break
- }
- }
- return iNdEx, nil
- case 1:
- iNdEx += 8
- return iNdEx, nil
- case 2:
- var length int
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- length |= (int(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- iNdEx += length
- if length < 0 {
- return 0, ErrInvalidLengthRaft
- }
- return iNdEx, nil
- case 3:
- for {
- var innerWire uint64
- var start int = iNdEx
- for shift := uint(0); ; shift += 7 {
- if shift >= 64 {
- return 0, ErrIntOverflowRaft
- }
- if iNdEx >= l {
- return 0, io.ErrUnexpectedEOF
- }
- b := dAtA[iNdEx]
- iNdEx++
- innerWire |= (uint64(b) & 0x7F) << shift
- if b < 0x80 {
- break
- }
- }
- innerWireType := int(innerWire & 0x7)
- if innerWireType == 4 {
- break
- }
- next, err := skipRaft(dAtA[start:])
- if err != nil {
- return 0, err
- }
- iNdEx = start + next
- }
- return iNdEx, nil
- case 4:
- return iNdEx, nil
- case 5:
- iNdEx += 4
- return iNdEx, nil
- default:
- return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
- }
- }
- panic("unreachable")
- }
- var (
- ErrInvalidLengthRaft = fmt.Errorf("proto: negative length found during unmarshaling")
- ErrIntOverflowRaft = fmt.Errorf("proto: integer overflow")
- )
- func init() { proto.RegisterFile("github.com/docker/swarmkit/api/raft.proto", fileDescriptorRaft) }
- var fileDescriptorRaft = []byte{
- // 1015 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0xc1, 0x6e, 0x1b, 0x45,
- 0x18, 0xc7, 0x77, 0xed, 0xad, 0xd3, 0x7c, 0x69, 0x93, 0x30, 0x25, 0x61, 0xb3, 0x2d, 0x8e, 0xbb,
- 0x45, 0xc2, 0x09, 0xc9, 0x5a, 0x18, 0xa4, 0xa2, 0x42, 0x0f, 0x71, 0x62, 0x29, 0x26, 0xad, 0x53,
- 0x6d, 0x12, 0xe8, 0x2d, 0xac, 0x77, 0x27, 0xee, 0x62, 0x7b, 0xc7, 0xcc, 0x8c, 0x1d, 0xb8, 0xa0,
- 0x1e, 0x21, 0x2f, 0x00, 0x42, 0xaa, 0x38, 0xc0, 0xb9, 0x0f, 0xc0, 0x03, 0xa0, 0x88, 0x13, 0x37,
- 0x38, 0x45, 0xd4, 0x0f, 0x00, 0xaf, 0x80, 0x66, 0x76, 0xd7, 0x31, 0xf6, 0xda, 0xf1, 0x81, 0x4b,
- 0x32, 0xda, 0xf9, 0xfd, 0xbf, 0xff, 0x37, 0x33, 0xdf, 0x7c, 0x63, 0x58, 0xab, 0xfb, 0xfc, 0x59,
- 0xa7, 0x66, 0xb9, 0xa4, 0x55, 0xf0, 0x88, 0xdb, 0xc0, 0xb4, 0xc0, 0x4e, 0x1d, 0xda, 0x6a, 0xf8,
- 0xbc, 0xe0, 0xb4, 0xfd, 0x02, 0x75, 0x4e, 0xb8, 0xd5, 0xa6, 0x84, 0x13, 0x84, 0xc2, 0x79, 0x2b,
- 0x9e, 0xb7, 0xba, 0xef, 0x1a, 0x1b, 0x57, 0xc8, 0x49, 0xed, 0x73, 0xec, 0x72, 0x16, 0x46, 0x30,
- 0xd6, 0xaf, 0xa0, 0xf9, 0x57, 0x6d, 0x1c, 0xb3, 0x9b, 0x03, 0xac, 0x4b, 0x28, 0x26, 0xac, 0x80,
- 0xb9, 0xeb, 0xc9, 0x84, 0xe4, 0x9f, 0x76, 0x6d, 0x20, 0x39, 0xe3, 0xf5, 0x3a, 0xa9, 0x13, 0x39,
- 0x2c, 0x88, 0x51, 0xf4, 0xf5, 0xfe, 0x04, 0x43, 0x49, 0xd4, 0x3a, 0x27, 0x85, 0x76, 0xb3, 0x53,
- 0xf7, 0x83, 0xe8, 0x5f, 0x28, 0x34, 0x5f, 0xaa, 0x00, 0xb6, 0x73, 0xc2, 0x1f, 0xe3, 0x56, 0x0d,
- 0x53, 0x74, 0x0f, 0x66, 0x84, 0xd7, 0xb1, 0xef, 0xe9, 0x6a, 0x4e, 0xcd, 0x6b, 0x25, 0xe8, 0x5d,
- 0xac, 0x66, 0x04, 0x50, 0xd9, 0xb1, 0x33, 0x62, 0xaa, 0xe2, 0x09, 0x28, 0x20, 0x1e, 0x16, 0x50,
- 0x2a, 0xa7, 0xe6, 0x67, 0x43, 0xa8, 0x4a, 0x3c, 0x2c, 0x20, 0x31, 0x55, 0xf1, 0x10, 0x02, 0xcd,
- 0xf1, 0x3c, 0xaa, 0xa7, 0x05, 0x61, 0xcb, 0x31, 0x2a, 0x41, 0x86, 0x71, 0x87, 0x77, 0x98, 0xae,
- 0xe5, 0xd4, 0xfc, 0x5c, 0xf1, 0x2d, 0x6b, 0x74, 0xa7, 0xad, 0xcb, 0x6c, 0x0e, 0x24, 0x5b, 0xd2,
- 0xce, 0x2f, 0x56, 0x15, 0x3b, 0x52, 0x9a, 0x77, 0x61, 0xee, 0x63, 0xe2, 0x07, 0x36, 0xfe, 0xa2,
- 0x83, 0x19, 0xef, 0xdb, 0xa8, 0x97, 0x36, 0xe6, 0x0f, 0x2a, 0xdc, 0x08, 0x19, 0xd6, 0x26, 0x01,
- 0xc3, 0xd3, 0xad, 0xea, 0x03, 0x98, 0x69, 0x49, 0x5b, 0xa6, 0xa7, 0x72, 0xe9, 0xfc, 0x5c, 0x31,
- 0x3b, 0x39, 0x3b, 0x3b, 0xc6, 0xd1, 0x3b, 0xb0, 0x40, 0x71, 0x8b, 0x74, 0xb1, 0x77, 0x1c, 0x47,
- 0x48, 0xe7, 0xd2, 0x79, 0xad, 0x94, 0x5a, 0x54, 0xec, 0xf9, 0x68, 0x2a, 0x14, 0x31, 0xb3, 0x04,
- 0x37, 0x1e, 0x61, 0xa7, 0x8b, 0xe3, 0x05, 0x14, 0x41, 0x13, 0x3b, 0x26, 0x13, 0xbb, 0xda, 0x53,
- 0xb2, 0xe6, 0x02, 0xdc, 0x8c, 0x62, 0x84, 0x0b, 0x34, 0x1f, 0xc1, 0xca, 0x13, 0x4a, 0x5c, 0xcc,
- 0x58, 0xc8, 0x32, 0xe6, 0xd4, 0xfb, 0x0e, 0x6b, 0x62, 0x61, 0xf2, 0x4b, 0x64, 0xb2, 0x60, 0x85,
- 0x65, 0x65, 0xc5, 0x60, 0x3c, 0xff, 0x40, 0x7b, 0xfe, 0x9d, 0xa9, 0x98, 0x77, 0xc0, 0x48, 0x8a,
- 0x16, 0x79, 0xed, 0x81, 0x7e, 0xc0, 0x29, 0x76, 0x5a, 0xff, 0x87, 0xd5, 0x6d, 0x58, 0x49, 0x08,
- 0x16, 0x39, 0x7d, 0x04, 0x4b, 0x36, 0x66, 0xa4, 0xd9, 0xc5, 0x5b, 0x9e, 0x47, 0x45, 0x3a, 0x91,
- 0xcd, 0x34, 0xe7, 0x69, 0x6e, 0xc0, 0xf2, 0xb0, 0x3a, 0x2a, 0x87, 0xa4, 0x9a, 0x69, 0xc2, 0xad,
- 0x4a, 0xc0, 0x31, 0x0d, 0x9c, 0xa6, 0x88, 0x13, 0x3b, 0x2d, 0x43, 0xaa, 0x6f, 0x92, 0xe9, 0x5d,
- 0xac, 0xa6, 0x2a, 0x3b, 0x76, 0xca, 0xf7, 0xd0, 0x43, 0xc8, 0x38, 0x2e, 0xf7, 0x49, 0x10, 0xd5,
- 0xca, 0x6a, 0xd2, 0xb9, 0x1d, 0x70, 0x42, 0xf1, 0x96, 0xc4, 0xe2, 0x22, 0x0e, 0x45, 0xe6, 0xaf,
- 0x1a, 0xcc, 0x0d, 0xcc, 0xa2, 0x0f, 0xfb, 0xe1, 0x84, 0xd5, 0x7c, 0xf1, 0xde, 0x15, 0xe1, 0xf6,
- 0xfc, 0xc0, 0x8b, 0x83, 0x21, 0x2b, 0xaa, 0xa0, 0x94, 0xdc, 0x71, 0x3d, 0x49, 0x2a, 0xee, 0xe6,
- 0xae, 0x12, 0x56, 0x0f, 0xba, 0x0f, 0x33, 0x0c, 0xd3, 0xae, 0xef, 0x62, 0x79, 0x39, 0xe7, 0x8a,
- 0xb7, 0x13, 0xdd, 0x42, 0x64, 0x57, 0xb1, 0x63, 0x5a, 0x18, 0x71, 0x87, 0x35, 0xa2, 0xcb, 0x9b,
- 0x68, 0x74, 0xe8, 0xb0, 0x86, 0x30, 0x12, 0x9c, 0x30, 0x0a, 0x30, 0x3f, 0x25, 0xb4, 0xa1, 0x5f,
- 0x1b, 0x6f, 0x54, 0x0d, 0x11, 0x61, 0x14, 0xd1, 0x42, 0xe8, 0x36, 0x3b, 0x8c, 0x63, 0xaa, 0x67,
- 0xc6, 0x0b, 0xb7, 0x43, 0x44, 0x08, 0x23, 0x1a, 0xbd, 0x0f, 0x19, 0x86, 0x5d, 0x8a, 0xb9, 0x3e,
- 0x23, 0x75, 0x46, 0xf2, 0xca, 0x04, 0xb1, 0x2b, 0x5a, 0x8a, 0x1c, 0xa1, 0x07, 0x70, 0x9d, 0x62,
- 0x46, 0x3a, 0xd4, 0xc5, 0xfa, 0x75, 0xa9, 0xbb, 0x93, 0x78, 0x0d, 0x23, 0x66, 0x57, 0xb1, 0xfb,
- 0x3c, 0x7a, 0x08, 0xb3, 0xf8, 0x4b, 0x8e, 0x03, 0x26, 0x0e, 0x6f, 0x56, 0x8a, 0xdf, 0x4c, 0x12,
- 0x97, 0x63, 0x68, 0x57, 0xb1, 0x2f, 0x15, 0x22, 0x61, 0x97, 0x04, 0x27, 0x7e, 0x5d, 0x87, 0xf1,
- 0x09, 0x6f, 0x4b, 0x42, 0x24, 0x1c, 0xb2, 0xa5, 0xeb, 0x90, 0xe1, 0x0e, 0xad, 0x63, 0xbe, 0xfe,
- 0x8f, 0x0a, 0x0b, 0x43, 0x75, 0x81, 0xde, 0x86, 0x99, 0xa3, 0xea, 0x5e, 0x75, 0xff, 0xd3, 0xea,
- 0xa2, 0x62, 0x18, 0x67, 0x2f, 0x72, 0xcb, 0x43, 0xc4, 0x51, 0xd0, 0x08, 0xc8, 0x69, 0x80, 0x8a,
- 0x70, 0xeb, 0xe0, 0x70, 0xdf, 0x2e, 0x1f, 0x6f, 0x6d, 0x1f, 0x56, 0xf6, 0xab, 0xc7, 0xdb, 0x76,
- 0x79, 0xeb, 0xb0, 0xbc, 0xa8, 0x1a, 0x2b, 0x67, 0x2f, 0x72, 0x4b, 0x43, 0xa2, 0x6d, 0x8a, 0x1d,
- 0x8e, 0x47, 0x34, 0x47, 0x4f, 0x76, 0x84, 0x26, 0x95, 0xa8, 0x39, 0x6a, 0x7b, 0x49, 0x1a, 0xbb,
- 0xfc, 0x78, 0xff, 0x93, 0xf2, 0x62, 0x3a, 0x51, 0x63, 0xcb, 0x76, 0x69, 0xbc, 0xf1, 0xcd, 0x4f,
- 0x59, 0xe5, 0x97, 0x9f, 0xb3, 0xc3, 0xab, 0x2b, 0xfe, 0x98, 0x06, 0x4d, 0xdc, 0x50, 0x74, 0xa6,
- 0x02, 0x1a, 0x6d, 0x53, 0x68, 0x33, 0x69, 0x07, 0xc7, 0x36, 0x47, 0xc3, 0x9a, 0x16, 0x8f, 0x7a,
- 0xd2, 0xd2, 0x6f, 0x2f, 0xff, 0xfe, 0x3e, 0xb5, 0x00, 0x37, 0x25, 0xbf, 0xd9, 0x72, 0x02, 0xa7,
- 0x8e, 0x29, 0xfa, 0x56, 0x85, 0xd7, 0x46, 0x1a, 0x19, 0xda, 0x48, 0xbe, 0xc6, 0xc9, 0xcd, 0xd3,
- 0xd8, 0x9c, 0x92, 0x9e, 0x98, 0x49, 0x5e, 0x45, 0x5f, 0xc3, 0xfc, 0x7f, 0x1b, 0x1f, 0x5a, 0x1b,
- 0x57, 0xce, 0x23, 0xad, 0xd5, 0x58, 0x9f, 0x06, 0x9d, 0x98, 0x41, 0xf1, 0x0f, 0x15, 0xe6, 0x2f,
- 0x9f, 0x2c, 0xf6, 0xcc, 0x6f, 0xa3, 0xcf, 0x40, 0x13, 0x0f, 0x32, 0x4a, 0x6c, 0x93, 0x03, 0xcf,
- 0xb9, 0x91, 0x1b, 0x0f, 0x4c, 0x3e, 0x00, 0x17, 0xae, 0xc9, 0x27, 0x11, 0x25, 0x46, 0x18, 0x7c,
- 0x71, 0x8d, 0xbb, 0x13, 0x88, 0x89, 0x26, 0x25, 0xfd, 0xfc, 0x55, 0x56, 0xf9, 0xf3, 0x55, 0x56,
- 0x79, 0xde, 0xcb, 0xaa, 0xe7, 0xbd, 0xac, 0xfa, 0x7b, 0x2f, 0xab, 0xfe, 0xd5, 0xcb, 0xaa, 0x4f,
- 0xd3, 0x4f, 0xb5, 0x5a, 0x46, 0xfe, 0xa2, 0x7a, 0xef, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3e,
- 0x7a, 0x8b, 0xe7, 0x6a, 0x0a, 0x00, 0x00,
- }
|