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