github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_rtc.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.30.0 4 // protoc v3.20.3 5 // source: livekit_rtc.proto 6 7 package livekit 8 9 import ( 10 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 reflect "reflect" 13 sync "sync" 14 ) 15 16 const ( 17 // Verify that this generated code is sufficiently up-to-date. 18 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 19 // Verify that runtime/protoimpl is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 21 ) 22 23 type SignalTarget int32 24 25 const ( 26 SignalTarget_PUBLISHER SignalTarget = 0 27 SignalTarget_SUBSCRIBER SignalTarget = 1 28 ) 29 30 // Enum value maps for SignalTarget. 31 var ( 32 SignalTarget_name = map[int32]string{ 33 0: "PUBLISHER", 34 1: "SUBSCRIBER", 35 } 36 SignalTarget_value = map[string]int32{ 37 "PUBLISHER": 0, 38 "SUBSCRIBER": 1, 39 } 40 ) 41 42 func (x SignalTarget) Enum() *SignalTarget { 43 p := new(SignalTarget) 44 *p = x 45 return p 46 } 47 48 func (x SignalTarget) String() string { 49 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 50 } 51 52 func (SignalTarget) Descriptor() protoreflect.EnumDescriptor { 53 return file_livekit_rtc_proto_enumTypes[0].Descriptor() 54 } 55 56 func (SignalTarget) Type() protoreflect.EnumType { 57 return &file_livekit_rtc_proto_enumTypes[0] 58 } 59 60 func (x SignalTarget) Number() protoreflect.EnumNumber { 61 return protoreflect.EnumNumber(x) 62 } 63 64 // Deprecated: Use SignalTarget.Descriptor instead. 65 func (SignalTarget) EnumDescriptor() ([]byte, []int) { 66 return file_livekit_rtc_proto_rawDescGZIP(), []int{0} 67 } 68 69 type StreamState int32 70 71 const ( 72 StreamState_ACTIVE StreamState = 0 73 StreamState_PAUSED StreamState = 1 74 ) 75 76 // Enum value maps for StreamState. 77 var ( 78 StreamState_name = map[int32]string{ 79 0: "ACTIVE", 80 1: "PAUSED", 81 } 82 StreamState_value = map[string]int32{ 83 "ACTIVE": 0, 84 "PAUSED": 1, 85 } 86 ) 87 88 func (x StreamState) Enum() *StreamState { 89 p := new(StreamState) 90 *p = x 91 return p 92 } 93 94 func (x StreamState) String() string { 95 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 96 } 97 98 func (StreamState) Descriptor() protoreflect.EnumDescriptor { 99 return file_livekit_rtc_proto_enumTypes[1].Descriptor() 100 } 101 102 func (StreamState) Type() protoreflect.EnumType { 103 return &file_livekit_rtc_proto_enumTypes[1] 104 } 105 106 func (x StreamState) Number() protoreflect.EnumNumber { 107 return protoreflect.EnumNumber(x) 108 } 109 110 // Deprecated: Use StreamState.Descriptor instead. 111 func (StreamState) EnumDescriptor() ([]byte, []int) { 112 return file_livekit_rtc_proto_rawDescGZIP(), []int{1} 113 } 114 115 type CandidateProtocol int32 116 117 const ( 118 CandidateProtocol_UDP CandidateProtocol = 0 119 CandidateProtocol_TCP CandidateProtocol = 1 120 CandidateProtocol_TLS CandidateProtocol = 2 121 ) 122 123 // Enum value maps for CandidateProtocol. 124 var ( 125 CandidateProtocol_name = map[int32]string{ 126 0: "UDP", 127 1: "TCP", 128 2: "TLS", 129 } 130 CandidateProtocol_value = map[string]int32{ 131 "UDP": 0, 132 "TCP": 1, 133 "TLS": 2, 134 } 135 ) 136 137 func (x CandidateProtocol) Enum() *CandidateProtocol { 138 p := new(CandidateProtocol) 139 *p = x 140 return p 141 } 142 143 func (x CandidateProtocol) String() string { 144 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 145 } 146 147 func (CandidateProtocol) Descriptor() protoreflect.EnumDescriptor { 148 return file_livekit_rtc_proto_enumTypes[2].Descriptor() 149 } 150 151 func (CandidateProtocol) Type() protoreflect.EnumType { 152 return &file_livekit_rtc_proto_enumTypes[2] 153 } 154 155 func (x CandidateProtocol) Number() protoreflect.EnumNumber { 156 return protoreflect.EnumNumber(x) 157 } 158 159 // Deprecated: Use CandidateProtocol.Descriptor instead. 160 func (CandidateProtocol) EnumDescriptor() ([]byte, []int) { 161 return file_livekit_rtc_proto_rawDescGZIP(), []int{2} 162 } 163 164 type SignalRequest struct { 165 state protoimpl.MessageState 166 sizeCache protoimpl.SizeCache 167 unknownFields protoimpl.UnknownFields 168 169 // Types that are assignable to Message: 170 // 171 // *SignalRequest_Offer 172 // *SignalRequest_Answer 173 // *SignalRequest_Trickle 174 // *SignalRequest_AddTrack 175 // *SignalRequest_Mute 176 // *SignalRequest_Subscription 177 // *SignalRequest_TrackSetting 178 // *SignalRequest_Leave 179 // *SignalRequest_UpdateLayers 180 // *SignalRequest_SubscriptionPermission 181 // *SignalRequest_SyncState 182 // *SignalRequest_Simulate 183 // *SignalRequest_Ping 184 // *SignalRequest_UpdateMetadata 185 // *SignalRequest_PingReq 186 Message isSignalRequest_Message `protobuf_oneof:"message"` 187 } 188 189 func (x *SignalRequest) Reset() { 190 *x = SignalRequest{} 191 if protoimpl.UnsafeEnabled { 192 mi := &file_livekit_rtc_proto_msgTypes[0] 193 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 194 ms.StoreMessageInfo(mi) 195 } 196 } 197 198 func (x *SignalRequest) String() string { 199 return protoimpl.X.MessageStringOf(x) 200 } 201 202 func (*SignalRequest) ProtoMessage() {} 203 204 func (x *SignalRequest) ProtoReflect() protoreflect.Message { 205 mi := &file_livekit_rtc_proto_msgTypes[0] 206 if protoimpl.UnsafeEnabled && x != nil { 207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 208 if ms.LoadMessageInfo() == nil { 209 ms.StoreMessageInfo(mi) 210 } 211 return ms 212 } 213 return mi.MessageOf(x) 214 } 215 216 // Deprecated: Use SignalRequest.ProtoReflect.Descriptor instead. 217 func (*SignalRequest) Descriptor() ([]byte, []int) { 218 return file_livekit_rtc_proto_rawDescGZIP(), []int{0} 219 } 220 221 func (m *SignalRequest) GetMessage() isSignalRequest_Message { 222 if m != nil { 223 return m.Message 224 } 225 return nil 226 } 227 228 func (x *SignalRequest) GetOffer() *SessionDescription { 229 if x, ok := x.GetMessage().(*SignalRequest_Offer); ok { 230 return x.Offer 231 } 232 return nil 233 } 234 235 func (x *SignalRequest) GetAnswer() *SessionDescription { 236 if x, ok := x.GetMessage().(*SignalRequest_Answer); ok { 237 return x.Answer 238 } 239 return nil 240 } 241 242 func (x *SignalRequest) GetTrickle() *TrickleRequest { 243 if x, ok := x.GetMessage().(*SignalRequest_Trickle); ok { 244 return x.Trickle 245 } 246 return nil 247 } 248 249 func (x *SignalRequest) GetAddTrack() *AddTrackRequest { 250 if x, ok := x.GetMessage().(*SignalRequest_AddTrack); ok { 251 return x.AddTrack 252 } 253 return nil 254 } 255 256 func (x *SignalRequest) GetMute() *MuteTrackRequest { 257 if x, ok := x.GetMessage().(*SignalRequest_Mute); ok { 258 return x.Mute 259 } 260 return nil 261 } 262 263 func (x *SignalRequest) GetSubscription() *UpdateSubscription { 264 if x, ok := x.GetMessage().(*SignalRequest_Subscription); ok { 265 return x.Subscription 266 } 267 return nil 268 } 269 270 func (x *SignalRequest) GetTrackSetting() *UpdateTrackSettings { 271 if x, ok := x.GetMessage().(*SignalRequest_TrackSetting); ok { 272 return x.TrackSetting 273 } 274 return nil 275 } 276 277 func (x *SignalRequest) GetLeave() *LeaveRequest { 278 if x, ok := x.GetMessage().(*SignalRequest_Leave); ok { 279 return x.Leave 280 } 281 return nil 282 } 283 284 func (x *SignalRequest) GetUpdateLayers() *UpdateVideoLayers { 285 if x, ok := x.GetMessage().(*SignalRequest_UpdateLayers); ok { 286 return x.UpdateLayers 287 } 288 return nil 289 } 290 291 func (x *SignalRequest) GetSubscriptionPermission() *SubscriptionPermission { 292 if x, ok := x.GetMessage().(*SignalRequest_SubscriptionPermission); ok { 293 return x.SubscriptionPermission 294 } 295 return nil 296 } 297 298 func (x *SignalRequest) GetSyncState() *SyncState { 299 if x, ok := x.GetMessage().(*SignalRequest_SyncState); ok { 300 return x.SyncState 301 } 302 return nil 303 } 304 305 func (x *SignalRequest) GetSimulate() *SimulateScenario { 306 if x, ok := x.GetMessage().(*SignalRequest_Simulate); ok { 307 return x.Simulate 308 } 309 return nil 310 } 311 312 func (x *SignalRequest) GetPing() int64 { 313 if x, ok := x.GetMessage().(*SignalRequest_Ping); ok { 314 return x.Ping 315 } 316 return 0 317 } 318 319 func (x *SignalRequest) GetUpdateMetadata() *UpdateParticipantMetadata { 320 if x, ok := x.GetMessage().(*SignalRequest_UpdateMetadata); ok { 321 return x.UpdateMetadata 322 } 323 return nil 324 } 325 326 func (x *SignalRequest) GetPingReq() *Ping { 327 if x, ok := x.GetMessage().(*SignalRequest_PingReq); ok { 328 return x.PingReq 329 } 330 return nil 331 } 332 333 type isSignalRequest_Message interface { 334 isSignalRequest_Message() 335 } 336 337 type SignalRequest_Offer struct { 338 // initial join exchange, for publisher 339 Offer *SessionDescription `protobuf:"bytes,1,opt,name=offer,proto3,oneof"` 340 } 341 342 type SignalRequest_Answer struct { 343 // participant answering publisher offer 344 Answer *SessionDescription `protobuf:"bytes,2,opt,name=answer,proto3,oneof"` 345 } 346 347 type SignalRequest_Trickle struct { 348 Trickle *TrickleRequest `protobuf:"bytes,3,opt,name=trickle,proto3,oneof"` 349 } 350 351 type SignalRequest_AddTrack struct { 352 AddTrack *AddTrackRequest `protobuf:"bytes,4,opt,name=add_track,json=addTrack,proto3,oneof"` 353 } 354 355 type SignalRequest_Mute struct { 356 // mute the participant's published tracks 357 Mute *MuteTrackRequest `protobuf:"bytes,5,opt,name=mute,proto3,oneof"` 358 } 359 360 type SignalRequest_Subscription struct { 361 // Subscribe or unsubscribe from tracks 362 Subscription *UpdateSubscription `protobuf:"bytes,6,opt,name=subscription,proto3,oneof"` 363 } 364 365 type SignalRequest_TrackSetting struct { 366 // Update settings of subscribed tracks 367 TrackSetting *UpdateTrackSettings `protobuf:"bytes,7,opt,name=track_setting,json=trackSetting,proto3,oneof"` 368 } 369 370 type SignalRequest_Leave struct { 371 // Immediately terminate session 372 Leave *LeaveRequest `protobuf:"bytes,8,opt,name=leave,proto3,oneof"` 373 } 374 375 type SignalRequest_UpdateLayers struct { 376 // Update published video layers 377 UpdateLayers *UpdateVideoLayers `protobuf:"bytes,10,opt,name=update_layers,json=updateLayers,proto3,oneof"` 378 } 379 380 type SignalRequest_SubscriptionPermission struct { 381 // Update subscriber permissions 382 SubscriptionPermission *SubscriptionPermission `protobuf:"bytes,11,opt,name=subscription_permission,json=subscriptionPermission,proto3,oneof"` 383 } 384 385 type SignalRequest_SyncState struct { 386 // sync client's subscribe state to server during reconnect 387 SyncState *SyncState `protobuf:"bytes,12,opt,name=sync_state,json=syncState,proto3,oneof"` 388 } 389 390 type SignalRequest_Simulate struct { 391 // Simulate conditions, for client validations 392 Simulate *SimulateScenario `protobuf:"bytes,13,opt,name=simulate,proto3,oneof"` 393 } 394 395 type SignalRequest_Ping struct { 396 // client triggered ping to server 397 Ping int64 `protobuf:"varint,14,opt,name=ping,proto3,oneof"` // deprecated by ping_req (message Ping) 398 } 399 400 type SignalRequest_UpdateMetadata struct { 401 // update a participant's own metadata and/or name 402 UpdateMetadata *UpdateParticipantMetadata `protobuf:"bytes,15,opt,name=update_metadata,json=updateMetadata,proto3,oneof"` 403 } 404 405 type SignalRequest_PingReq struct { 406 PingReq *Ping `protobuf:"bytes,16,opt,name=ping_req,json=pingReq,proto3,oneof"` 407 } 408 409 func (*SignalRequest_Offer) isSignalRequest_Message() {} 410 411 func (*SignalRequest_Answer) isSignalRequest_Message() {} 412 413 func (*SignalRequest_Trickle) isSignalRequest_Message() {} 414 415 func (*SignalRequest_AddTrack) isSignalRequest_Message() {} 416 417 func (*SignalRequest_Mute) isSignalRequest_Message() {} 418 419 func (*SignalRequest_Subscription) isSignalRequest_Message() {} 420 421 func (*SignalRequest_TrackSetting) isSignalRequest_Message() {} 422 423 func (*SignalRequest_Leave) isSignalRequest_Message() {} 424 425 func (*SignalRequest_UpdateLayers) isSignalRequest_Message() {} 426 427 func (*SignalRequest_SubscriptionPermission) isSignalRequest_Message() {} 428 429 func (*SignalRequest_SyncState) isSignalRequest_Message() {} 430 431 func (*SignalRequest_Simulate) isSignalRequest_Message() {} 432 433 func (*SignalRequest_Ping) isSignalRequest_Message() {} 434 435 func (*SignalRequest_UpdateMetadata) isSignalRequest_Message() {} 436 437 func (*SignalRequest_PingReq) isSignalRequest_Message() {} 438 439 type SignalResponse struct { 440 state protoimpl.MessageState 441 sizeCache protoimpl.SizeCache 442 unknownFields protoimpl.UnknownFields 443 444 // Types that are assignable to Message: 445 // 446 // *SignalResponse_Join 447 // *SignalResponse_Answer 448 // *SignalResponse_Offer 449 // *SignalResponse_Trickle 450 // *SignalResponse_Update 451 // *SignalResponse_TrackPublished 452 // *SignalResponse_Leave 453 // *SignalResponse_Mute 454 // *SignalResponse_SpeakersChanged 455 // *SignalResponse_RoomUpdate 456 // *SignalResponse_ConnectionQuality 457 // *SignalResponse_StreamStateUpdate 458 // *SignalResponse_SubscribedQualityUpdate 459 // *SignalResponse_SubscriptionPermissionUpdate 460 // *SignalResponse_RefreshToken 461 // *SignalResponse_TrackUnpublished 462 // *SignalResponse_Pong 463 // *SignalResponse_Reconnect 464 // *SignalResponse_PongResp 465 Message isSignalResponse_Message `protobuf_oneof:"message"` 466 } 467 468 func (x *SignalResponse) Reset() { 469 *x = SignalResponse{} 470 if protoimpl.UnsafeEnabled { 471 mi := &file_livekit_rtc_proto_msgTypes[1] 472 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 473 ms.StoreMessageInfo(mi) 474 } 475 } 476 477 func (x *SignalResponse) String() string { 478 return protoimpl.X.MessageStringOf(x) 479 } 480 481 func (*SignalResponse) ProtoMessage() {} 482 483 func (x *SignalResponse) ProtoReflect() protoreflect.Message { 484 mi := &file_livekit_rtc_proto_msgTypes[1] 485 if protoimpl.UnsafeEnabled && x != nil { 486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 487 if ms.LoadMessageInfo() == nil { 488 ms.StoreMessageInfo(mi) 489 } 490 return ms 491 } 492 return mi.MessageOf(x) 493 } 494 495 // Deprecated: Use SignalResponse.ProtoReflect.Descriptor instead. 496 func (*SignalResponse) Descriptor() ([]byte, []int) { 497 return file_livekit_rtc_proto_rawDescGZIP(), []int{1} 498 } 499 500 func (m *SignalResponse) GetMessage() isSignalResponse_Message { 501 if m != nil { 502 return m.Message 503 } 504 return nil 505 } 506 507 func (x *SignalResponse) GetJoin() *JoinResponse { 508 if x, ok := x.GetMessage().(*SignalResponse_Join); ok { 509 return x.Join 510 } 511 return nil 512 } 513 514 func (x *SignalResponse) GetAnswer() *SessionDescription { 515 if x, ok := x.GetMessage().(*SignalResponse_Answer); ok { 516 return x.Answer 517 } 518 return nil 519 } 520 521 func (x *SignalResponse) GetOffer() *SessionDescription { 522 if x, ok := x.GetMessage().(*SignalResponse_Offer); ok { 523 return x.Offer 524 } 525 return nil 526 } 527 528 func (x *SignalResponse) GetTrickle() *TrickleRequest { 529 if x, ok := x.GetMessage().(*SignalResponse_Trickle); ok { 530 return x.Trickle 531 } 532 return nil 533 } 534 535 func (x *SignalResponse) GetUpdate() *ParticipantUpdate { 536 if x, ok := x.GetMessage().(*SignalResponse_Update); ok { 537 return x.Update 538 } 539 return nil 540 } 541 542 func (x *SignalResponse) GetTrackPublished() *TrackPublishedResponse { 543 if x, ok := x.GetMessage().(*SignalResponse_TrackPublished); ok { 544 return x.TrackPublished 545 } 546 return nil 547 } 548 549 func (x *SignalResponse) GetLeave() *LeaveRequest { 550 if x, ok := x.GetMessage().(*SignalResponse_Leave); ok { 551 return x.Leave 552 } 553 return nil 554 } 555 556 func (x *SignalResponse) GetMute() *MuteTrackRequest { 557 if x, ok := x.GetMessage().(*SignalResponse_Mute); ok { 558 return x.Mute 559 } 560 return nil 561 } 562 563 func (x *SignalResponse) GetSpeakersChanged() *SpeakersChanged { 564 if x, ok := x.GetMessage().(*SignalResponse_SpeakersChanged); ok { 565 return x.SpeakersChanged 566 } 567 return nil 568 } 569 570 func (x *SignalResponse) GetRoomUpdate() *RoomUpdate { 571 if x, ok := x.GetMessage().(*SignalResponse_RoomUpdate); ok { 572 return x.RoomUpdate 573 } 574 return nil 575 } 576 577 func (x *SignalResponse) GetConnectionQuality() *ConnectionQualityUpdate { 578 if x, ok := x.GetMessage().(*SignalResponse_ConnectionQuality); ok { 579 return x.ConnectionQuality 580 } 581 return nil 582 } 583 584 func (x *SignalResponse) GetStreamStateUpdate() *StreamStateUpdate { 585 if x, ok := x.GetMessage().(*SignalResponse_StreamStateUpdate); ok { 586 return x.StreamStateUpdate 587 } 588 return nil 589 } 590 591 func (x *SignalResponse) GetSubscribedQualityUpdate() *SubscribedQualityUpdate { 592 if x, ok := x.GetMessage().(*SignalResponse_SubscribedQualityUpdate); ok { 593 return x.SubscribedQualityUpdate 594 } 595 return nil 596 } 597 598 func (x *SignalResponse) GetSubscriptionPermissionUpdate() *SubscriptionPermissionUpdate { 599 if x, ok := x.GetMessage().(*SignalResponse_SubscriptionPermissionUpdate); ok { 600 return x.SubscriptionPermissionUpdate 601 } 602 return nil 603 } 604 605 func (x *SignalResponse) GetRefreshToken() string { 606 if x, ok := x.GetMessage().(*SignalResponse_RefreshToken); ok { 607 return x.RefreshToken 608 } 609 return "" 610 } 611 612 func (x *SignalResponse) GetTrackUnpublished() *TrackUnpublishedResponse { 613 if x, ok := x.GetMessage().(*SignalResponse_TrackUnpublished); ok { 614 return x.TrackUnpublished 615 } 616 return nil 617 } 618 619 func (x *SignalResponse) GetPong() int64 { 620 if x, ok := x.GetMessage().(*SignalResponse_Pong); ok { 621 return x.Pong 622 } 623 return 0 624 } 625 626 func (x *SignalResponse) GetReconnect() *ReconnectResponse { 627 if x, ok := x.GetMessage().(*SignalResponse_Reconnect); ok { 628 return x.Reconnect 629 } 630 return nil 631 } 632 633 func (x *SignalResponse) GetPongResp() *Pong { 634 if x, ok := x.GetMessage().(*SignalResponse_PongResp); ok { 635 return x.PongResp 636 } 637 return nil 638 } 639 640 type isSignalResponse_Message interface { 641 isSignalResponse_Message() 642 } 643 644 type SignalResponse_Join struct { 645 // sent when join is accepted 646 Join *JoinResponse `protobuf:"bytes,1,opt,name=join,proto3,oneof"` 647 } 648 649 type SignalResponse_Answer struct { 650 // sent when server answers publisher 651 Answer *SessionDescription `protobuf:"bytes,2,opt,name=answer,proto3,oneof"` 652 } 653 654 type SignalResponse_Offer struct { 655 // sent when server is sending subscriber an offer 656 Offer *SessionDescription `protobuf:"bytes,3,opt,name=offer,proto3,oneof"` 657 } 658 659 type SignalResponse_Trickle struct { 660 // sent when an ICE candidate is available 661 Trickle *TrickleRequest `protobuf:"bytes,4,opt,name=trickle,proto3,oneof"` 662 } 663 664 type SignalResponse_Update struct { 665 // sent when participants in the room has changed 666 Update *ParticipantUpdate `protobuf:"bytes,5,opt,name=update,proto3,oneof"` 667 } 668 669 type SignalResponse_TrackPublished struct { 670 // sent to the participant when their track has been published 671 TrackPublished *TrackPublishedResponse `protobuf:"bytes,6,opt,name=track_published,json=trackPublished,proto3,oneof"` 672 } 673 674 type SignalResponse_Leave struct { 675 // Immediately terminate session 676 Leave *LeaveRequest `protobuf:"bytes,8,opt,name=leave,proto3,oneof"` 677 } 678 679 type SignalResponse_Mute struct { 680 // server initiated mute 681 Mute *MuteTrackRequest `protobuf:"bytes,9,opt,name=mute,proto3,oneof"` 682 } 683 684 type SignalResponse_SpeakersChanged struct { 685 // indicates changes to speaker status, including when they've gone to not speaking 686 SpeakersChanged *SpeakersChanged `protobuf:"bytes,10,opt,name=speakers_changed,json=speakersChanged,proto3,oneof"` 687 } 688 689 type SignalResponse_RoomUpdate struct { 690 // sent when metadata of the room has changed 691 RoomUpdate *RoomUpdate `protobuf:"bytes,11,opt,name=room_update,json=roomUpdate,proto3,oneof"` 692 } 693 694 type SignalResponse_ConnectionQuality struct { 695 // when connection quality changed 696 ConnectionQuality *ConnectionQualityUpdate `protobuf:"bytes,12,opt,name=connection_quality,json=connectionQuality,proto3,oneof"` 697 } 698 699 type SignalResponse_StreamStateUpdate struct { 700 // when streamed tracks state changed, used to notify when any of the streams were paused due to 701 // congestion 702 StreamStateUpdate *StreamStateUpdate `protobuf:"bytes,13,opt,name=stream_state_update,json=streamStateUpdate,proto3,oneof"` 703 } 704 705 type SignalResponse_SubscribedQualityUpdate struct { 706 // when max subscribe quality changed, used by dynamic broadcasting to disable unused layers 707 SubscribedQualityUpdate *SubscribedQualityUpdate `protobuf:"bytes,14,opt,name=subscribed_quality_update,json=subscribedQualityUpdate,proto3,oneof"` 708 } 709 710 type SignalResponse_SubscriptionPermissionUpdate struct { 711 // when subscription permission changed 712 SubscriptionPermissionUpdate *SubscriptionPermissionUpdate `protobuf:"bytes,15,opt,name=subscription_permission_update,json=subscriptionPermissionUpdate,proto3,oneof"` 713 } 714 715 type SignalResponse_RefreshToken struct { 716 // update the token the client was using, to prevent an active client from using an expired token 717 RefreshToken string `protobuf:"bytes,16,opt,name=refresh_token,json=refreshToken,proto3,oneof"` 718 } 719 720 type SignalResponse_TrackUnpublished struct { 721 // server initiated track unpublish 722 TrackUnpublished *TrackUnpublishedResponse `protobuf:"bytes,17,opt,name=track_unpublished,json=trackUnpublished,proto3,oneof"` 723 } 724 725 type SignalResponse_Pong struct { 726 // respond to ping 727 Pong int64 `protobuf:"varint,18,opt,name=pong,proto3,oneof"` // deprecated by pong_resp (message Pong) 728 } 729 730 type SignalResponse_Reconnect struct { 731 // sent when client reconnects 732 Reconnect *ReconnectResponse `protobuf:"bytes,19,opt,name=reconnect,proto3,oneof"` 733 } 734 735 type SignalResponse_PongResp struct { 736 // respond to Ping 737 PongResp *Pong `protobuf:"bytes,20,opt,name=pong_resp,json=pongResp,proto3,oneof"` 738 } 739 740 func (*SignalResponse_Join) isSignalResponse_Message() {} 741 742 func (*SignalResponse_Answer) isSignalResponse_Message() {} 743 744 func (*SignalResponse_Offer) isSignalResponse_Message() {} 745 746 func (*SignalResponse_Trickle) isSignalResponse_Message() {} 747 748 func (*SignalResponse_Update) isSignalResponse_Message() {} 749 750 func (*SignalResponse_TrackPublished) isSignalResponse_Message() {} 751 752 func (*SignalResponse_Leave) isSignalResponse_Message() {} 753 754 func (*SignalResponse_Mute) isSignalResponse_Message() {} 755 756 func (*SignalResponse_SpeakersChanged) isSignalResponse_Message() {} 757 758 func (*SignalResponse_RoomUpdate) isSignalResponse_Message() {} 759 760 func (*SignalResponse_ConnectionQuality) isSignalResponse_Message() {} 761 762 func (*SignalResponse_StreamStateUpdate) isSignalResponse_Message() {} 763 764 func (*SignalResponse_SubscribedQualityUpdate) isSignalResponse_Message() {} 765 766 func (*SignalResponse_SubscriptionPermissionUpdate) isSignalResponse_Message() {} 767 768 func (*SignalResponse_RefreshToken) isSignalResponse_Message() {} 769 770 func (*SignalResponse_TrackUnpublished) isSignalResponse_Message() {} 771 772 func (*SignalResponse_Pong) isSignalResponse_Message() {} 773 774 func (*SignalResponse_Reconnect) isSignalResponse_Message() {} 775 776 func (*SignalResponse_PongResp) isSignalResponse_Message() {} 777 778 type SimulcastCodec struct { 779 state protoimpl.MessageState 780 sizeCache protoimpl.SizeCache 781 unknownFields protoimpl.UnknownFields 782 783 Codec string `protobuf:"bytes,1,opt,name=codec,proto3" json:"codec,omitempty"` 784 Cid string `protobuf:"bytes,2,opt,name=cid,proto3" json:"cid,omitempty"` 785 EnableSimulcastLayers bool `protobuf:"varint,3,opt,name=enable_simulcast_layers,json=enableSimulcastLayers,proto3" json:"enable_simulcast_layers,omitempty"` 786 } 787 788 func (x *SimulcastCodec) Reset() { 789 *x = SimulcastCodec{} 790 if protoimpl.UnsafeEnabled { 791 mi := &file_livekit_rtc_proto_msgTypes[2] 792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 793 ms.StoreMessageInfo(mi) 794 } 795 } 796 797 func (x *SimulcastCodec) String() string { 798 return protoimpl.X.MessageStringOf(x) 799 } 800 801 func (*SimulcastCodec) ProtoMessage() {} 802 803 func (x *SimulcastCodec) ProtoReflect() protoreflect.Message { 804 mi := &file_livekit_rtc_proto_msgTypes[2] 805 if protoimpl.UnsafeEnabled && x != nil { 806 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 807 if ms.LoadMessageInfo() == nil { 808 ms.StoreMessageInfo(mi) 809 } 810 return ms 811 } 812 return mi.MessageOf(x) 813 } 814 815 // Deprecated: Use SimulcastCodec.ProtoReflect.Descriptor instead. 816 func (*SimulcastCodec) Descriptor() ([]byte, []int) { 817 return file_livekit_rtc_proto_rawDescGZIP(), []int{2} 818 } 819 820 func (x *SimulcastCodec) GetCodec() string { 821 if x != nil { 822 return x.Codec 823 } 824 return "" 825 } 826 827 func (x *SimulcastCodec) GetCid() string { 828 if x != nil { 829 return x.Cid 830 } 831 return "" 832 } 833 834 func (x *SimulcastCodec) GetEnableSimulcastLayers() bool { 835 if x != nil { 836 return x.EnableSimulcastLayers 837 } 838 return false 839 } 840 841 type AddTrackRequest struct { 842 state protoimpl.MessageState 843 sizeCache protoimpl.SizeCache 844 unknownFields protoimpl.UnknownFields 845 846 // client ID of track, to match it when RTC track is received 847 Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` 848 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 849 Type TrackType `protobuf:"varint,3,opt,name=type,proto3,enum=livekit.TrackType" json:"type,omitempty"` 850 // to be deprecated in favor of layers 851 Width uint32 `protobuf:"varint,4,opt,name=width,proto3" json:"width,omitempty"` 852 Height uint32 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"` 853 // true to add track and initialize to muted 854 Muted bool `protobuf:"varint,6,opt,name=muted,proto3" json:"muted,omitempty"` 855 // true if DTX (Discontinuous Transmission) is disabled for audio 856 DisableDtx bool `protobuf:"varint,7,opt,name=disable_dtx,json=disableDtx,proto3" json:"disable_dtx,omitempty"` 857 Source TrackSource `protobuf:"varint,8,opt,name=source,proto3,enum=livekit.TrackSource" json:"source,omitempty"` 858 Layers []*VideoLayer `protobuf:"bytes,9,rep,name=layers,proto3" json:"layers,omitempty"` 859 SimulcastCodecs []*SimulcastCodec `protobuf:"bytes,10,rep,name=simulcast_codecs,json=simulcastCodecs,proto3" json:"simulcast_codecs,omitempty"` 860 // server ID of track, publish new codec to exist track 861 Sid string `protobuf:"bytes,11,opt,name=sid,proto3" json:"sid,omitempty"` 862 Stereo bool `protobuf:"varint,12,opt,name=stereo,proto3" json:"stereo,omitempty"` 863 // true if RED (Redundant Encoding) is disabled for audio 864 DisableRed bool `protobuf:"varint,13,opt,name=disable_red,json=disableRed,proto3" json:"disable_red,omitempty"` 865 Encryption Encryption_Type `protobuf:"varint,14,opt,name=encryption,proto3,enum=livekit.Encryption_Type" json:"encryption,omitempty"` 866 } 867 868 func (x *AddTrackRequest) Reset() { 869 *x = AddTrackRequest{} 870 if protoimpl.UnsafeEnabled { 871 mi := &file_livekit_rtc_proto_msgTypes[3] 872 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 873 ms.StoreMessageInfo(mi) 874 } 875 } 876 877 func (x *AddTrackRequest) String() string { 878 return protoimpl.X.MessageStringOf(x) 879 } 880 881 func (*AddTrackRequest) ProtoMessage() {} 882 883 func (x *AddTrackRequest) ProtoReflect() protoreflect.Message { 884 mi := &file_livekit_rtc_proto_msgTypes[3] 885 if protoimpl.UnsafeEnabled && x != nil { 886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 887 if ms.LoadMessageInfo() == nil { 888 ms.StoreMessageInfo(mi) 889 } 890 return ms 891 } 892 return mi.MessageOf(x) 893 } 894 895 // Deprecated: Use AddTrackRequest.ProtoReflect.Descriptor instead. 896 func (*AddTrackRequest) Descriptor() ([]byte, []int) { 897 return file_livekit_rtc_proto_rawDescGZIP(), []int{3} 898 } 899 900 func (x *AddTrackRequest) GetCid() string { 901 if x != nil { 902 return x.Cid 903 } 904 return "" 905 } 906 907 func (x *AddTrackRequest) GetName() string { 908 if x != nil { 909 return x.Name 910 } 911 return "" 912 } 913 914 func (x *AddTrackRequest) GetType() TrackType { 915 if x != nil { 916 return x.Type 917 } 918 return TrackType_AUDIO 919 } 920 921 func (x *AddTrackRequest) GetWidth() uint32 { 922 if x != nil { 923 return x.Width 924 } 925 return 0 926 } 927 928 func (x *AddTrackRequest) GetHeight() uint32 { 929 if x != nil { 930 return x.Height 931 } 932 return 0 933 } 934 935 func (x *AddTrackRequest) GetMuted() bool { 936 if x != nil { 937 return x.Muted 938 } 939 return false 940 } 941 942 func (x *AddTrackRequest) GetDisableDtx() bool { 943 if x != nil { 944 return x.DisableDtx 945 } 946 return false 947 } 948 949 func (x *AddTrackRequest) GetSource() TrackSource { 950 if x != nil { 951 return x.Source 952 } 953 return TrackSource_UNKNOWN 954 } 955 956 func (x *AddTrackRequest) GetLayers() []*VideoLayer { 957 if x != nil { 958 return x.Layers 959 } 960 return nil 961 } 962 963 func (x *AddTrackRequest) GetSimulcastCodecs() []*SimulcastCodec { 964 if x != nil { 965 return x.SimulcastCodecs 966 } 967 return nil 968 } 969 970 func (x *AddTrackRequest) GetSid() string { 971 if x != nil { 972 return x.Sid 973 } 974 return "" 975 } 976 977 func (x *AddTrackRequest) GetStereo() bool { 978 if x != nil { 979 return x.Stereo 980 } 981 return false 982 } 983 984 func (x *AddTrackRequest) GetDisableRed() bool { 985 if x != nil { 986 return x.DisableRed 987 } 988 return false 989 } 990 991 func (x *AddTrackRequest) GetEncryption() Encryption_Type { 992 if x != nil { 993 return x.Encryption 994 } 995 return Encryption_NONE 996 } 997 998 type TrickleRequest struct { 999 state protoimpl.MessageState 1000 sizeCache protoimpl.SizeCache 1001 unknownFields protoimpl.UnknownFields 1002 1003 CandidateInit string `protobuf:"bytes,1,opt,name=candidateInit,proto3" json:"candidateInit,omitempty"` 1004 Target SignalTarget `protobuf:"varint,2,opt,name=target,proto3,enum=livekit.SignalTarget" json:"target,omitempty"` 1005 } 1006 1007 func (x *TrickleRequest) Reset() { 1008 *x = TrickleRequest{} 1009 if protoimpl.UnsafeEnabled { 1010 mi := &file_livekit_rtc_proto_msgTypes[4] 1011 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1012 ms.StoreMessageInfo(mi) 1013 } 1014 } 1015 1016 func (x *TrickleRequest) String() string { 1017 return protoimpl.X.MessageStringOf(x) 1018 } 1019 1020 func (*TrickleRequest) ProtoMessage() {} 1021 1022 func (x *TrickleRequest) ProtoReflect() protoreflect.Message { 1023 mi := &file_livekit_rtc_proto_msgTypes[4] 1024 if protoimpl.UnsafeEnabled && x != nil { 1025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1026 if ms.LoadMessageInfo() == nil { 1027 ms.StoreMessageInfo(mi) 1028 } 1029 return ms 1030 } 1031 return mi.MessageOf(x) 1032 } 1033 1034 // Deprecated: Use TrickleRequest.ProtoReflect.Descriptor instead. 1035 func (*TrickleRequest) Descriptor() ([]byte, []int) { 1036 return file_livekit_rtc_proto_rawDescGZIP(), []int{4} 1037 } 1038 1039 func (x *TrickleRequest) GetCandidateInit() string { 1040 if x != nil { 1041 return x.CandidateInit 1042 } 1043 return "" 1044 } 1045 1046 func (x *TrickleRequest) GetTarget() SignalTarget { 1047 if x != nil { 1048 return x.Target 1049 } 1050 return SignalTarget_PUBLISHER 1051 } 1052 1053 type MuteTrackRequest struct { 1054 state protoimpl.MessageState 1055 sizeCache protoimpl.SizeCache 1056 unknownFields protoimpl.UnknownFields 1057 1058 Sid string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` 1059 Muted bool `protobuf:"varint,2,opt,name=muted,proto3" json:"muted,omitempty"` 1060 } 1061 1062 func (x *MuteTrackRequest) Reset() { 1063 *x = MuteTrackRequest{} 1064 if protoimpl.UnsafeEnabled { 1065 mi := &file_livekit_rtc_proto_msgTypes[5] 1066 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1067 ms.StoreMessageInfo(mi) 1068 } 1069 } 1070 1071 func (x *MuteTrackRequest) String() string { 1072 return protoimpl.X.MessageStringOf(x) 1073 } 1074 1075 func (*MuteTrackRequest) ProtoMessage() {} 1076 1077 func (x *MuteTrackRequest) ProtoReflect() protoreflect.Message { 1078 mi := &file_livekit_rtc_proto_msgTypes[5] 1079 if protoimpl.UnsafeEnabled && x != nil { 1080 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1081 if ms.LoadMessageInfo() == nil { 1082 ms.StoreMessageInfo(mi) 1083 } 1084 return ms 1085 } 1086 return mi.MessageOf(x) 1087 } 1088 1089 // Deprecated: Use MuteTrackRequest.ProtoReflect.Descriptor instead. 1090 func (*MuteTrackRequest) Descriptor() ([]byte, []int) { 1091 return file_livekit_rtc_proto_rawDescGZIP(), []int{5} 1092 } 1093 1094 func (x *MuteTrackRequest) GetSid() string { 1095 if x != nil { 1096 return x.Sid 1097 } 1098 return "" 1099 } 1100 1101 func (x *MuteTrackRequest) GetMuted() bool { 1102 if x != nil { 1103 return x.Muted 1104 } 1105 return false 1106 } 1107 1108 type JoinResponse struct { 1109 state protoimpl.MessageState 1110 sizeCache protoimpl.SizeCache 1111 unknownFields protoimpl.UnknownFields 1112 1113 Room *Room `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` 1114 Participant *ParticipantInfo `protobuf:"bytes,2,opt,name=participant,proto3" json:"participant,omitempty"` 1115 OtherParticipants []*ParticipantInfo `protobuf:"bytes,3,rep,name=other_participants,json=otherParticipants,proto3" json:"other_participants,omitempty"` 1116 // deprecated. use server_info.version instead. 1117 ServerVersion string `protobuf:"bytes,4,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"` 1118 IceServers []*ICEServer `protobuf:"bytes,5,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"` 1119 // use subscriber as the primary PeerConnection 1120 SubscriberPrimary bool `protobuf:"varint,6,opt,name=subscriber_primary,json=subscriberPrimary,proto3" json:"subscriber_primary,omitempty"` 1121 // when the current server isn't available, return alternate url to retry connection 1122 // when this is set, the other fields will be largely empty 1123 AlternativeUrl string `protobuf:"bytes,7,opt,name=alternative_url,json=alternativeUrl,proto3" json:"alternative_url,omitempty"` 1124 ClientConfiguration *ClientConfiguration `protobuf:"bytes,8,opt,name=client_configuration,json=clientConfiguration,proto3" json:"client_configuration,omitempty"` 1125 // deprecated. use server_info.region instead. 1126 ServerRegion string `protobuf:"bytes,9,opt,name=server_region,json=serverRegion,proto3" json:"server_region,omitempty"` 1127 PingTimeout int32 `protobuf:"varint,10,opt,name=ping_timeout,json=pingTimeout,proto3" json:"ping_timeout,omitempty"` 1128 PingInterval int32 `protobuf:"varint,11,opt,name=ping_interval,json=pingInterval,proto3" json:"ping_interval,omitempty"` 1129 ServerInfo *ServerInfo `protobuf:"bytes,12,opt,name=server_info,json=serverInfo,proto3" json:"server_info,omitempty"` 1130 } 1131 1132 func (x *JoinResponse) Reset() { 1133 *x = JoinResponse{} 1134 if protoimpl.UnsafeEnabled { 1135 mi := &file_livekit_rtc_proto_msgTypes[6] 1136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1137 ms.StoreMessageInfo(mi) 1138 } 1139 } 1140 1141 func (x *JoinResponse) String() string { 1142 return protoimpl.X.MessageStringOf(x) 1143 } 1144 1145 func (*JoinResponse) ProtoMessage() {} 1146 1147 func (x *JoinResponse) ProtoReflect() protoreflect.Message { 1148 mi := &file_livekit_rtc_proto_msgTypes[6] 1149 if protoimpl.UnsafeEnabled && x != nil { 1150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1151 if ms.LoadMessageInfo() == nil { 1152 ms.StoreMessageInfo(mi) 1153 } 1154 return ms 1155 } 1156 return mi.MessageOf(x) 1157 } 1158 1159 // Deprecated: Use JoinResponse.ProtoReflect.Descriptor instead. 1160 func (*JoinResponse) Descriptor() ([]byte, []int) { 1161 return file_livekit_rtc_proto_rawDescGZIP(), []int{6} 1162 } 1163 1164 func (x *JoinResponse) GetRoom() *Room { 1165 if x != nil { 1166 return x.Room 1167 } 1168 return nil 1169 } 1170 1171 func (x *JoinResponse) GetParticipant() *ParticipantInfo { 1172 if x != nil { 1173 return x.Participant 1174 } 1175 return nil 1176 } 1177 1178 func (x *JoinResponse) GetOtherParticipants() []*ParticipantInfo { 1179 if x != nil { 1180 return x.OtherParticipants 1181 } 1182 return nil 1183 } 1184 1185 func (x *JoinResponse) GetServerVersion() string { 1186 if x != nil { 1187 return x.ServerVersion 1188 } 1189 return "" 1190 } 1191 1192 func (x *JoinResponse) GetIceServers() []*ICEServer { 1193 if x != nil { 1194 return x.IceServers 1195 } 1196 return nil 1197 } 1198 1199 func (x *JoinResponse) GetSubscriberPrimary() bool { 1200 if x != nil { 1201 return x.SubscriberPrimary 1202 } 1203 return false 1204 } 1205 1206 func (x *JoinResponse) GetAlternativeUrl() string { 1207 if x != nil { 1208 return x.AlternativeUrl 1209 } 1210 return "" 1211 } 1212 1213 func (x *JoinResponse) GetClientConfiguration() *ClientConfiguration { 1214 if x != nil { 1215 return x.ClientConfiguration 1216 } 1217 return nil 1218 } 1219 1220 func (x *JoinResponse) GetServerRegion() string { 1221 if x != nil { 1222 return x.ServerRegion 1223 } 1224 return "" 1225 } 1226 1227 func (x *JoinResponse) GetPingTimeout() int32 { 1228 if x != nil { 1229 return x.PingTimeout 1230 } 1231 return 0 1232 } 1233 1234 func (x *JoinResponse) GetPingInterval() int32 { 1235 if x != nil { 1236 return x.PingInterval 1237 } 1238 return 0 1239 } 1240 1241 func (x *JoinResponse) GetServerInfo() *ServerInfo { 1242 if x != nil { 1243 return x.ServerInfo 1244 } 1245 return nil 1246 } 1247 1248 type ReconnectResponse struct { 1249 state protoimpl.MessageState 1250 sizeCache protoimpl.SizeCache 1251 unknownFields protoimpl.UnknownFields 1252 1253 IceServers []*ICEServer `protobuf:"bytes,1,rep,name=ice_servers,json=iceServers,proto3" json:"ice_servers,omitempty"` 1254 ClientConfiguration *ClientConfiguration `protobuf:"bytes,2,opt,name=client_configuration,json=clientConfiguration,proto3" json:"client_configuration,omitempty"` 1255 } 1256 1257 func (x *ReconnectResponse) Reset() { 1258 *x = ReconnectResponse{} 1259 if protoimpl.UnsafeEnabled { 1260 mi := &file_livekit_rtc_proto_msgTypes[7] 1261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1262 ms.StoreMessageInfo(mi) 1263 } 1264 } 1265 1266 func (x *ReconnectResponse) String() string { 1267 return protoimpl.X.MessageStringOf(x) 1268 } 1269 1270 func (*ReconnectResponse) ProtoMessage() {} 1271 1272 func (x *ReconnectResponse) ProtoReflect() protoreflect.Message { 1273 mi := &file_livekit_rtc_proto_msgTypes[7] 1274 if protoimpl.UnsafeEnabled && x != nil { 1275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1276 if ms.LoadMessageInfo() == nil { 1277 ms.StoreMessageInfo(mi) 1278 } 1279 return ms 1280 } 1281 return mi.MessageOf(x) 1282 } 1283 1284 // Deprecated: Use ReconnectResponse.ProtoReflect.Descriptor instead. 1285 func (*ReconnectResponse) Descriptor() ([]byte, []int) { 1286 return file_livekit_rtc_proto_rawDescGZIP(), []int{7} 1287 } 1288 1289 func (x *ReconnectResponse) GetIceServers() []*ICEServer { 1290 if x != nil { 1291 return x.IceServers 1292 } 1293 return nil 1294 } 1295 1296 func (x *ReconnectResponse) GetClientConfiguration() *ClientConfiguration { 1297 if x != nil { 1298 return x.ClientConfiguration 1299 } 1300 return nil 1301 } 1302 1303 type TrackPublishedResponse struct { 1304 state protoimpl.MessageState 1305 sizeCache protoimpl.SizeCache 1306 unknownFields protoimpl.UnknownFields 1307 1308 Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"` 1309 Track *TrackInfo `protobuf:"bytes,2,opt,name=track,proto3" json:"track,omitempty"` 1310 } 1311 1312 func (x *TrackPublishedResponse) Reset() { 1313 *x = TrackPublishedResponse{} 1314 if protoimpl.UnsafeEnabled { 1315 mi := &file_livekit_rtc_proto_msgTypes[8] 1316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1317 ms.StoreMessageInfo(mi) 1318 } 1319 } 1320 1321 func (x *TrackPublishedResponse) String() string { 1322 return protoimpl.X.MessageStringOf(x) 1323 } 1324 1325 func (*TrackPublishedResponse) ProtoMessage() {} 1326 1327 func (x *TrackPublishedResponse) ProtoReflect() protoreflect.Message { 1328 mi := &file_livekit_rtc_proto_msgTypes[8] 1329 if protoimpl.UnsafeEnabled && x != nil { 1330 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1331 if ms.LoadMessageInfo() == nil { 1332 ms.StoreMessageInfo(mi) 1333 } 1334 return ms 1335 } 1336 return mi.MessageOf(x) 1337 } 1338 1339 // Deprecated: Use TrackPublishedResponse.ProtoReflect.Descriptor instead. 1340 func (*TrackPublishedResponse) Descriptor() ([]byte, []int) { 1341 return file_livekit_rtc_proto_rawDescGZIP(), []int{8} 1342 } 1343 1344 func (x *TrackPublishedResponse) GetCid() string { 1345 if x != nil { 1346 return x.Cid 1347 } 1348 return "" 1349 } 1350 1351 func (x *TrackPublishedResponse) GetTrack() *TrackInfo { 1352 if x != nil { 1353 return x.Track 1354 } 1355 return nil 1356 } 1357 1358 type TrackUnpublishedResponse struct { 1359 state protoimpl.MessageState 1360 sizeCache protoimpl.SizeCache 1361 unknownFields protoimpl.UnknownFields 1362 1363 TrackSid string `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"` 1364 } 1365 1366 func (x *TrackUnpublishedResponse) Reset() { 1367 *x = TrackUnpublishedResponse{} 1368 if protoimpl.UnsafeEnabled { 1369 mi := &file_livekit_rtc_proto_msgTypes[9] 1370 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1371 ms.StoreMessageInfo(mi) 1372 } 1373 } 1374 1375 func (x *TrackUnpublishedResponse) String() string { 1376 return protoimpl.X.MessageStringOf(x) 1377 } 1378 1379 func (*TrackUnpublishedResponse) ProtoMessage() {} 1380 1381 func (x *TrackUnpublishedResponse) ProtoReflect() protoreflect.Message { 1382 mi := &file_livekit_rtc_proto_msgTypes[9] 1383 if protoimpl.UnsafeEnabled && x != nil { 1384 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1385 if ms.LoadMessageInfo() == nil { 1386 ms.StoreMessageInfo(mi) 1387 } 1388 return ms 1389 } 1390 return mi.MessageOf(x) 1391 } 1392 1393 // Deprecated: Use TrackUnpublishedResponse.ProtoReflect.Descriptor instead. 1394 func (*TrackUnpublishedResponse) Descriptor() ([]byte, []int) { 1395 return file_livekit_rtc_proto_rawDescGZIP(), []int{9} 1396 } 1397 1398 func (x *TrackUnpublishedResponse) GetTrackSid() string { 1399 if x != nil { 1400 return x.TrackSid 1401 } 1402 return "" 1403 } 1404 1405 type SessionDescription struct { 1406 state protoimpl.MessageState 1407 sizeCache protoimpl.SizeCache 1408 unknownFields protoimpl.UnknownFields 1409 1410 Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` // "answer" | "offer" | "pranswer" | "rollback" 1411 Sdp string `protobuf:"bytes,2,opt,name=sdp,proto3" json:"sdp,omitempty"` 1412 } 1413 1414 func (x *SessionDescription) Reset() { 1415 *x = SessionDescription{} 1416 if protoimpl.UnsafeEnabled { 1417 mi := &file_livekit_rtc_proto_msgTypes[10] 1418 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1419 ms.StoreMessageInfo(mi) 1420 } 1421 } 1422 1423 func (x *SessionDescription) String() string { 1424 return protoimpl.X.MessageStringOf(x) 1425 } 1426 1427 func (*SessionDescription) ProtoMessage() {} 1428 1429 func (x *SessionDescription) ProtoReflect() protoreflect.Message { 1430 mi := &file_livekit_rtc_proto_msgTypes[10] 1431 if protoimpl.UnsafeEnabled && x != nil { 1432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1433 if ms.LoadMessageInfo() == nil { 1434 ms.StoreMessageInfo(mi) 1435 } 1436 return ms 1437 } 1438 return mi.MessageOf(x) 1439 } 1440 1441 // Deprecated: Use SessionDescription.ProtoReflect.Descriptor instead. 1442 func (*SessionDescription) Descriptor() ([]byte, []int) { 1443 return file_livekit_rtc_proto_rawDescGZIP(), []int{10} 1444 } 1445 1446 func (x *SessionDescription) GetType() string { 1447 if x != nil { 1448 return x.Type 1449 } 1450 return "" 1451 } 1452 1453 func (x *SessionDescription) GetSdp() string { 1454 if x != nil { 1455 return x.Sdp 1456 } 1457 return "" 1458 } 1459 1460 type ParticipantUpdate struct { 1461 state protoimpl.MessageState 1462 sizeCache protoimpl.SizeCache 1463 unknownFields protoimpl.UnknownFields 1464 1465 Participants []*ParticipantInfo `protobuf:"bytes,1,rep,name=participants,proto3" json:"participants,omitempty"` 1466 } 1467 1468 func (x *ParticipantUpdate) Reset() { 1469 *x = ParticipantUpdate{} 1470 if protoimpl.UnsafeEnabled { 1471 mi := &file_livekit_rtc_proto_msgTypes[11] 1472 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1473 ms.StoreMessageInfo(mi) 1474 } 1475 } 1476 1477 func (x *ParticipantUpdate) String() string { 1478 return protoimpl.X.MessageStringOf(x) 1479 } 1480 1481 func (*ParticipantUpdate) ProtoMessage() {} 1482 1483 func (x *ParticipantUpdate) ProtoReflect() protoreflect.Message { 1484 mi := &file_livekit_rtc_proto_msgTypes[11] 1485 if protoimpl.UnsafeEnabled && x != nil { 1486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1487 if ms.LoadMessageInfo() == nil { 1488 ms.StoreMessageInfo(mi) 1489 } 1490 return ms 1491 } 1492 return mi.MessageOf(x) 1493 } 1494 1495 // Deprecated: Use ParticipantUpdate.ProtoReflect.Descriptor instead. 1496 func (*ParticipantUpdate) Descriptor() ([]byte, []int) { 1497 return file_livekit_rtc_proto_rawDescGZIP(), []int{11} 1498 } 1499 1500 func (x *ParticipantUpdate) GetParticipants() []*ParticipantInfo { 1501 if x != nil { 1502 return x.Participants 1503 } 1504 return nil 1505 } 1506 1507 type UpdateSubscription struct { 1508 state protoimpl.MessageState 1509 sizeCache protoimpl.SizeCache 1510 unknownFields protoimpl.UnknownFields 1511 1512 TrackSids []string `protobuf:"bytes,1,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"` 1513 Subscribe bool `protobuf:"varint,2,opt,name=subscribe,proto3" json:"subscribe,omitempty"` 1514 ParticipantTracks []*ParticipantTracks `protobuf:"bytes,3,rep,name=participant_tracks,json=participantTracks,proto3" json:"participant_tracks,omitempty"` 1515 } 1516 1517 func (x *UpdateSubscription) Reset() { 1518 *x = UpdateSubscription{} 1519 if protoimpl.UnsafeEnabled { 1520 mi := &file_livekit_rtc_proto_msgTypes[12] 1521 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1522 ms.StoreMessageInfo(mi) 1523 } 1524 } 1525 1526 func (x *UpdateSubscription) String() string { 1527 return protoimpl.X.MessageStringOf(x) 1528 } 1529 1530 func (*UpdateSubscription) ProtoMessage() {} 1531 1532 func (x *UpdateSubscription) ProtoReflect() protoreflect.Message { 1533 mi := &file_livekit_rtc_proto_msgTypes[12] 1534 if protoimpl.UnsafeEnabled && x != nil { 1535 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1536 if ms.LoadMessageInfo() == nil { 1537 ms.StoreMessageInfo(mi) 1538 } 1539 return ms 1540 } 1541 return mi.MessageOf(x) 1542 } 1543 1544 // Deprecated: Use UpdateSubscription.ProtoReflect.Descriptor instead. 1545 func (*UpdateSubscription) Descriptor() ([]byte, []int) { 1546 return file_livekit_rtc_proto_rawDescGZIP(), []int{12} 1547 } 1548 1549 func (x *UpdateSubscription) GetTrackSids() []string { 1550 if x != nil { 1551 return x.TrackSids 1552 } 1553 return nil 1554 } 1555 1556 func (x *UpdateSubscription) GetSubscribe() bool { 1557 if x != nil { 1558 return x.Subscribe 1559 } 1560 return false 1561 } 1562 1563 func (x *UpdateSubscription) GetParticipantTracks() []*ParticipantTracks { 1564 if x != nil { 1565 return x.ParticipantTracks 1566 } 1567 return nil 1568 } 1569 1570 type UpdateTrackSettings struct { 1571 state protoimpl.MessageState 1572 sizeCache protoimpl.SizeCache 1573 unknownFields protoimpl.UnknownFields 1574 1575 TrackSids []string `protobuf:"bytes,1,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"` 1576 // when true, the track is placed in a paused state, with no new data returned 1577 Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` 1578 // deprecated in favor of width & height 1579 Quality VideoQuality `protobuf:"varint,4,opt,name=quality,proto3,enum=livekit.VideoQuality" json:"quality,omitempty"` 1580 // for video, width to receive 1581 Width uint32 `protobuf:"varint,5,opt,name=width,proto3" json:"width,omitempty"` 1582 // for video, height to receive 1583 Height uint32 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"` 1584 Fps uint32 `protobuf:"varint,7,opt,name=fps,proto3" json:"fps,omitempty"` 1585 // subscription priority. 1 being the highest (0 is unset) 1586 // when unset, server sill assign priority based on the order of subscription 1587 // server will use priority in the following ways: 1588 // 1. when subscribed tracks exceed per-participant subscription limit, server will 1589 // pause the lowest priority tracks 1590 // 2. when the network is congested, server will assign available bandwidth to 1591 // higher priority tracks first. lowest priority tracks can be paused 1592 Priority uint32 `protobuf:"varint,8,opt,name=priority,proto3" json:"priority,omitempty"` 1593 } 1594 1595 func (x *UpdateTrackSettings) Reset() { 1596 *x = UpdateTrackSettings{} 1597 if protoimpl.UnsafeEnabled { 1598 mi := &file_livekit_rtc_proto_msgTypes[13] 1599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1600 ms.StoreMessageInfo(mi) 1601 } 1602 } 1603 1604 func (x *UpdateTrackSettings) String() string { 1605 return protoimpl.X.MessageStringOf(x) 1606 } 1607 1608 func (*UpdateTrackSettings) ProtoMessage() {} 1609 1610 func (x *UpdateTrackSettings) ProtoReflect() protoreflect.Message { 1611 mi := &file_livekit_rtc_proto_msgTypes[13] 1612 if protoimpl.UnsafeEnabled && x != nil { 1613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1614 if ms.LoadMessageInfo() == nil { 1615 ms.StoreMessageInfo(mi) 1616 } 1617 return ms 1618 } 1619 return mi.MessageOf(x) 1620 } 1621 1622 // Deprecated: Use UpdateTrackSettings.ProtoReflect.Descriptor instead. 1623 func (*UpdateTrackSettings) Descriptor() ([]byte, []int) { 1624 return file_livekit_rtc_proto_rawDescGZIP(), []int{13} 1625 } 1626 1627 func (x *UpdateTrackSettings) GetTrackSids() []string { 1628 if x != nil { 1629 return x.TrackSids 1630 } 1631 return nil 1632 } 1633 1634 func (x *UpdateTrackSettings) GetDisabled() bool { 1635 if x != nil { 1636 return x.Disabled 1637 } 1638 return false 1639 } 1640 1641 func (x *UpdateTrackSettings) GetQuality() VideoQuality { 1642 if x != nil { 1643 return x.Quality 1644 } 1645 return VideoQuality_LOW 1646 } 1647 1648 func (x *UpdateTrackSettings) GetWidth() uint32 { 1649 if x != nil { 1650 return x.Width 1651 } 1652 return 0 1653 } 1654 1655 func (x *UpdateTrackSettings) GetHeight() uint32 { 1656 if x != nil { 1657 return x.Height 1658 } 1659 return 0 1660 } 1661 1662 func (x *UpdateTrackSettings) GetFps() uint32 { 1663 if x != nil { 1664 return x.Fps 1665 } 1666 return 0 1667 } 1668 1669 func (x *UpdateTrackSettings) GetPriority() uint32 { 1670 if x != nil { 1671 return x.Priority 1672 } 1673 return 0 1674 } 1675 1676 type LeaveRequest struct { 1677 state protoimpl.MessageState 1678 sizeCache protoimpl.SizeCache 1679 unknownFields protoimpl.UnknownFields 1680 1681 // sent when server initiates the disconnect due to server-restart 1682 // indicates clients should attempt full-reconnect sequence 1683 CanReconnect bool `protobuf:"varint,1,opt,name=can_reconnect,json=canReconnect,proto3" json:"can_reconnect,omitempty"` 1684 Reason DisconnectReason `protobuf:"varint,2,opt,name=reason,proto3,enum=livekit.DisconnectReason" json:"reason,omitempty"` 1685 } 1686 1687 func (x *LeaveRequest) Reset() { 1688 *x = LeaveRequest{} 1689 if protoimpl.UnsafeEnabled { 1690 mi := &file_livekit_rtc_proto_msgTypes[14] 1691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1692 ms.StoreMessageInfo(mi) 1693 } 1694 } 1695 1696 func (x *LeaveRequest) String() string { 1697 return protoimpl.X.MessageStringOf(x) 1698 } 1699 1700 func (*LeaveRequest) ProtoMessage() {} 1701 1702 func (x *LeaveRequest) ProtoReflect() protoreflect.Message { 1703 mi := &file_livekit_rtc_proto_msgTypes[14] 1704 if protoimpl.UnsafeEnabled && x != nil { 1705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1706 if ms.LoadMessageInfo() == nil { 1707 ms.StoreMessageInfo(mi) 1708 } 1709 return ms 1710 } 1711 return mi.MessageOf(x) 1712 } 1713 1714 // Deprecated: Use LeaveRequest.ProtoReflect.Descriptor instead. 1715 func (*LeaveRequest) Descriptor() ([]byte, []int) { 1716 return file_livekit_rtc_proto_rawDescGZIP(), []int{14} 1717 } 1718 1719 func (x *LeaveRequest) GetCanReconnect() bool { 1720 if x != nil { 1721 return x.CanReconnect 1722 } 1723 return false 1724 } 1725 1726 func (x *LeaveRequest) GetReason() DisconnectReason { 1727 if x != nil { 1728 return x.Reason 1729 } 1730 return DisconnectReason_UNKNOWN_REASON 1731 } 1732 1733 // message to indicate published video track dimensions are changing 1734 type UpdateVideoLayers struct { 1735 state protoimpl.MessageState 1736 sizeCache protoimpl.SizeCache 1737 unknownFields protoimpl.UnknownFields 1738 1739 TrackSid string `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"` 1740 Layers []*VideoLayer `protobuf:"bytes,2,rep,name=layers,proto3" json:"layers,omitempty"` 1741 } 1742 1743 func (x *UpdateVideoLayers) Reset() { 1744 *x = UpdateVideoLayers{} 1745 if protoimpl.UnsafeEnabled { 1746 mi := &file_livekit_rtc_proto_msgTypes[15] 1747 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1748 ms.StoreMessageInfo(mi) 1749 } 1750 } 1751 1752 func (x *UpdateVideoLayers) String() string { 1753 return protoimpl.X.MessageStringOf(x) 1754 } 1755 1756 func (*UpdateVideoLayers) ProtoMessage() {} 1757 1758 func (x *UpdateVideoLayers) ProtoReflect() protoreflect.Message { 1759 mi := &file_livekit_rtc_proto_msgTypes[15] 1760 if protoimpl.UnsafeEnabled && x != nil { 1761 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1762 if ms.LoadMessageInfo() == nil { 1763 ms.StoreMessageInfo(mi) 1764 } 1765 return ms 1766 } 1767 return mi.MessageOf(x) 1768 } 1769 1770 // Deprecated: Use UpdateVideoLayers.ProtoReflect.Descriptor instead. 1771 func (*UpdateVideoLayers) Descriptor() ([]byte, []int) { 1772 return file_livekit_rtc_proto_rawDescGZIP(), []int{15} 1773 } 1774 1775 func (x *UpdateVideoLayers) GetTrackSid() string { 1776 if x != nil { 1777 return x.TrackSid 1778 } 1779 return "" 1780 } 1781 1782 func (x *UpdateVideoLayers) GetLayers() []*VideoLayer { 1783 if x != nil { 1784 return x.Layers 1785 } 1786 return nil 1787 } 1788 1789 type UpdateParticipantMetadata struct { 1790 state protoimpl.MessageState 1791 sizeCache protoimpl.SizeCache 1792 unknownFields protoimpl.UnknownFields 1793 1794 Metadata string `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` 1795 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 1796 } 1797 1798 func (x *UpdateParticipantMetadata) Reset() { 1799 *x = UpdateParticipantMetadata{} 1800 if protoimpl.UnsafeEnabled { 1801 mi := &file_livekit_rtc_proto_msgTypes[16] 1802 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1803 ms.StoreMessageInfo(mi) 1804 } 1805 } 1806 1807 func (x *UpdateParticipantMetadata) String() string { 1808 return protoimpl.X.MessageStringOf(x) 1809 } 1810 1811 func (*UpdateParticipantMetadata) ProtoMessage() {} 1812 1813 func (x *UpdateParticipantMetadata) ProtoReflect() protoreflect.Message { 1814 mi := &file_livekit_rtc_proto_msgTypes[16] 1815 if protoimpl.UnsafeEnabled && x != nil { 1816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1817 if ms.LoadMessageInfo() == nil { 1818 ms.StoreMessageInfo(mi) 1819 } 1820 return ms 1821 } 1822 return mi.MessageOf(x) 1823 } 1824 1825 // Deprecated: Use UpdateParticipantMetadata.ProtoReflect.Descriptor instead. 1826 func (*UpdateParticipantMetadata) Descriptor() ([]byte, []int) { 1827 return file_livekit_rtc_proto_rawDescGZIP(), []int{16} 1828 } 1829 1830 func (x *UpdateParticipantMetadata) GetMetadata() string { 1831 if x != nil { 1832 return x.Metadata 1833 } 1834 return "" 1835 } 1836 1837 func (x *UpdateParticipantMetadata) GetName() string { 1838 if x != nil { 1839 return x.Name 1840 } 1841 return "" 1842 } 1843 1844 type ICEServer struct { 1845 state protoimpl.MessageState 1846 sizeCache protoimpl.SizeCache 1847 unknownFields protoimpl.UnknownFields 1848 1849 Urls []string `protobuf:"bytes,1,rep,name=urls,proto3" json:"urls,omitempty"` 1850 Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` 1851 Credential string `protobuf:"bytes,3,opt,name=credential,proto3" json:"credential,omitempty"` 1852 } 1853 1854 func (x *ICEServer) Reset() { 1855 *x = ICEServer{} 1856 if protoimpl.UnsafeEnabled { 1857 mi := &file_livekit_rtc_proto_msgTypes[17] 1858 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1859 ms.StoreMessageInfo(mi) 1860 } 1861 } 1862 1863 func (x *ICEServer) String() string { 1864 return protoimpl.X.MessageStringOf(x) 1865 } 1866 1867 func (*ICEServer) ProtoMessage() {} 1868 1869 func (x *ICEServer) ProtoReflect() protoreflect.Message { 1870 mi := &file_livekit_rtc_proto_msgTypes[17] 1871 if protoimpl.UnsafeEnabled && x != nil { 1872 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1873 if ms.LoadMessageInfo() == nil { 1874 ms.StoreMessageInfo(mi) 1875 } 1876 return ms 1877 } 1878 return mi.MessageOf(x) 1879 } 1880 1881 // Deprecated: Use ICEServer.ProtoReflect.Descriptor instead. 1882 func (*ICEServer) Descriptor() ([]byte, []int) { 1883 return file_livekit_rtc_proto_rawDescGZIP(), []int{17} 1884 } 1885 1886 func (x *ICEServer) GetUrls() []string { 1887 if x != nil { 1888 return x.Urls 1889 } 1890 return nil 1891 } 1892 1893 func (x *ICEServer) GetUsername() string { 1894 if x != nil { 1895 return x.Username 1896 } 1897 return "" 1898 } 1899 1900 func (x *ICEServer) GetCredential() string { 1901 if x != nil { 1902 return x.Credential 1903 } 1904 return "" 1905 } 1906 1907 type SpeakersChanged struct { 1908 state protoimpl.MessageState 1909 sizeCache protoimpl.SizeCache 1910 unknownFields protoimpl.UnknownFields 1911 1912 Speakers []*SpeakerInfo `protobuf:"bytes,1,rep,name=speakers,proto3" json:"speakers,omitempty"` 1913 } 1914 1915 func (x *SpeakersChanged) Reset() { 1916 *x = SpeakersChanged{} 1917 if protoimpl.UnsafeEnabled { 1918 mi := &file_livekit_rtc_proto_msgTypes[18] 1919 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1920 ms.StoreMessageInfo(mi) 1921 } 1922 } 1923 1924 func (x *SpeakersChanged) String() string { 1925 return protoimpl.X.MessageStringOf(x) 1926 } 1927 1928 func (*SpeakersChanged) ProtoMessage() {} 1929 1930 func (x *SpeakersChanged) ProtoReflect() protoreflect.Message { 1931 mi := &file_livekit_rtc_proto_msgTypes[18] 1932 if protoimpl.UnsafeEnabled && x != nil { 1933 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1934 if ms.LoadMessageInfo() == nil { 1935 ms.StoreMessageInfo(mi) 1936 } 1937 return ms 1938 } 1939 return mi.MessageOf(x) 1940 } 1941 1942 // Deprecated: Use SpeakersChanged.ProtoReflect.Descriptor instead. 1943 func (*SpeakersChanged) Descriptor() ([]byte, []int) { 1944 return file_livekit_rtc_proto_rawDescGZIP(), []int{18} 1945 } 1946 1947 func (x *SpeakersChanged) GetSpeakers() []*SpeakerInfo { 1948 if x != nil { 1949 return x.Speakers 1950 } 1951 return nil 1952 } 1953 1954 type RoomUpdate struct { 1955 state protoimpl.MessageState 1956 sizeCache protoimpl.SizeCache 1957 unknownFields protoimpl.UnknownFields 1958 1959 Room *Room `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` 1960 } 1961 1962 func (x *RoomUpdate) Reset() { 1963 *x = RoomUpdate{} 1964 if protoimpl.UnsafeEnabled { 1965 mi := &file_livekit_rtc_proto_msgTypes[19] 1966 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1967 ms.StoreMessageInfo(mi) 1968 } 1969 } 1970 1971 func (x *RoomUpdate) String() string { 1972 return protoimpl.X.MessageStringOf(x) 1973 } 1974 1975 func (*RoomUpdate) ProtoMessage() {} 1976 1977 func (x *RoomUpdate) ProtoReflect() protoreflect.Message { 1978 mi := &file_livekit_rtc_proto_msgTypes[19] 1979 if protoimpl.UnsafeEnabled && x != nil { 1980 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1981 if ms.LoadMessageInfo() == nil { 1982 ms.StoreMessageInfo(mi) 1983 } 1984 return ms 1985 } 1986 return mi.MessageOf(x) 1987 } 1988 1989 // Deprecated: Use RoomUpdate.ProtoReflect.Descriptor instead. 1990 func (*RoomUpdate) Descriptor() ([]byte, []int) { 1991 return file_livekit_rtc_proto_rawDescGZIP(), []int{19} 1992 } 1993 1994 func (x *RoomUpdate) GetRoom() *Room { 1995 if x != nil { 1996 return x.Room 1997 } 1998 return nil 1999 } 2000 2001 type ConnectionQualityInfo struct { 2002 state protoimpl.MessageState 2003 sizeCache protoimpl.SizeCache 2004 unknownFields protoimpl.UnknownFields 2005 2006 ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"` 2007 Quality ConnectionQuality `protobuf:"varint,2,opt,name=quality,proto3,enum=livekit.ConnectionQuality" json:"quality,omitempty"` 2008 Score float32 `protobuf:"fixed32,3,opt,name=score,proto3" json:"score,omitempty"` 2009 } 2010 2011 func (x *ConnectionQualityInfo) Reset() { 2012 *x = ConnectionQualityInfo{} 2013 if protoimpl.UnsafeEnabled { 2014 mi := &file_livekit_rtc_proto_msgTypes[20] 2015 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2016 ms.StoreMessageInfo(mi) 2017 } 2018 } 2019 2020 func (x *ConnectionQualityInfo) String() string { 2021 return protoimpl.X.MessageStringOf(x) 2022 } 2023 2024 func (*ConnectionQualityInfo) ProtoMessage() {} 2025 2026 func (x *ConnectionQualityInfo) ProtoReflect() protoreflect.Message { 2027 mi := &file_livekit_rtc_proto_msgTypes[20] 2028 if protoimpl.UnsafeEnabled && x != nil { 2029 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2030 if ms.LoadMessageInfo() == nil { 2031 ms.StoreMessageInfo(mi) 2032 } 2033 return ms 2034 } 2035 return mi.MessageOf(x) 2036 } 2037 2038 // Deprecated: Use ConnectionQualityInfo.ProtoReflect.Descriptor instead. 2039 func (*ConnectionQualityInfo) Descriptor() ([]byte, []int) { 2040 return file_livekit_rtc_proto_rawDescGZIP(), []int{20} 2041 } 2042 2043 func (x *ConnectionQualityInfo) GetParticipantSid() string { 2044 if x != nil { 2045 return x.ParticipantSid 2046 } 2047 return "" 2048 } 2049 2050 func (x *ConnectionQualityInfo) GetQuality() ConnectionQuality { 2051 if x != nil { 2052 return x.Quality 2053 } 2054 return ConnectionQuality_POOR 2055 } 2056 2057 func (x *ConnectionQualityInfo) GetScore() float32 { 2058 if x != nil { 2059 return x.Score 2060 } 2061 return 0 2062 } 2063 2064 type ConnectionQualityUpdate struct { 2065 state protoimpl.MessageState 2066 sizeCache protoimpl.SizeCache 2067 unknownFields protoimpl.UnknownFields 2068 2069 Updates []*ConnectionQualityInfo `protobuf:"bytes,1,rep,name=updates,proto3" json:"updates,omitempty"` 2070 } 2071 2072 func (x *ConnectionQualityUpdate) Reset() { 2073 *x = ConnectionQualityUpdate{} 2074 if protoimpl.UnsafeEnabled { 2075 mi := &file_livekit_rtc_proto_msgTypes[21] 2076 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2077 ms.StoreMessageInfo(mi) 2078 } 2079 } 2080 2081 func (x *ConnectionQualityUpdate) String() string { 2082 return protoimpl.X.MessageStringOf(x) 2083 } 2084 2085 func (*ConnectionQualityUpdate) ProtoMessage() {} 2086 2087 func (x *ConnectionQualityUpdate) ProtoReflect() protoreflect.Message { 2088 mi := &file_livekit_rtc_proto_msgTypes[21] 2089 if protoimpl.UnsafeEnabled && x != nil { 2090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2091 if ms.LoadMessageInfo() == nil { 2092 ms.StoreMessageInfo(mi) 2093 } 2094 return ms 2095 } 2096 return mi.MessageOf(x) 2097 } 2098 2099 // Deprecated: Use ConnectionQualityUpdate.ProtoReflect.Descriptor instead. 2100 func (*ConnectionQualityUpdate) Descriptor() ([]byte, []int) { 2101 return file_livekit_rtc_proto_rawDescGZIP(), []int{21} 2102 } 2103 2104 func (x *ConnectionQualityUpdate) GetUpdates() []*ConnectionQualityInfo { 2105 if x != nil { 2106 return x.Updates 2107 } 2108 return nil 2109 } 2110 2111 type StreamStateInfo struct { 2112 state protoimpl.MessageState 2113 sizeCache protoimpl.SizeCache 2114 unknownFields protoimpl.UnknownFields 2115 2116 ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"` 2117 TrackSid string `protobuf:"bytes,2,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"` 2118 State StreamState `protobuf:"varint,3,opt,name=state,proto3,enum=livekit.StreamState" json:"state,omitempty"` 2119 } 2120 2121 func (x *StreamStateInfo) Reset() { 2122 *x = StreamStateInfo{} 2123 if protoimpl.UnsafeEnabled { 2124 mi := &file_livekit_rtc_proto_msgTypes[22] 2125 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2126 ms.StoreMessageInfo(mi) 2127 } 2128 } 2129 2130 func (x *StreamStateInfo) String() string { 2131 return protoimpl.X.MessageStringOf(x) 2132 } 2133 2134 func (*StreamStateInfo) ProtoMessage() {} 2135 2136 func (x *StreamStateInfo) ProtoReflect() protoreflect.Message { 2137 mi := &file_livekit_rtc_proto_msgTypes[22] 2138 if protoimpl.UnsafeEnabled && x != nil { 2139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2140 if ms.LoadMessageInfo() == nil { 2141 ms.StoreMessageInfo(mi) 2142 } 2143 return ms 2144 } 2145 return mi.MessageOf(x) 2146 } 2147 2148 // Deprecated: Use StreamStateInfo.ProtoReflect.Descriptor instead. 2149 func (*StreamStateInfo) Descriptor() ([]byte, []int) { 2150 return file_livekit_rtc_proto_rawDescGZIP(), []int{22} 2151 } 2152 2153 func (x *StreamStateInfo) GetParticipantSid() string { 2154 if x != nil { 2155 return x.ParticipantSid 2156 } 2157 return "" 2158 } 2159 2160 func (x *StreamStateInfo) GetTrackSid() string { 2161 if x != nil { 2162 return x.TrackSid 2163 } 2164 return "" 2165 } 2166 2167 func (x *StreamStateInfo) GetState() StreamState { 2168 if x != nil { 2169 return x.State 2170 } 2171 return StreamState_ACTIVE 2172 } 2173 2174 type StreamStateUpdate struct { 2175 state protoimpl.MessageState 2176 sizeCache protoimpl.SizeCache 2177 unknownFields protoimpl.UnknownFields 2178 2179 StreamStates []*StreamStateInfo `protobuf:"bytes,1,rep,name=stream_states,json=streamStates,proto3" json:"stream_states,omitempty"` 2180 } 2181 2182 func (x *StreamStateUpdate) Reset() { 2183 *x = StreamStateUpdate{} 2184 if protoimpl.UnsafeEnabled { 2185 mi := &file_livekit_rtc_proto_msgTypes[23] 2186 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2187 ms.StoreMessageInfo(mi) 2188 } 2189 } 2190 2191 func (x *StreamStateUpdate) String() string { 2192 return protoimpl.X.MessageStringOf(x) 2193 } 2194 2195 func (*StreamStateUpdate) ProtoMessage() {} 2196 2197 func (x *StreamStateUpdate) ProtoReflect() protoreflect.Message { 2198 mi := &file_livekit_rtc_proto_msgTypes[23] 2199 if protoimpl.UnsafeEnabled && x != nil { 2200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2201 if ms.LoadMessageInfo() == nil { 2202 ms.StoreMessageInfo(mi) 2203 } 2204 return ms 2205 } 2206 return mi.MessageOf(x) 2207 } 2208 2209 // Deprecated: Use StreamStateUpdate.ProtoReflect.Descriptor instead. 2210 func (*StreamStateUpdate) Descriptor() ([]byte, []int) { 2211 return file_livekit_rtc_proto_rawDescGZIP(), []int{23} 2212 } 2213 2214 func (x *StreamStateUpdate) GetStreamStates() []*StreamStateInfo { 2215 if x != nil { 2216 return x.StreamStates 2217 } 2218 return nil 2219 } 2220 2221 type SubscribedQuality struct { 2222 state protoimpl.MessageState 2223 sizeCache protoimpl.SizeCache 2224 unknownFields protoimpl.UnknownFields 2225 2226 Quality VideoQuality `protobuf:"varint,1,opt,name=quality,proto3,enum=livekit.VideoQuality" json:"quality,omitempty"` 2227 Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` 2228 } 2229 2230 func (x *SubscribedQuality) Reset() { 2231 *x = SubscribedQuality{} 2232 if protoimpl.UnsafeEnabled { 2233 mi := &file_livekit_rtc_proto_msgTypes[24] 2234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2235 ms.StoreMessageInfo(mi) 2236 } 2237 } 2238 2239 func (x *SubscribedQuality) String() string { 2240 return protoimpl.X.MessageStringOf(x) 2241 } 2242 2243 func (*SubscribedQuality) ProtoMessage() {} 2244 2245 func (x *SubscribedQuality) ProtoReflect() protoreflect.Message { 2246 mi := &file_livekit_rtc_proto_msgTypes[24] 2247 if protoimpl.UnsafeEnabled && x != nil { 2248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2249 if ms.LoadMessageInfo() == nil { 2250 ms.StoreMessageInfo(mi) 2251 } 2252 return ms 2253 } 2254 return mi.MessageOf(x) 2255 } 2256 2257 // Deprecated: Use SubscribedQuality.ProtoReflect.Descriptor instead. 2258 func (*SubscribedQuality) Descriptor() ([]byte, []int) { 2259 return file_livekit_rtc_proto_rawDescGZIP(), []int{24} 2260 } 2261 2262 func (x *SubscribedQuality) GetQuality() VideoQuality { 2263 if x != nil { 2264 return x.Quality 2265 } 2266 return VideoQuality_LOW 2267 } 2268 2269 func (x *SubscribedQuality) GetEnabled() bool { 2270 if x != nil { 2271 return x.Enabled 2272 } 2273 return false 2274 } 2275 2276 type SubscribedCodec struct { 2277 state protoimpl.MessageState 2278 sizeCache protoimpl.SizeCache 2279 unknownFields protoimpl.UnknownFields 2280 2281 Codec string `protobuf:"bytes,1,opt,name=codec,proto3" json:"codec,omitempty"` 2282 Qualities []*SubscribedQuality `protobuf:"bytes,2,rep,name=qualities,proto3" json:"qualities,omitempty"` 2283 } 2284 2285 func (x *SubscribedCodec) Reset() { 2286 *x = SubscribedCodec{} 2287 if protoimpl.UnsafeEnabled { 2288 mi := &file_livekit_rtc_proto_msgTypes[25] 2289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2290 ms.StoreMessageInfo(mi) 2291 } 2292 } 2293 2294 func (x *SubscribedCodec) String() string { 2295 return protoimpl.X.MessageStringOf(x) 2296 } 2297 2298 func (*SubscribedCodec) ProtoMessage() {} 2299 2300 func (x *SubscribedCodec) ProtoReflect() protoreflect.Message { 2301 mi := &file_livekit_rtc_proto_msgTypes[25] 2302 if protoimpl.UnsafeEnabled && x != nil { 2303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2304 if ms.LoadMessageInfo() == nil { 2305 ms.StoreMessageInfo(mi) 2306 } 2307 return ms 2308 } 2309 return mi.MessageOf(x) 2310 } 2311 2312 // Deprecated: Use SubscribedCodec.ProtoReflect.Descriptor instead. 2313 func (*SubscribedCodec) Descriptor() ([]byte, []int) { 2314 return file_livekit_rtc_proto_rawDescGZIP(), []int{25} 2315 } 2316 2317 func (x *SubscribedCodec) GetCodec() string { 2318 if x != nil { 2319 return x.Codec 2320 } 2321 return "" 2322 } 2323 2324 func (x *SubscribedCodec) GetQualities() []*SubscribedQuality { 2325 if x != nil { 2326 return x.Qualities 2327 } 2328 return nil 2329 } 2330 2331 type SubscribedQualityUpdate struct { 2332 state protoimpl.MessageState 2333 sizeCache protoimpl.SizeCache 2334 unknownFields protoimpl.UnknownFields 2335 2336 TrackSid string `protobuf:"bytes,1,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"` 2337 SubscribedQualities []*SubscribedQuality `protobuf:"bytes,2,rep,name=subscribed_qualities,json=subscribedQualities,proto3" json:"subscribed_qualities,omitempty"` 2338 SubscribedCodecs []*SubscribedCodec `protobuf:"bytes,3,rep,name=subscribed_codecs,json=subscribedCodecs,proto3" json:"subscribed_codecs,omitempty"` 2339 } 2340 2341 func (x *SubscribedQualityUpdate) Reset() { 2342 *x = SubscribedQualityUpdate{} 2343 if protoimpl.UnsafeEnabled { 2344 mi := &file_livekit_rtc_proto_msgTypes[26] 2345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2346 ms.StoreMessageInfo(mi) 2347 } 2348 } 2349 2350 func (x *SubscribedQualityUpdate) String() string { 2351 return protoimpl.X.MessageStringOf(x) 2352 } 2353 2354 func (*SubscribedQualityUpdate) ProtoMessage() {} 2355 2356 func (x *SubscribedQualityUpdate) ProtoReflect() protoreflect.Message { 2357 mi := &file_livekit_rtc_proto_msgTypes[26] 2358 if protoimpl.UnsafeEnabled && x != nil { 2359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2360 if ms.LoadMessageInfo() == nil { 2361 ms.StoreMessageInfo(mi) 2362 } 2363 return ms 2364 } 2365 return mi.MessageOf(x) 2366 } 2367 2368 // Deprecated: Use SubscribedQualityUpdate.ProtoReflect.Descriptor instead. 2369 func (*SubscribedQualityUpdate) Descriptor() ([]byte, []int) { 2370 return file_livekit_rtc_proto_rawDescGZIP(), []int{26} 2371 } 2372 2373 func (x *SubscribedQualityUpdate) GetTrackSid() string { 2374 if x != nil { 2375 return x.TrackSid 2376 } 2377 return "" 2378 } 2379 2380 func (x *SubscribedQualityUpdate) GetSubscribedQualities() []*SubscribedQuality { 2381 if x != nil { 2382 return x.SubscribedQualities 2383 } 2384 return nil 2385 } 2386 2387 func (x *SubscribedQualityUpdate) GetSubscribedCodecs() []*SubscribedCodec { 2388 if x != nil { 2389 return x.SubscribedCodecs 2390 } 2391 return nil 2392 } 2393 2394 type TrackPermission struct { 2395 state protoimpl.MessageState 2396 sizeCache protoimpl.SizeCache 2397 unknownFields protoimpl.UnknownFields 2398 2399 // permission could be granted either by participant sid or identity 2400 ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"` 2401 AllTracks bool `protobuf:"varint,2,opt,name=all_tracks,json=allTracks,proto3" json:"all_tracks,omitempty"` 2402 TrackSids []string `protobuf:"bytes,3,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"` 2403 ParticipantIdentity string `protobuf:"bytes,4,opt,name=participant_identity,json=participantIdentity,proto3" json:"participant_identity,omitempty"` 2404 } 2405 2406 func (x *TrackPermission) Reset() { 2407 *x = TrackPermission{} 2408 if protoimpl.UnsafeEnabled { 2409 mi := &file_livekit_rtc_proto_msgTypes[27] 2410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2411 ms.StoreMessageInfo(mi) 2412 } 2413 } 2414 2415 func (x *TrackPermission) String() string { 2416 return protoimpl.X.MessageStringOf(x) 2417 } 2418 2419 func (*TrackPermission) ProtoMessage() {} 2420 2421 func (x *TrackPermission) ProtoReflect() protoreflect.Message { 2422 mi := &file_livekit_rtc_proto_msgTypes[27] 2423 if protoimpl.UnsafeEnabled && x != nil { 2424 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2425 if ms.LoadMessageInfo() == nil { 2426 ms.StoreMessageInfo(mi) 2427 } 2428 return ms 2429 } 2430 return mi.MessageOf(x) 2431 } 2432 2433 // Deprecated: Use TrackPermission.ProtoReflect.Descriptor instead. 2434 func (*TrackPermission) Descriptor() ([]byte, []int) { 2435 return file_livekit_rtc_proto_rawDescGZIP(), []int{27} 2436 } 2437 2438 func (x *TrackPermission) GetParticipantSid() string { 2439 if x != nil { 2440 return x.ParticipantSid 2441 } 2442 return "" 2443 } 2444 2445 func (x *TrackPermission) GetAllTracks() bool { 2446 if x != nil { 2447 return x.AllTracks 2448 } 2449 return false 2450 } 2451 2452 func (x *TrackPermission) GetTrackSids() []string { 2453 if x != nil { 2454 return x.TrackSids 2455 } 2456 return nil 2457 } 2458 2459 func (x *TrackPermission) GetParticipantIdentity() string { 2460 if x != nil { 2461 return x.ParticipantIdentity 2462 } 2463 return "" 2464 } 2465 2466 type SubscriptionPermission struct { 2467 state protoimpl.MessageState 2468 sizeCache protoimpl.SizeCache 2469 unknownFields protoimpl.UnknownFields 2470 2471 AllParticipants bool `protobuf:"varint,1,opt,name=all_participants,json=allParticipants,proto3" json:"all_participants,omitempty"` 2472 TrackPermissions []*TrackPermission `protobuf:"bytes,2,rep,name=track_permissions,json=trackPermissions,proto3" json:"track_permissions,omitempty"` 2473 } 2474 2475 func (x *SubscriptionPermission) Reset() { 2476 *x = SubscriptionPermission{} 2477 if protoimpl.UnsafeEnabled { 2478 mi := &file_livekit_rtc_proto_msgTypes[28] 2479 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2480 ms.StoreMessageInfo(mi) 2481 } 2482 } 2483 2484 func (x *SubscriptionPermission) String() string { 2485 return protoimpl.X.MessageStringOf(x) 2486 } 2487 2488 func (*SubscriptionPermission) ProtoMessage() {} 2489 2490 func (x *SubscriptionPermission) ProtoReflect() protoreflect.Message { 2491 mi := &file_livekit_rtc_proto_msgTypes[28] 2492 if protoimpl.UnsafeEnabled && x != nil { 2493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2494 if ms.LoadMessageInfo() == nil { 2495 ms.StoreMessageInfo(mi) 2496 } 2497 return ms 2498 } 2499 return mi.MessageOf(x) 2500 } 2501 2502 // Deprecated: Use SubscriptionPermission.ProtoReflect.Descriptor instead. 2503 func (*SubscriptionPermission) Descriptor() ([]byte, []int) { 2504 return file_livekit_rtc_proto_rawDescGZIP(), []int{28} 2505 } 2506 2507 func (x *SubscriptionPermission) GetAllParticipants() bool { 2508 if x != nil { 2509 return x.AllParticipants 2510 } 2511 return false 2512 } 2513 2514 func (x *SubscriptionPermission) GetTrackPermissions() []*TrackPermission { 2515 if x != nil { 2516 return x.TrackPermissions 2517 } 2518 return nil 2519 } 2520 2521 type SubscriptionPermissionUpdate struct { 2522 state protoimpl.MessageState 2523 sizeCache protoimpl.SizeCache 2524 unknownFields protoimpl.UnknownFields 2525 2526 ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"` 2527 TrackSid string `protobuf:"bytes,2,opt,name=track_sid,json=trackSid,proto3" json:"track_sid,omitempty"` 2528 Allowed bool `protobuf:"varint,3,opt,name=allowed,proto3" json:"allowed,omitempty"` 2529 } 2530 2531 func (x *SubscriptionPermissionUpdate) Reset() { 2532 *x = SubscriptionPermissionUpdate{} 2533 if protoimpl.UnsafeEnabled { 2534 mi := &file_livekit_rtc_proto_msgTypes[29] 2535 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2536 ms.StoreMessageInfo(mi) 2537 } 2538 } 2539 2540 func (x *SubscriptionPermissionUpdate) String() string { 2541 return protoimpl.X.MessageStringOf(x) 2542 } 2543 2544 func (*SubscriptionPermissionUpdate) ProtoMessage() {} 2545 2546 func (x *SubscriptionPermissionUpdate) ProtoReflect() protoreflect.Message { 2547 mi := &file_livekit_rtc_proto_msgTypes[29] 2548 if protoimpl.UnsafeEnabled && x != nil { 2549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2550 if ms.LoadMessageInfo() == nil { 2551 ms.StoreMessageInfo(mi) 2552 } 2553 return ms 2554 } 2555 return mi.MessageOf(x) 2556 } 2557 2558 // Deprecated: Use SubscriptionPermissionUpdate.ProtoReflect.Descriptor instead. 2559 func (*SubscriptionPermissionUpdate) Descriptor() ([]byte, []int) { 2560 return file_livekit_rtc_proto_rawDescGZIP(), []int{29} 2561 } 2562 2563 func (x *SubscriptionPermissionUpdate) GetParticipantSid() string { 2564 if x != nil { 2565 return x.ParticipantSid 2566 } 2567 return "" 2568 } 2569 2570 func (x *SubscriptionPermissionUpdate) GetTrackSid() string { 2571 if x != nil { 2572 return x.TrackSid 2573 } 2574 return "" 2575 } 2576 2577 func (x *SubscriptionPermissionUpdate) GetAllowed() bool { 2578 if x != nil { 2579 return x.Allowed 2580 } 2581 return false 2582 } 2583 2584 type SyncState struct { 2585 state protoimpl.MessageState 2586 sizeCache protoimpl.SizeCache 2587 unknownFields protoimpl.UnknownFields 2588 2589 // last subscribe answer before reconnecting 2590 Answer *SessionDescription `protobuf:"bytes,1,opt,name=answer,proto3" json:"answer,omitempty"` 2591 Subscription *UpdateSubscription `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"` 2592 PublishTracks []*TrackPublishedResponse `protobuf:"bytes,3,rep,name=publish_tracks,json=publishTracks,proto3" json:"publish_tracks,omitempty"` 2593 DataChannels []*DataChannelInfo `protobuf:"bytes,4,rep,name=data_channels,json=dataChannels,proto3" json:"data_channels,omitempty"` 2594 // last received server side offer before reconnecting 2595 Offer *SessionDescription `protobuf:"bytes,5,opt,name=offer,proto3" json:"offer,omitempty"` 2596 } 2597 2598 func (x *SyncState) Reset() { 2599 *x = SyncState{} 2600 if protoimpl.UnsafeEnabled { 2601 mi := &file_livekit_rtc_proto_msgTypes[30] 2602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2603 ms.StoreMessageInfo(mi) 2604 } 2605 } 2606 2607 func (x *SyncState) String() string { 2608 return protoimpl.X.MessageStringOf(x) 2609 } 2610 2611 func (*SyncState) ProtoMessage() {} 2612 2613 func (x *SyncState) ProtoReflect() protoreflect.Message { 2614 mi := &file_livekit_rtc_proto_msgTypes[30] 2615 if protoimpl.UnsafeEnabled && x != nil { 2616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2617 if ms.LoadMessageInfo() == nil { 2618 ms.StoreMessageInfo(mi) 2619 } 2620 return ms 2621 } 2622 return mi.MessageOf(x) 2623 } 2624 2625 // Deprecated: Use SyncState.ProtoReflect.Descriptor instead. 2626 func (*SyncState) Descriptor() ([]byte, []int) { 2627 return file_livekit_rtc_proto_rawDescGZIP(), []int{30} 2628 } 2629 2630 func (x *SyncState) GetAnswer() *SessionDescription { 2631 if x != nil { 2632 return x.Answer 2633 } 2634 return nil 2635 } 2636 2637 func (x *SyncState) GetSubscription() *UpdateSubscription { 2638 if x != nil { 2639 return x.Subscription 2640 } 2641 return nil 2642 } 2643 2644 func (x *SyncState) GetPublishTracks() []*TrackPublishedResponse { 2645 if x != nil { 2646 return x.PublishTracks 2647 } 2648 return nil 2649 } 2650 2651 func (x *SyncState) GetDataChannels() []*DataChannelInfo { 2652 if x != nil { 2653 return x.DataChannels 2654 } 2655 return nil 2656 } 2657 2658 func (x *SyncState) GetOffer() *SessionDescription { 2659 if x != nil { 2660 return x.Offer 2661 } 2662 return nil 2663 } 2664 2665 type DataChannelInfo struct { 2666 state protoimpl.MessageState 2667 sizeCache protoimpl.SizeCache 2668 unknownFields protoimpl.UnknownFields 2669 2670 Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` 2671 Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` 2672 Target SignalTarget `protobuf:"varint,3,opt,name=target,proto3,enum=livekit.SignalTarget" json:"target,omitempty"` 2673 } 2674 2675 func (x *DataChannelInfo) Reset() { 2676 *x = DataChannelInfo{} 2677 if protoimpl.UnsafeEnabled { 2678 mi := &file_livekit_rtc_proto_msgTypes[31] 2679 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2680 ms.StoreMessageInfo(mi) 2681 } 2682 } 2683 2684 func (x *DataChannelInfo) String() string { 2685 return protoimpl.X.MessageStringOf(x) 2686 } 2687 2688 func (*DataChannelInfo) ProtoMessage() {} 2689 2690 func (x *DataChannelInfo) ProtoReflect() protoreflect.Message { 2691 mi := &file_livekit_rtc_proto_msgTypes[31] 2692 if protoimpl.UnsafeEnabled && x != nil { 2693 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2694 if ms.LoadMessageInfo() == nil { 2695 ms.StoreMessageInfo(mi) 2696 } 2697 return ms 2698 } 2699 return mi.MessageOf(x) 2700 } 2701 2702 // Deprecated: Use DataChannelInfo.ProtoReflect.Descriptor instead. 2703 func (*DataChannelInfo) Descriptor() ([]byte, []int) { 2704 return file_livekit_rtc_proto_rawDescGZIP(), []int{31} 2705 } 2706 2707 func (x *DataChannelInfo) GetLabel() string { 2708 if x != nil { 2709 return x.Label 2710 } 2711 return "" 2712 } 2713 2714 func (x *DataChannelInfo) GetId() uint32 { 2715 if x != nil { 2716 return x.Id 2717 } 2718 return 0 2719 } 2720 2721 func (x *DataChannelInfo) GetTarget() SignalTarget { 2722 if x != nil { 2723 return x.Target 2724 } 2725 return SignalTarget_PUBLISHER 2726 } 2727 2728 type SimulateScenario struct { 2729 state protoimpl.MessageState 2730 sizeCache protoimpl.SizeCache 2731 unknownFields protoimpl.UnknownFields 2732 2733 // Types that are assignable to Scenario: 2734 // 2735 // *SimulateScenario_SpeakerUpdate 2736 // *SimulateScenario_NodeFailure 2737 // *SimulateScenario_Migration 2738 // *SimulateScenario_ServerLeave 2739 // *SimulateScenario_SwitchCandidateProtocol 2740 // *SimulateScenario_SubscriberBandwidth 2741 Scenario isSimulateScenario_Scenario `protobuf_oneof:"scenario"` 2742 } 2743 2744 func (x *SimulateScenario) Reset() { 2745 *x = SimulateScenario{} 2746 if protoimpl.UnsafeEnabled { 2747 mi := &file_livekit_rtc_proto_msgTypes[32] 2748 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2749 ms.StoreMessageInfo(mi) 2750 } 2751 } 2752 2753 func (x *SimulateScenario) String() string { 2754 return protoimpl.X.MessageStringOf(x) 2755 } 2756 2757 func (*SimulateScenario) ProtoMessage() {} 2758 2759 func (x *SimulateScenario) ProtoReflect() protoreflect.Message { 2760 mi := &file_livekit_rtc_proto_msgTypes[32] 2761 if protoimpl.UnsafeEnabled && x != nil { 2762 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2763 if ms.LoadMessageInfo() == nil { 2764 ms.StoreMessageInfo(mi) 2765 } 2766 return ms 2767 } 2768 return mi.MessageOf(x) 2769 } 2770 2771 // Deprecated: Use SimulateScenario.ProtoReflect.Descriptor instead. 2772 func (*SimulateScenario) Descriptor() ([]byte, []int) { 2773 return file_livekit_rtc_proto_rawDescGZIP(), []int{32} 2774 } 2775 2776 func (m *SimulateScenario) GetScenario() isSimulateScenario_Scenario { 2777 if m != nil { 2778 return m.Scenario 2779 } 2780 return nil 2781 } 2782 2783 func (x *SimulateScenario) GetSpeakerUpdate() int32 { 2784 if x, ok := x.GetScenario().(*SimulateScenario_SpeakerUpdate); ok { 2785 return x.SpeakerUpdate 2786 } 2787 return 0 2788 } 2789 2790 func (x *SimulateScenario) GetNodeFailure() bool { 2791 if x, ok := x.GetScenario().(*SimulateScenario_NodeFailure); ok { 2792 return x.NodeFailure 2793 } 2794 return false 2795 } 2796 2797 func (x *SimulateScenario) GetMigration() bool { 2798 if x, ok := x.GetScenario().(*SimulateScenario_Migration); ok { 2799 return x.Migration 2800 } 2801 return false 2802 } 2803 2804 func (x *SimulateScenario) GetServerLeave() bool { 2805 if x, ok := x.GetScenario().(*SimulateScenario_ServerLeave); ok { 2806 return x.ServerLeave 2807 } 2808 return false 2809 } 2810 2811 func (x *SimulateScenario) GetSwitchCandidateProtocol() CandidateProtocol { 2812 if x, ok := x.GetScenario().(*SimulateScenario_SwitchCandidateProtocol); ok { 2813 return x.SwitchCandidateProtocol 2814 } 2815 return CandidateProtocol_UDP 2816 } 2817 2818 func (x *SimulateScenario) GetSubscriberBandwidth() int64 { 2819 if x, ok := x.GetScenario().(*SimulateScenario_SubscriberBandwidth); ok { 2820 return x.SubscriberBandwidth 2821 } 2822 return 0 2823 } 2824 2825 type isSimulateScenario_Scenario interface { 2826 isSimulateScenario_Scenario() 2827 } 2828 2829 type SimulateScenario_SpeakerUpdate struct { 2830 // simulate N seconds of speaker activity 2831 SpeakerUpdate int32 `protobuf:"varint,1,opt,name=speaker_update,json=speakerUpdate,proto3,oneof"` 2832 } 2833 2834 type SimulateScenario_NodeFailure struct { 2835 // simulate local node failure 2836 NodeFailure bool `protobuf:"varint,2,opt,name=node_failure,json=nodeFailure,proto3,oneof"` 2837 } 2838 2839 type SimulateScenario_Migration struct { 2840 // simulate migration 2841 Migration bool `protobuf:"varint,3,opt,name=migration,proto3,oneof"` 2842 } 2843 2844 type SimulateScenario_ServerLeave struct { 2845 // server to send leave 2846 ServerLeave bool `protobuf:"varint,4,opt,name=server_leave,json=serverLeave,proto3,oneof"` 2847 } 2848 2849 type SimulateScenario_SwitchCandidateProtocol struct { 2850 // switch candidate protocol to tcp 2851 SwitchCandidateProtocol CandidateProtocol `protobuf:"varint,5,opt,name=switch_candidate_protocol,json=switchCandidateProtocol,proto3,enum=livekit.CandidateProtocol,oneof"` 2852 } 2853 2854 type SimulateScenario_SubscriberBandwidth struct { 2855 // maximum bandwidth for subscribers, in bps 2856 // when zero, clears artificial bandwidth limit 2857 SubscriberBandwidth int64 `protobuf:"varint,6,opt,name=subscriber_bandwidth,json=subscriberBandwidth,proto3,oneof"` 2858 } 2859 2860 func (*SimulateScenario_SpeakerUpdate) isSimulateScenario_Scenario() {} 2861 2862 func (*SimulateScenario_NodeFailure) isSimulateScenario_Scenario() {} 2863 2864 func (*SimulateScenario_Migration) isSimulateScenario_Scenario() {} 2865 2866 func (*SimulateScenario_ServerLeave) isSimulateScenario_Scenario() {} 2867 2868 func (*SimulateScenario_SwitchCandidateProtocol) isSimulateScenario_Scenario() {} 2869 2870 func (*SimulateScenario_SubscriberBandwidth) isSimulateScenario_Scenario() {} 2871 2872 type Ping struct { 2873 state protoimpl.MessageState 2874 sizeCache protoimpl.SizeCache 2875 unknownFields protoimpl.UnknownFields 2876 2877 Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 2878 // rtt in milliseconds calculated by client 2879 Rtt int64 `protobuf:"varint,2,opt,name=rtt,proto3" json:"rtt,omitempty"` 2880 } 2881 2882 func (x *Ping) Reset() { 2883 *x = Ping{} 2884 if protoimpl.UnsafeEnabled { 2885 mi := &file_livekit_rtc_proto_msgTypes[33] 2886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2887 ms.StoreMessageInfo(mi) 2888 } 2889 } 2890 2891 func (x *Ping) String() string { 2892 return protoimpl.X.MessageStringOf(x) 2893 } 2894 2895 func (*Ping) ProtoMessage() {} 2896 2897 func (x *Ping) ProtoReflect() protoreflect.Message { 2898 mi := &file_livekit_rtc_proto_msgTypes[33] 2899 if protoimpl.UnsafeEnabled && x != nil { 2900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2901 if ms.LoadMessageInfo() == nil { 2902 ms.StoreMessageInfo(mi) 2903 } 2904 return ms 2905 } 2906 return mi.MessageOf(x) 2907 } 2908 2909 // Deprecated: Use Ping.ProtoReflect.Descriptor instead. 2910 func (*Ping) Descriptor() ([]byte, []int) { 2911 return file_livekit_rtc_proto_rawDescGZIP(), []int{33} 2912 } 2913 2914 func (x *Ping) GetTimestamp() int64 { 2915 if x != nil { 2916 return x.Timestamp 2917 } 2918 return 0 2919 } 2920 2921 func (x *Ping) GetRtt() int64 { 2922 if x != nil { 2923 return x.Rtt 2924 } 2925 return 0 2926 } 2927 2928 type Pong struct { 2929 state protoimpl.MessageState 2930 sizeCache protoimpl.SizeCache 2931 unknownFields protoimpl.UnknownFields 2932 2933 // timestamp field of last received ping request 2934 LastPingTimestamp int64 `protobuf:"varint,1,opt,name=last_ping_timestamp,json=lastPingTimestamp,proto3" json:"last_ping_timestamp,omitempty"` 2935 Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 2936 } 2937 2938 func (x *Pong) Reset() { 2939 *x = Pong{} 2940 if protoimpl.UnsafeEnabled { 2941 mi := &file_livekit_rtc_proto_msgTypes[34] 2942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2943 ms.StoreMessageInfo(mi) 2944 } 2945 } 2946 2947 func (x *Pong) String() string { 2948 return protoimpl.X.MessageStringOf(x) 2949 } 2950 2951 func (*Pong) ProtoMessage() {} 2952 2953 func (x *Pong) ProtoReflect() protoreflect.Message { 2954 mi := &file_livekit_rtc_proto_msgTypes[34] 2955 if protoimpl.UnsafeEnabled && x != nil { 2956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2957 if ms.LoadMessageInfo() == nil { 2958 ms.StoreMessageInfo(mi) 2959 } 2960 return ms 2961 } 2962 return mi.MessageOf(x) 2963 } 2964 2965 // Deprecated: Use Pong.ProtoReflect.Descriptor instead. 2966 func (*Pong) Descriptor() ([]byte, []int) { 2967 return file_livekit_rtc_proto_rawDescGZIP(), []int{34} 2968 } 2969 2970 func (x *Pong) GetLastPingTimestamp() int64 { 2971 if x != nil { 2972 return x.LastPingTimestamp 2973 } 2974 return 0 2975 } 2976 2977 func (x *Pong) GetTimestamp() int64 { 2978 if x != nil { 2979 return x.Timestamp 2980 } 2981 return 0 2982 } 2983 2984 type RegionSettings struct { 2985 state protoimpl.MessageState 2986 sizeCache protoimpl.SizeCache 2987 unknownFields protoimpl.UnknownFields 2988 2989 Regions []*RegionInfo `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"` 2990 } 2991 2992 func (x *RegionSettings) Reset() { 2993 *x = RegionSettings{} 2994 if protoimpl.UnsafeEnabled { 2995 mi := &file_livekit_rtc_proto_msgTypes[35] 2996 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2997 ms.StoreMessageInfo(mi) 2998 } 2999 } 3000 3001 func (x *RegionSettings) String() string { 3002 return protoimpl.X.MessageStringOf(x) 3003 } 3004 3005 func (*RegionSettings) ProtoMessage() {} 3006 3007 func (x *RegionSettings) ProtoReflect() protoreflect.Message { 3008 mi := &file_livekit_rtc_proto_msgTypes[35] 3009 if protoimpl.UnsafeEnabled && x != nil { 3010 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3011 if ms.LoadMessageInfo() == nil { 3012 ms.StoreMessageInfo(mi) 3013 } 3014 return ms 3015 } 3016 return mi.MessageOf(x) 3017 } 3018 3019 // Deprecated: Use RegionSettings.ProtoReflect.Descriptor instead. 3020 func (*RegionSettings) Descriptor() ([]byte, []int) { 3021 return file_livekit_rtc_proto_rawDescGZIP(), []int{35} 3022 } 3023 3024 func (x *RegionSettings) GetRegions() []*RegionInfo { 3025 if x != nil { 3026 return x.Regions 3027 } 3028 return nil 3029 } 3030 3031 type RegionInfo struct { 3032 state protoimpl.MessageState 3033 sizeCache protoimpl.SizeCache 3034 unknownFields protoimpl.UnknownFields 3035 3036 Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` 3037 Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` 3038 Distance int64 `protobuf:"varint,3,opt,name=distance,proto3" json:"distance,omitempty"` 3039 } 3040 3041 func (x *RegionInfo) Reset() { 3042 *x = RegionInfo{} 3043 if protoimpl.UnsafeEnabled { 3044 mi := &file_livekit_rtc_proto_msgTypes[36] 3045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3046 ms.StoreMessageInfo(mi) 3047 } 3048 } 3049 3050 func (x *RegionInfo) String() string { 3051 return protoimpl.X.MessageStringOf(x) 3052 } 3053 3054 func (*RegionInfo) ProtoMessage() {} 3055 3056 func (x *RegionInfo) ProtoReflect() protoreflect.Message { 3057 mi := &file_livekit_rtc_proto_msgTypes[36] 3058 if protoimpl.UnsafeEnabled && x != nil { 3059 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3060 if ms.LoadMessageInfo() == nil { 3061 ms.StoreMessageInfo(mi) 3062 } 3063 return ms 3064 } 3065 return mi.MessageOf(x) 3066 } 3067 3068 // Deprecated: Use RegionInfo.ProtoReflect.Descriptor instead. 3069 func (*RegionInfo) Descriptor() ([]byte, []int) { 3070 return file_livekit_rtc_proto_rawDescGZIP(), []int{36} 3071 } 3072 3073 func (x *RegionInfo) GetRegion() string { 3074 if x != nil { 3075 return x.Region 3076 } 3077 return "" 3078 } 3079 3080 func (x *RegionInfo) GetUrl() string { 3081 if x != nil { 3082 return x.Url 3083 } 3084 return "" 3085 } 3086 3087 func (x *RegionInfo) GetDistance() int64 { 3088 if x != nil { 3089 return x.Distance 3090 } 3091 return 0 3092 } 3093 3094 var File_livekit_rtc_proto protoreflect.FileDescriptor 3095 3096 var file_livekit_rtc_proto_rawDesc = []byte{ 3097 0x0a, 0x11, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x72, 0x74, 0x63, 0x2e, 0x70, 0x72, 3098 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a, 0x14, 0x6c, 0x69, 3099 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 3100 0x74, 0x6f, 0x22, 0xfa, 0x06, 0x0a, 0x0d, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 3101 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 3102 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 3103 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 3104 0x48, 0x00, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x06, 0x61, 0x6e, 0x73, 3105 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3106 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 3107 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 3108 0x12, 0x33, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 3109 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x63, 3110 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 3111 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x74, 0x72, 0x61, 3112 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3113 0x69, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 3114 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x61, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x2f, 3115 0x0a, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 3116 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 3117 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x12, 3118 0x41, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 3119 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3120 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3121 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3122 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x74, 0x74, 3123 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3124 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 3125 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b, 3126 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 3127 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 3128 0x2e, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 3129 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x12, 0x41, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 3130 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 3131 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 3132 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x75, 0x70, 0x64, 3133 0x61, 0x74, 0x65, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x73, 0x75, 0x62, 3134 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 3135 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x69, 0x76, 3136 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 3137 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x16, 0x73, 3138 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 3139 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0a, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x74, 3140 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3141 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 3142 0x09, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x73, 0x69, 3143 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 3144 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x53, 3145 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x48, 0x00, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x75, 0x6c, 3146 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 3147 0x03, 0x48, 0x00, 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x4d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 3148 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0f, 0x20, 0x01, 3149 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 3150 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 3151 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 3152 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x69, 0x6e, 0x67, 3153 0x5f, 0x72, 0x65, 0x71, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 3154 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x70, 0x69, 0x6e, 3155 0x67, 0x52, 0x65, 0x71, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 3156 0xb3, 0x09, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 3157 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x6f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 3158 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 3159 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x04, 0x6a, 0x6f, 0x69, 0x6e, 0x12, 3160 0x35, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3161 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 3162 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 3163 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 3164 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3165 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3166 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x07, 0x74, 3167 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 3168 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x52, 0x65, 3169 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07, 0x74, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 3170 0x12, 0x34, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 3171 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 3172 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x06, 3173 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 3174 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 3175 0x1f, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 3176 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 3177 0x48, 0x00, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 3178 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 3179 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x65, 0x61, 0x76, 3180 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x76, 3181 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x6d, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 3182 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x54, 0x72, 3183 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x75, 3184 0x74, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x5f, 0x63, 3185 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 3186 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x43, 3187 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 3188 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 3189 0x6d, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 3190 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64, 3191 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 3192 0x65, 0x12, 0x51, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 3193 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 3194 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 3195 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 3196 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 3197 0x6c, 0x69, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x73, 3198 0x74, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 3199 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 3200 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 3201 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 3202 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x19, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 3203 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 3204 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3205 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 3206 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x17, 0x73, 0x75, 0x62, 0x73, 0x63, 3207 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 3208 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 3209 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 3210 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x69, 0x76, 3211 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 3212 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 3213 0x65, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 3214 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 3215 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 3216 0x65, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 3217 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x50, 0x0a, 0x11, 0x74, 0x72, 0x61, 0x63, 3218 0x6b, 0x5f, 0x75, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x11, 0x20, 3219 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 3220 0x61, 0x63, 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 3221 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x55, 3222 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x6f, 3223 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 3224 0x12, 0x3a, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x13, 0x20, 3225 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 3226 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 3227 0x00, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x09, 3228 0x70, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 3229 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x6f, 0x6e, 0x67, 0x48, 0x00, 3230 0x52, 0x08, 0x70, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 3231 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x70, 0x0a, 0x0e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 3232 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 3233 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x10, 0x0a, 3234 0x03, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 3235 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x63, 3236 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 3237 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 3238 0x74, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xe8, 0x03, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x54, 3239 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, 3240 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x12, 0x0a, 3241 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 3242 0x65, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 3243 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 3244 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 3245 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 3246 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 3247 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 3248 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x1f, 0x0a, 3249 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x74, 0x78, 0x18, 0x07, 0x20, 0x01, 3250 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12, 0x2c, 3251 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 3252 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 3253 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, 3254 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 3255 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 3256 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x10, 0x73, 0x69, 0x6d, 3257 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x0a, 0x20, 3258 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 3259 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x0f, 0x73, 0x69, 3260 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x10, 0x0a, 3261 0x03, 0x73, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 3262 0x16, 0x0a, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 3263 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 3264 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 3265 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 3266 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 3267 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 3268 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 3269 0x6f, 0x6e, 0x22, 0x65, 0x0a, 0x0e, 0x54, 0x72, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x52, 0x65, 0x71, 3270 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 3271 0x65, 0x49, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x6e, 3272 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 3273 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 3274 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 3275 0x74, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x3a, 0x0a, 0x10, 0x4d, 0x75, 0x74, 3276 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 3277 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 3278 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 3279 0x6d, 0x75, 0x74, 0x65, 0x64, 0x22, 0xde, 0x04, 0x0a, 0x0c, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 3280 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 3281 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 3282 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 3283 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 3284 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 3285 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 3286 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x70, 3287 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 3288 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 3289 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x6f, 0x74, 0x68, 3290 0x65, 0x72, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x25, 3291 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 3292 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 3293 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0b, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 3294 0x76, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 3295 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 3296 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x75, 3297 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 3298 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 3299 0x65, 0x72, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6c, 0x74, 3300 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 3301 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x55, 3302 0x72, 0x6c, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 3303 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 3304 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 3305 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 3306 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 3307 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 3308 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 3309 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x69, 0x6e, 0x67, 3310 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 3311 0x70, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 3312 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 3313 0x28, 0x05, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 3314 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 3315 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3316 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 3317 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x6f, 0x6e, 3318 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0b, 3319 0x69, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3320 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x43, 0x45, 0x53, 3321 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0a, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 3322 0x73, 0x12, 0x4f, 0x0a, 0x14, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 3323 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 3324 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 3325 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x63, 3326 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 3327 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x16, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 3328 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 3329 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x28, 3330 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 3331 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 3332 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x22, 0x37, 0x0a, 0x18, 0x54, 0x72, 0x61, 0x63, 3333 0x6b, 0x55, 0x6e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 3334 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 3335 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 3336 0x64, 0x22, 0x3a, 0x0a, 0x12, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 3337 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 3338 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 3339 0x64, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x64, 0x70, 0x22, 0x51, 0x0a, 3340 0x11, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 3341 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 3342 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3343 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 3344 0x66, 0x6f, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 3345 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 3346 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 3347 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 3348 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 3349 0x69, 0x62, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 3350 0x72, 0x69, 0x62, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 3351 0x61, 0x6e, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 3352 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 3353 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x11, 0x70, 0x61, 3354 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x22, 3355 0xdd, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 3356 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 3357 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 3358 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 3359 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 3360 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 3361 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 3362 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 3363 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 3364 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 3365 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 3366 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 3367 0x66, 0x70, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 3368 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 3369 0x66, 0x0a, 0x0c, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 3370 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 3371 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 3372 0x6e, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 3373 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 3374 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 3375 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 3376 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 3377 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 3378 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 3379 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 3380 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 3381 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 3382 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 3383 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 3384 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 3385 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3386 0x61, 0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x09, 0x49, 0x43, 0x45, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 3387 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 3388 0x75, 0x72, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 3389 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 3390 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x03, 3391 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 3392 0x22, 0x43, 0x0a, 0x0f, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 3393 0x67, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 3394 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3395 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x73, 0x70, 0x65, 3396 0x61, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x2f, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x55, 0x70, 0x64, 3397 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 3398 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 3399 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 3400 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 3401 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 3402 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 3403 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x71, 0x75, 0x61, 3404 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 3405 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 3406 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 3407 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 3408 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x53, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 3409 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 3410 0x12, 0x38, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 3411 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 3412 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 3413 0x6f, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0f, 0x53, 3414 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 3415 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 3416 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 3417 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 3418 0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 3419 0x6b, 0x53, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 3420 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 3421 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 3422 0x22, 0x52, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55, 3423 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 3424 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 3425 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 3426 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 3427 0x61, 0x74, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 3428 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61, 3429 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 3430 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 3431 0x79, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 3432 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 3433 0x62, 0x6c, 0x65, 0x64, 0x22, 0x61, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 3434 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 3435 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x38, 0x0a, 3436 0x09, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 3437 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 3438 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x09, 0x71, 0x75, 3439 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xcc, 0x01, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 3440 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x55, 0x70, 0x64, 3441 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 3442 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 3443 0x12, 0x4d, 0x0a, 0x14, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x71, 3444 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 3445 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 3446 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x13, 0x73, 0x75, 0x62, 0x73, 3447 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 3448 0x45, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x63, 0x6f, 3449 0x64, 0x65, 0x63, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 3450 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x43, 3451 0x6f, 0x64, 0x65, 0x63, 0x52, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 3452 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x63, 0x6b, 3453 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 3454 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 3455 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 3456 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 3457 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x54, 0x72, 0x61, 0x63, 3458 0x6b, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 3459 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 3460 0x73, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 3461 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3462 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 3463 0x74, 0x69, 0x74, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 3464 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 3465 0x29, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 3466 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x50, 0x61, 3467 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x45, 0x0a, 0x11, 0x74, 0x72, 3468 0x61, 0x63, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 3469 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 3470 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 3471 0x10, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 3472 0x73, 0x22, 0x7e, 0x0a, 0x1c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 3473 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 3474 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 3475 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 3476 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 3477 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 3478 0x72, 0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 3479 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 3480 0x64, 0x22, 0xbb, 0x02, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 3481 0x33, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3482 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 3483 0x6e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x6e, 3484 0x73, 0x77, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 3485 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 3486 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 3487 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 3488 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 3489 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 3490 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x75, 0x62, 3491 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 3492 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x3d, 0x0a, 3493 0x0d, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 3494 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 3495 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 3496 0x64, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x0a, 0x05, 3497 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 3498 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 3499 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x22, 3500 0x66, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 3501 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 3502 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 3503 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 3504 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 3505 0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 3506 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xc0, 0x02, 0x0a, 0x10, 0x53, 0x69, 0x6d, 0x75, 3507 0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x12, 0x27, 0x0a, 0x0e, 3508 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 3509 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 3510 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x61, 3511 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x6e, 3512 0x6f, 0x64, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x09, 0x6d, 0x69, 3513 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 3514 0x09, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x65, 3515 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 3516 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x12, 3517 0x58, 0x0a, 0x19, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 3518 0x61, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x05, 0x20, 0x01, 3519 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x61, 0x6e, 3520 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x48, 0x00, 3521 0x52, 0x17, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 3522 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x14, 0x73, 0x75, 0x62, 3523 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 3524 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x13, 0x73, 0x75, 0x62, 0x73, 0x63, 3525 0x72, 0x69, 0x62, 0x65, 0x72, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x0a, 3526 0x0a, 0x08, 0x73, 0x63, 0x65, 0x6e, 0x61, 0x72, 0x69, 0x6f, 0x22, 0x36, 0x0a, 0x04, 0x50, 0x69, 3527 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 3528 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 3529 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x72, 3530 0x74, 0x74, 0x22, 0x54, 0x0a, 0x04, 0x50, 0x6f, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x61, 3531 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 3532 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e, 3533 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 3534 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 3535 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 3536 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 3537 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 3538 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 3539 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52, 0x0a, 0x0a, 0x52, 0x65, 0x67, 3540 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 3541 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 3542 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 3543 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 3544 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2a, 0x2d, 0x0a, 3545 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0d, 0x0a, 3546 0x09, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 3547 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x10, 0x01, 0x2a, 0x25, 0x0a, 0x0b, 3548 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x41, 3549 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x55, 0x53, 0x45, 3550 0x44, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 3551 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 3552 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c, 3553 0x53, 0x10, 0x02, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 3554 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 3555 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 3556 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 3557 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 3558 0x74, 0x6f, 0x33, 3559 } 3560 3561 var ( 3562 file_livekit_rtc_proto_rawDescOnce sync.Once 3563 file_livekit_rtc_proto_rawDescData = file_livekit_rtc_proto_rawDesc 3564 ) 3565 3566 func file_livekit_rtc_proto_rawDescGZIP() []byte { 3567 file_livekit_rtc_proto_rawDescOnce.Do(func() { 3568 file_livekit_rtc_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_rtc_proto_rawDescData) 3569 }) 3570 return file_livekit_rtc_proto_rawDescData 3571 } 3572 3573 var file_livekit_rtc_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 3574 var file_livekit_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 37) 3575 var file_livekit_rtc_proto_goTypes = []interface{}{ 3576 (SignalTarget)(0), // 0: livekit.SignalTarget 3577 (StreamState)(0), // 1: livekit.StreamState 3578 (CandidateProtocol)(0), // 2: livekit.CandidateProtocol 3579 (*SignalRequest)(nil), // 3: livekit.SignalRequest 3580 (*SignalResponse)(nil), // 4: livekit.SignalResponse 3581 (*SimulcastCodec)(nil), // 5: livekit.SimulcastCodec 3582 (*AddTrackRequest)(nil), // 6: livekit.AddTrackRequest 3583 (*TrickleRequest)(nil), // 7: livekit.TrickleRequest 3584 (*MuteTrackRequest)(nil), // 8: livekit.MuteTrackRequest 3585 (*JoinResponse)(nil), // 9: livekit.JoinResponse 3586 (*ReconnectResponse)(nil), // 10: livekit.ReconnectResponse 3587 (*TrackPublishedResponse)(nil), // 11: livekit.TrackPublishedResponse 3588 (*TrackUnpublishedResponse)(nil), // 12: livekit.TrackUnpublishedResponse 3589 (*SessionDescription)(nil), // 13: livekit.SessionDescription 3590 (*ParticipantUpdate)(nil), // 14: livekit.ParticipantUpdate 3591 (*UpdateSubscription)(nil), // 15: livekit.UpdateSubscription 3592 (*UpdateTrackSettings)(nil), // 16: livekit.UpdateTrackSettings 3593 (*LeaveRequest)(nil), // 17: livekit.LeaveRequest 3594 (*UpdateVideoLayers)(nil), // 18: livekit.UpdateVideoLayers 3595 (*UpdateParticipantMetadata)(nil), // 19: livekit.UpdateParticipantMetadata 3596 (*ICEServer)(nil), // 20: livekit.ICEServer 3597 (*SpeakersChanged)(nil), // 21: livekit.SpeakersChanged 3598 (*RoomUpdate)(nil), // 22: livekit.RoomUpdate 3599 (*ConnectionQualityInfo)(nil), // 23: livekit.ConnectionQualityInfo 3600 (*ConnectionQualityUpdate)(nil), // 24: livekit.ConnectionQualityUpdate 3601 (*StreamStateInfo)(nil), // 25: livekit.StreamStateInfo 3602 (*StreamStateUpdate)(nil), // 26: livekit.StreamStateUpdate 3603 (*SubscribedQuality)(nil), // 27: livekit.SubscribedQuality 3604 (*SubscribedCodec)(nil), // 28: livekit.SubscribedCodec 3605 (*SubscribedQualityUpdate)(nil), // 29: livekit.SubscribedQualityUpdate 3606 (*TrackPermission)(nil), // 30: livekit.TrackPermission 3607 (*SubscriptionPermission)(nil), // 31: livekit.SubscriptionPermission 3608 (*SubscriptionPermissionUpdate)(nil), // 32: livekit.SubscriptionPermissionUpdate 3609 (*SyncState)(nil), // 33: livekit.SyncState 3610 (*DataChannelInfo)(nil), // 34: livekit.DataChannelInfo 3611 (*SimulateScenario)(nil), // 35: livekit.SimulateScenario 3612 (*Ping)(nil), // 36: livekit.Ping 3613 (*Pong)(nil), // 37: livekit.Pong 3614 (*RegionSettings)(nil), // 38: livekit.RegionSettings 3615 (*RegionInfo)(nil), // 39: livekit.RegionInfo 3616 (TrackType)(0), // 40: livekit.TrackType 3617 (TrackSource)(0), // 41: livekit.TrackSource 3618 (*VideoLayer)(nil), // 42: livekit.VideoLayer 3619 (Encryption_Type)(0), // 43: livekit.Encryption.Type 3620 (*Room)(nil), // 44: livekit.Room 3621 (*ParticipantInfo)(nil), // 45: livekit.ParticipantInfo 3622 (*ClientConfiguration)(nil), // 46: livekit.ClientConfiguration 3623 (*ServerInfo)(nil), // 47: livekit.ServerInfo 3624 (*TrackInfo)(nil), // 48: livekit.TrackInfo 3625 (*ParticipantTracks)(nil), // 49: livekit.ParticipantTracks 3626 (VideoQuality)(0), // 50: livekit.VideoQuality 3627 (DisconnectReason)(0), // 51: livekit.DisconnectReason 3628 (*SpeakerInfo)(nil), // 52: livekit.SpeakerInfo 3629 (ConnectionQuality)(0), // 53: livekit.ConnectionQuality 3630 } 3631 var file_livekit_rtc_proto_depIdxs = []int32{ 3632 13, // 0: livekit.SignalRequest.offer:type_name -> livekit.SessionDescription 3633 13, // 1: livekit.SignalRequest.answer:type_name -> livekit.SessionDescription 3634 7, // 2: livekit.SignalRequest.trickle:type_name -> livekit.TrickleRequest 3635 6, // 3: livekit.SignalRequest.add_track:type_name -> livekit.AddTrackRequest 3636 8, // 4: livekit.SignalRequest.mute:type_name -> livekit.MuteTrackRequest 3637 15, // 5: livekit.SignalRequest.subscription:type_name -> livekit.UpdateSubscription 3638 16, // 6: livekit.SignalRequest.track_setting:type_name -> livekit.UpdateTrackSettings 3639 17, // 7: livekit.SignalRequest.leave:type_name -> livekit.LeaveRequest 3640 18, // 8: livekit.SignalRequest.update_layers:type_name -> livekit.UpdateVideoLayers 3641 31, // 9: livekit.SignalRequest.subscription_permission:type_name -> livekit.SubscriptionPermission 3642 33, // 10: livekit.SignalRequest.sync_state:type_name -> livekit.SyncState 3643 35, // 11: livekit.SignalRequest.simulate:type_name -> livekit.SimulateScenario 3644 19, // 12: livekit.SignalRequest.update_metadata:type_name -> livekit.UpdateParticipantMetadata 3645 36, // 13: livekit.SignalRequest.ping_req:type_name -> livekit.Ping 3646 9, // 14: livekit.SignalResponse.join:type_name -> livekit.JoinResponse 3647 13, // 15: livekit.SignalResponse.answer:type_name -> livekit.SessionDescription 3648 13, // 16: livekit.SignalResponse.offer:type_name -> livekit.SessionDescription 3649 7, // 17: livekit.SignalResponse.trickle:type_name -> livekit.TrickleRequest 3650 14, // 18: livekit.SignalResponse.update:type_name -> livekit.ParticipantUpdate 3651 11, // 19: livekit.SignalResponse.track_published:type_name -> livekit.TrackPublishedResponse 3652 17, // 20: livekit.SignalResponse.leave:type_name -> livekit.LeaveRequest 3653 8, // 21: livekit.SignalResponse.mute:type_name -> livekit.MuteTrackRequest 3654 21, // 22: livekit.SignalResponse.speakers_changed:type_name -> livekit.SpeakersChanged 3655 22, // 23: livekit.SignalResponse.room_update:type_name -> livekit.RoomUpdate 3656 24, // 24: livekit.SignalResponse.connection_quality:type_name -> livekit.ConnectionQualityUpdate 3657 26, // 25: livekit.SignalResponse.stream_state_update:type_name -> livekit.StreamStateUpdate 3658 29, // 26: livekit.SignalResponse.subscribed_quality_update:type_name -> livekit.SubscribedQualityUpdate 3659 32, // 27: livekit.SignalResponse.subscription_permission_update:type_name -> livekit.SubscriptionPermissionUpdate 3660 12, // 28: livekit.SignalResponse.track_unpublished:type_name -> livekit.TrackUnpublishedResponse 3661 10, // 29: livekit.SignalResponse.reconnect:type_name -> livekit.ReconnectResponse 3662 37, // 30: livekit.SignalResponse.pong_resp:type_name -> livekit.Pong 3663 40, // 31: livekit.AddTrackRequest.type:type_name -> livekit.TrackType 3664 41, // 32: livekit.AddTrackRequest.source:type_name -> livekit.TrackSource 3665 42, // 33: livekit.AddTrackRequest.layers:type_name -> livekit.VideoLayer 3666 5, // 34: livekit.AddTrackRequest.simulcast_codecs:type_name -> livekit.SimulcastCodec 3667 43, // 35: livekit.AddTrackRequest.encryption:type_name -> livekit.Encryption.Type 3668 0, // 36: livekit.TrickleRequest.target:type_name -> livekit.SignalTarget 3669 44, // 37: livekit.JoinResponse.room:type_name -> livekit.Room 3670 45, // 38: livekit.JoinResponse.participant:type_name -> livekit.ParticipantInfo 3671 45, // 39: livekit.JoinResponse.other_participants:type_name -> livekit.ParticipantInfo 3672 20, // 40: livekit.JoinResponse.ice_servers:type_name -> livekit.ICEServer 3673 46, // 41: livekit.JoinResponse.client_configuration:type_name -> livekit.ClientConfiguration 3674 47, // 42: livekit.JoinResponse.server_info:type_name -> livekit.ServerInfo 3675 20, // 43: livekit.ReconnectResponse.ice_servers:type_name -> livekit.ICEServer 3676 46, // 44: livekit.ReconnectResponse.client_configuration:type_name -> livekit.ClientConfiguration 3677 48, // 45: livekit.TrackPublishedResponse.track:type_name -> livekit.TrackInfo 3678 45, // 46: livekit.ParticipantUpdate.participants:type_name -> livekit.ParticipantInfo 3679 49, // 47: livekit.UpdateSubscription.participant_tracks:type_name -> livekit.ParticipantTracks 3680 50, // 48: livekit.UpdateTrackSettings.quality:type_name -> livekit.VideoQuality 3681 51, // 49: livekit.LeaveRequest.reason:type_name -> livekit.DisconnectReason 3682 42, // 50: livekit.UpdateVideoLayers.layers:type_name -> livekit.VideoLayer 3683 52, // 51: livekit.SpeakersChanged.speakers:type_name -> livekit.SpeakerInfo 3684 44, // 52: livekit.RoomUpdate.room:type_name -> livekit.Room 3685 53, // 53: livekit.ConnectionQualityInfo.quality:type_name -> livekit.ConnectionQuality 3686 23, // 54: livekit.ConnectionQualityUpdate.updates:type_name -> livekit.ConnectionQualityInfo 3687 1, // 55: livekit.StreamStateInfo.state:type_name -> livekit.StreamState 3688 25, // 56: livekit.StreamStateUpdate.stream_states:type_name -> livekit.StreamStateInfo 3689 50, // 57: livekit.SubscribedQuality.quality:type_name -> livekit.VideoQuality 3690 27, // 58: livekit.SubscribedCodec.qualities:type_name -> livekit.SubscribedQuality 3691 27, // 59: livekit.SubscribedQualityUpdate.subscribed_qualities:type_name -> livekit.SubscribedQuality 3692 28, // 60: livekit.SubscribedQualityUpdate.subscribed_codecs:type_name -> livekit.SubscribedCodec 3693 30, // 61: livekit.SubscriptionPermission.track_permissions:type_name -> livekit.TrackPermission 3694 13, // 62: livekit.SyncState.answer:type_name -> livekit.SessionDescription 3695 15, // 63: livekit.SyncState.subscription:type_name -> livekit.UpdateSubscription 3696 11, // 64: livekit.SyncState.publish_tracks:type_name -> livekit.TrackPublishedResponse 3697 34, // 65: livekit.SyncState.data_channels:type_name -> livekit.DataChannelInfo 3698 13, // 66: livekit.SyncState.offer:type_name -> livekit.SessionDescription 3699 0, // 67: livekit.DataChannelInfo.target:type_name -> livekit.SignalTarget 3700 2, // 68: livekit.SimulateScenario.switch_candidate_protocol:type_name -> livekit.CandidateProtocol 3701 39, // 69: livekit.RegionSettings.regions:type_name -> livekit.RegionInfo 3702 70, // [70:70] is the sub-list for method output_type 3703 70, // [70:70] is the sub-list for method input_type 3704 70, // [70:70] is the sub-list for extension type_name 3705 70, // [70:70] is the sub-list for extension extendee 3706 0, // [0:70] is the sub-list for field type_name 3707 } 3708 3709 func init() { file_livekit_rtc_proto_init() } 3710 func file_livekit_rtc_proto_init() { 3711 if File_livekit_rtc_proto != nil { 3712 return 3713 } 3714 file_livekit_models_proto_init() 3715 if !protoimpl.UnsafeEnabled { 3716 file_livekit_rtc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3717 switch v := v.(*SignalRequest); i { 3718 case 0: 3719 return &v.state 3720 case 1: 3721 return &v.sizeCache 3722 case 2: 3723 return &v.unknownFields 3724 default: 3725 return nil 3726 } 3727 } 3728 file_livekit_rtc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3729 switch v := v.(*SignalResponse); i { 3730 case 0: 3731 return &v.state 3732 case 1: 3733 return &v.sizeCache 3734 case 2: 3735 return &v.unknownFields 3736 default: 3737 return nil 3738 } 3739 } 3740 file_livekit_rtc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3741 switch v := v.(*SimulcastCodec); i { 3742 case 0: 3743 return &v.state 3744 case 1: 3745 return &v.sizeCache 3746 case 2: 3747 return &v.unknownFields 3748 default: 3749 return nil 3750 } 3751 } 3752 file_livekit_rtc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3753 switch v := v.(*AddTrackRequest); i { 3754 case 0: 3755 return &v.state 3756 case 1: 3757 return &v.sizeCache 3758 case 2: 3759 return &v.unknownFields 3760 default: 3761 return nil 3762 } 3763 } 3764 file_livekit_rtc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3765 switch v := v.(*TrickleRequest); i { 3766 case 0: 3767 return &v.state 3768 case 1: 3769 return &v.sizeCache 3770 case 2: 3771 return &v.unknownFields 3772 default: 3773 return nil 3774 } 3775 } 3776 file_livekit_rtc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3777 switch v := v.(*MuteTrackRequest); i { 3778 case 0: 3779 return &v.state 3780 case 1: 3781 return &v.sizeCache 3782 case 2: 3783 return &v.unknownFields 3784 default: 3785 return nil 3786 } 3787 } 3788 file_livekit_rtc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3789 switch v := v.(*JoinResponse); i { 3790 case 0: 3791 return &v.state 3792 case 1: 3793 return &v.sizeCache 3794 case 2: 3795 return &v.unknownFields 3796 default: 3797 return nil 3798 } 3799 } 3800 file_livekit_rtc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3801 switch v := v.(*ReconnectResponse); i { 3802 case 0: 3803 return &v.state 3804 case 1: 3805 return &v.sizeCache 3806 case 2: 3807 return &v.unknownFields 3808 default: 3809 return nil 3810 } 3811 } 3812 file_livekit_rtc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3813 switch v := v.(*TrackPublishedResponse); i { 3814 case 0: 3815 return &v.state 3816 case 1: 3817 return &v.sizeCache 3818 case 2: 3819 return &v.unknownFields 3820 default: 3821 return nil 3822 } 3823 } 3824 file_livekit_rtc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3825 switch v := v.(*TrackUnpublishedResponse); i { 3826 case 0: 3827 return &v.state 3828 case 1: 3829 return &v.sizeCache 3830 case 2: 3831 return &v.unknownFields 3832 default: 3833 return nil 3834 } 3835 } 3836 file_livekit_rtc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3837 switch v := v.(*SessionDescription); i { 3838 case 0: 3839 return &v.state 3840 case 1: 3841 return &v.sizeCache 3842 case 2: 3843 return &v.unknownFields 3844 default: 3845 return nil 3846 } 3847 } 3848 file_livekit_rtc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3849 switch v := v.(*ParticipantUpdate); i { 3850 case 0: 3851 return &v.state 3852 case 1: 3853 return &v.sizeCache 3854 case 2: 3855 return &v.unknownFields 3856 default: 3857 return nil 3858 } 3859 } 3860 file_livekit_rtc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3861 switch v := v.(*UpdateSubscription); i { 3862 case 0: 3863 return &v.state 3864 case 1: 3865 return &v.sizeCache 3866 case 2: 3867 return &v.unknownFields 3868 default: 3869 return nil 3870 } 3871 } 3872 file_livekit_rtc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3873 switch v := v.(*UpdateTrackSettings); i { 3874 case 0: 3875 return &v.state 3876 case 1: 3877 return &v.sizeCache 3878 case 2: 3879 return &v.unknownFields 3880 default: 3881 return nil 3882 } 3883 } 3884 file_livekit_rtc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3885 switch v := v.(*LeaveRequest); i { 3886 case 0: 3887 return &v.state 3888 case 1: 3889 return &v.sizeCache 3890 case 2: 3891 return &v.unknownFields 3892 default: 3893 return nil 3894 } 3895 } 3896 file_livekit_rtc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3897 switch v := v.(*UpdateVideoLayers); i { 3898 case 0: 3899 return &v.state 3900 case 1: 3901 return &v.sizeCache 3902 case 2: 3903 return &v.unknownFields 3904 default: 3905 return nil 3906 } 3907 } 3908 file_livekit_rtc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3909 switch v := v.(*UpdateParticipantMetadata); i { 3910 case 0: 3911 return &v.state 3912 case 1: 3913 return &v.sizeCache 3914 case 2: 3915 return &v.unknownFields 3916 default: 3917 return nil 3918 } 3919 } 3920 file_livekit_rtc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3921 switch v := v.(*ICEServer); i { 3922 case 0: 3923 return &v.state 3924 case 1: 3925 return &v.sizeCache 3926 case 2: 3927 return &v.unknownFields 3928 default: 3929 return nil 3930 } 3931 } 3932 file_livekit_rtc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3933 switch v := v.(*SpeakersChanged); i { 3934 case 0: 3935 return &v.state 3936 case 1: 3937 return &v.sizeCache 3938 case 2: 3939 return &v.unknownFields 3940 default: 3941 return nil 3942 } 3943 } 3944 file_livekit_rtc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3945 switch v := v.(*RoomUpdate); i { 3946 case 0: 3947 return &v.state 3948 case 1: 3949 return &v.sizeCache 3950 case 2: 3951 return &v.unknownFields 3952 default: 3953 return nil 3954 } 3955 } 3956 file_livekit_rtc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3957 switch v := v.(*ConnectionQualityInfo); i { 3958 case 0: 3959 return &v.state 3960 case 1: 3961 return &v.sizeCache 3962 case 2: 3963 return &v.unknownFields 3964 default: 3965 return nil 3966 } 3967 } 3968 file_livekit_rtc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3969 switch v := v.(*ConnectionQualityUpdate); i { 3970 case 0: 3971 return &v.state 3972 case 1: 3973 return &v.sizeCache 3974 case 2: 3975 return &v.unknownFields 3976 default: 3977 return nil 3978 } 3979 } 3980 file_livekit_rtc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3981 switch v := v.(*StreamStateInfo); i { 3982 case 0: 3983 return &v.state 3984 case 1: 3985 return &v.sizeCache 3986 case 2: 3987 return &v.unknownFields 3988 default: 3989 return nil 3990 } 3991 } 3992 file_livekit_rtc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3993 switch v := v.(*StreamStateUpdate); i { 3994 case 0: 3995 return &v.state 3996 case 1: 3997 return &v.sizeCache 3998 case 2: 3999 return &v.unknownFields 4000 default: 4001 return nil 4002 } 4003 } 4004 file_livekit_rtc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 4005 switch v := v.(*SubscribedQuality); i { 4006 case 0: 4007 return &v.state 4008 case 1: 4009 return &v.sizeCache 4010 case 2: 4011 return &v.unknownFields 4012 default: 4013 return nil 4014 } 4015 } 4016 file_livekit_rtc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 4017 switch v := v.(*SubscribedCodec); i { 4018 case 0: 4019 return &v.state 4020 case 1: 4021 return &v.sizeCache 4022 case 2: 4023 return &v.unknownFields 4024 default: 4025 return nil 4026 } 4027 } 4028 file_livekit_rtc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 4029 switch v := v.(*SubscribedQualityUpdate); i { 4030 case 0: 4031 return &v.state 4032 case 1: 4033 return &v.sizeCache 4034 case 2: 4035 return &v.unknownFields 4036 default: 4037 return nil 4038 } 4039 } 4040 file_livekit_rtc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 4041 switch v := v.(*TrackPermission); i { 4042 case 0: 4043 return &v.state 4044 case 1: 4045 return &v.sizeCache 4046 case 2: 4047 return &v.unknownFields 4048 default: 4049 return nil 4050 } 4051 } 4052 file_livekit_rtc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 4053 switch v := v.(*SubscriptionPermission); i { 4054 case 0: 4055 return &v.state 4056 case 1: 4057 return &v.sizeCache 4058 case 2: 4059 return &v.unknownFields 4060 default: 4061 return nil 4062 } 4063 } 4064 file_livekit_rtc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 4065 switch v := v.(*SubscriptionPermissionUpdate); i { 4066 case 0: 4067 return &v.state 4068 case 1: 4069 return &v.sizeCache 4070 case 2: 4071 return &v.unknownFields 4072 default: 4073 return nil 4074 } 4075 } 4076 file_livekit_rtc_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 4077 switch v := v.(*SyncState); i { 4078 case 0: 4079 return &v.state 4080 case 1: 4081 return &v.sizeCache 4082 case 2: 4083 return &v.unknownFields 4084 default: 4085 return nil 4086 } 4087 } 4088 file_livekit_rtc_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 4089 switch v := v.(*DataChannelInfo); i { 4090 case 0: 4091 return &v.state 4092 case 1: 4093 return &v.sizeCache 4094 case 2: 4095 return &v.unknownFields 4096 default: 4097 return nil 4098 } 4099 } 4100 file_livekit_rtc_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 4101 switch v := v.(*SimulateScenario); i { 4102 case 0: 4103 return &v.state 4104 case 1: 4105 return &v.sizeCache 4106 case 2: 4107 return &v.unknownFields 4108 default: 4109 return nil 4110 } 4111 } 4112 file_livekit_rtc_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 4113 switch v := v.(*Ping); i { 4114 case 0: 4115 return &v.state 4116 case 1: 4117 return &v.sizeCache 4118 case 2: 4119 return &v.unknownFields 4120 default: 4121 return nil 4122 } 4123 } 4124 file_livekit_rtc_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 4125 switch v := v.(*Pong); i { 4126 case 0: 4127 return &v.state 4128 case 1: 4129 return &v.sizeCache 4130 case 2: 4131 return &v.unknownFields 4132 default: 4133 return nil 4134 } 4135 } 4136 file_livekit_rtc_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 4137 switch v := v.(*RegionSettings); i { 4138 case 0: 4139 return &v.state 4140 case 1: 4141 return &v.sizeCache 4142 case 2: 4143 return &v.unknownFields 4144 default: 4145 return nil 4146 } 4147 } 4148 file_livekit_rtc_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 4149 switch v := v.(*RegionInfo); i { 4150 case 0: 4151 return &v.state 4152 case 1: 4153 return &v.sizeCache 4154 case 2: 4155 return &v.unknownFields 4156 default: 4157 return nil 4158 } 4159 } 4160 } 4161 file_livekit_rtc_proto_msgTypes[0].OneofWrappers = []interface{}{ 4162 (*SignalRequest_Offer)(nil), 4163 (*SignalRequest_Answer)(nil), 4164 (*SignalRequest_Trickle)(nil), 4165 (*SignalRequest_AddTrack)(nil), 4166 (*SignalRequest_Mute)(nil), 4167 (*SignalRequest_Subscription)(nil), 4168 (*SignalRequest_TrackSetting)(nil), 4169 (*SignalRequest_Leave)(nil), 4170 (*SignalRequest_UpdateLayers)(nil), 4171 (*SignalRequest_SubscriptionPermission)(nil), 4172 (*SignalRequest_SyncState)(nil), 4173 (*SignalRequest_Simulate)(nil), 4174 (*SignalRequest_Ping)(nil), 4175 (*SignalRequest_UpdateMetadata)(nil), 4176 (*SignalRequest_PingReq)(nil), 4177 } 4178 file_livekit_rtc_proto_msgTypes[1].OneofWrappers = []interface{}{ 4179 (*SignalResponse_Join)(nil), 4180 (*SignalResponse_Answer)(nil), 4181 (*SignalResponse_Offer)(nil), 4182 (*SignalResponse_Trickle)(nil), 4183 (*SignalResponse_Update)(nil), 4184 (*SignalResponse_TrackPublished)(nil), 4185 (*SignalResponse_Leave)(nil), 4186 (*SignalResponse_Mute)(nil), 4187 (*SignalResponse_SpeakersChanged)(nil), 4188 (*SignalResponse_RoomUpdate)(nil), 4189 (*SignalResponse_ConnectionQuality)(nil), 4190 (*SignalResponse_StreamStateUpdate)(nil), 4191 (*SignalResponse_SubscribedQualityUpdate)(nil), 4192 (*SignalResponse_SubscriptionPermissionUpdate)(nil), 4193 (*SignalResponse_RefreshToken)(nil), 4194 (*SignalResponse_TrackUnpublished)(nil), 4195 (*SignalResponse_Pong)(nil), 4196 (*SignalResponse_Reconnect)(nil), 4197 (*SignalResponse_PongResp)(nil), 4198 } 4199 file_livekit_rtc_proto_msgTypes[32].OneofWrappers = []interface{}{ 4200 (*SimulateScenario_SpeakerUpdate)(nil), 4201 (*SimulateScenario_NodeFailure)(nil), 4202 (*SimulateScenario_Migration)(nil), 4203 (*SimulateScenario_ServerLeave)(nil), 4204 (*SimulateScenario_SwitchCandidateProtocol)(nil), 4205 (*SimulateScenario_SubscriberBandwidth)(nil), 4206 } 4207 type x struct{} 4208 out := protoimpl.TypeBuilder{ 4209 File: protoimpl.DescBuilder{ 4210 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 4211 RawDescriptor: file_livekit_rtc_proto_rawDesc, 4212 NumEnums: 3, 4213 NumMessages: 37, 4214 NumExtensions: 0, 4215 NumServices: 0, 4216 }, 4217 GoTypes: file_livekit_rtc_proto_goTypes, 4218 DependencyIndexes: file_livekit_rtc_proto_depIdxs, 4219 EnumInfos: file_livekit_rtc_proto_enumTypes, 4220 MessageInfos: file_livekit_rtc_proto_msgTypes, 4221 }.Build() 4222 File_livekit_rtc_proto = out.File 4223 file_livekit_rtc_proto_rawDesc = nil 4224 file_livekit_rtc_proto_goTypes = nil 4225 file_livekit_rtc_proto_depIdxs = nil 4226 }