dispatcher.pb.go 99 KB

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