dispatcher.pb.go 99 KB

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