dispatcher.pb.go 99 KB

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