From 537edda4c3c679a3bc27da44f7ce9e2ff08d2c6f Mon Sep 17 00:00:00 2001 From: David Zhao Date: Sat, 20 Mar 2021 22:27:47 -0700 Subject: [PATCH] handle new UpdateParticipant API, enable permission updates --- cmd/cli/commands/token.go | 7 +- go.mod | 2 +- go.sum | 4 + pkg/rtc/helper_test.go | 3 +- pkg/rtc/participant.go | 14 +- pkg/rtc/room_test.go | 16 +- pkg/rtc/types/interfaces.go | 2 +- pkg/rtc/types/typesfakes/fake_participant.go | 49 +--- pkg/service/roommanager.go | 22 +- pkg/service/roomservice.go | 10 +- pkg/service/rtcservice.go | 9 +- proto/livekit_internal.pb.go | 231 ++++++---------- proto/livekit_room.pb.go | 274 +++++++++++++------ proto/livekit_room.twirp.go | 167 +++++------ 14 files changed, 387 insertions(+), 423 deletions(-) diff --git a/cmd/cli/commands/token.go b/cmd/cli/commands/token.go index 82baf71dc..96a562fe6 100644 --- a/cmd/cli/commands/token.go +++ b/cmd/cli/commands/token.go @@ -1,7 +1,6 @@ package commands import ( - "encoding/json" "fmt" "github.com/urfave/cli/v2" @@ -81,11 +80,7 @@ func createToken(c *cli.Context) error { at := accessToken(c, grant, p) if metadata != "" { - var md map[string]interface{} - if err := json.Unmarshal([]byte(metadata), &md); err != nil { - return err - } - at.SetMetadata(md) + at.SetMetadata(metadata) } token, err := at.ToJWT() diff --git a/go.mod b/go.mod index 7b3201594..7b448a145 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/google/wire v0.5.0 github.com/gorilla/websocket v1.4.2 github.com/jxskiss/base62 v0.0.0-20191017122030-4f11678b909b - github.com/livekit/protocol v0.2.2 + github.com/livekit/protocol v0.3.1 github.com/magefile/mage v1.11.0 github.com/maxbrunsfeld/counterfeiter/v6 v6.3.0 github.com/mitchellh/go-homedir v1.1.0 diff --git a/go.sum b/go.sum index 8cb01105f..06160aee6 100644 --- a/go.sum +++ b/go.sum @@ -236,6 +236,10 @@ github.com/livekit/protocol v0.2.1 h1:kWZlkMxkuEfvrZa8NFqOCulybEL3eJr2lrq8OfrTLP github.com/livekit/protocol v0.2.1/go.mod h1:wo3CGfYB7XMF8GoVJAfTARrYSP/ombi+sbLl6AYdKP0= github.com/livekit/protocol v0.2.2 h1:XRcbreNYi8ReAICSsJ3QXzGKSNOz0LxnimAwz5hVSHQ= github.com/livekit/protocol v0.2.2/go.mod h1:wo3CGfYB7XMF8GoVJAfTARrYSP/ombi+sbLl6AYdKP0= +github.com/livekit/protocol v0.3.0 h1:Mk0DisPabFX+CzL5/zn4Dsrp5s0SvAmb/B1qE8IxKYI= +github.com/livekit/protocol v0.3.0/go.mod h1:wo3CGfYB7XMF8GoVJAfTARrYSP/ombi+sbLl6AYdKP0= +github.com/livekit/protocol v0.3.1 h1:EEf2pF8+7etfvgDeJPq6vWm0NTpZXa+3y8MTD6BVbmw= +github.com/livekit/protocol v0.3.1/go.mod h1:wo3CGfYB7XMF8GoVJAfTARrYSP/ombi+sbLl6AYdKP0= github.com/lucsky/cuid v1.0.2 h1:z4XlExeoderxoPj2/dxKOyPxe9RCOu7yNq9/XWxIUMQ= github.com/lucsky/cuid v1.0.2/go.mod h1:QaaJqckboimOmhRSJXSx/+IT+VTfxfPGSo/6mfgUfmE= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= diff --git a/pkg/rtc/helper_test.go b/pkg/rtc/helper_test.go index f877f547f..15e89542a 100644 --- a/pkg/rtc/helper_test.go +++ b/pkg/rtc/helper_test.go @@ -13,7 +13,7 @@ func newMockParticipant(identity string) *typesfakes.FakeParticipant { p.IdentityReturns(identity) p.StateReturns(livekit.ParticipantInfo_JOINED) - p.SetMetadataStub = func(m map[string]interface{}) error { + p.SetMetadataStub = func(m string) { var f func(participant types.Participant) if p.OnMetadataUpdateCallCount() > 0 { f = p.OnMetadataUpdateArgsForCall(p.OnMetadataUpdateCallCount() - 1) @@ -21,7 +21,6 @@ func newMockParticipant(identity string) *typesfakes.FakeParticipant { if f != nil { f(p) } - return nil } updateTrack := func() { var f func(participant types.Participant, track types.PublishedTrack) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 21bf1eeb8..d8f57f389 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1,7 +1,6 @@ package rtc import ( - "encoding/json" "fmt" "io" "sync" @@ -139,21 +138,12 @@ func (p *ParticipantImpl) IsReady() bool { } // attach metadata to the participant -func (p *ParticipantImpl) SetMetadata(metadata map[string]interface{}) error { - if metadata == nil { - p.metadata = "" - } else { - if data, err := json.Marshal(metadata); err != nil { - return err - } else { - p.metadata = string(data) - } - } +func (p *ParticipantImpl) SetMetadata(metadata string) { + p.metadata = metadata if p.onMetadataUpdate != nil { p.onMetadataUpdate(p) } - return nil } func (p *ParticipantImpl) SetPermission(permission *livekit.ParticipantPermission) { diff --git a/pkg/rtc/room_test.go b/pkg/rtc/room_test.go index ba2bcc664..c53dbf294 100644 --- a/pkg/rtc/room_test.go +++ b/pkg/rtc/room_test.go @@ -152,7 +152,7 @@ func TestParticipantUpdate(t *testing.T) { "track metadata updates are sent to everyone", true, func(p types.Participant) { - p.SetMetadata(map[string]interface{}{}) + p.SetMetadata("") }, }, { @@ -285,7 +285,7 @@ func TestActiveSpeakers(t *testing.T) { assert.Equal(t, p2.ID(), speakers[1].Sid) }) - t.Run("participants are getting updates when active", func(t *testing.T) { + t.Run("participants are getting audio updates", func(t *testing.T) { rm := newRoomWithParticipants(t, 2) participants := rm.GetParticipants() p := participants[0].(*typesfakes.FakeParticipant) @@ -293,29 +293,29 @@ func TestActiveSpeakers(t *testing.T) { p.GetAudioLevelReturns(30, true) speakers := rm.GetActiveSpeakers() - assert.NotEmpty(t, speakers) - assert.Equal(t, p.ID(), speakers[0].Sid) + require.NotEmpty(t, speakers) + require.Equal(t, p.ID(), speakers[0].Sid) time.Sleep(audioUpdateDuration) // everyone should've received updates for _, op := range participants { op := op.(*typesfakes.FakeParticipant) - assert.Equal(t, 1, op.SendActiveSpeakersCallCount()) + require.Equal(t, 1, op.SendActiveSpeakersCallCount()) } // after another cycle, we are not getting any new updates since unchanged time.Sleep(audioUpdateDuration) for _, op := range participants { op := op.(*typesfakes.FakeParticipant) - assert.Equal(t, 1, op.SendActiveSpeakersCallCount()) + require.Equal(t, 1, op.SendActiveSpeakersCallCount()) } // no longer speaking, send update with empty items p.GetAudioLevelReturns(127, false) time.Sleep(audioUpdateDuration) - assert.Equal(t, 2, p.SendActiveSpeakersCallCount()) - assert.Empty(t, p.SendActiveSpeakersArgsForCall(1)) + require.Equal(t, 2, p.SendActiveSpeakersCallCount()) + require.Empty(t, p.SendActiveSpeakersArgsForCall(1)) }) } diff --git a/pkg/rtc/types/interfaces.go b/pkg/rtc/types/interfaces.go index 6d5f3c054..73e27f611 100644 --- a/pkg/rtc/types/interfaces.go +++ b/pkg/rtc/types/interfaces.go @@ -28,7 +28,7 @@ type Participant interface { IsReady() bool ToProto() *livekit.ParticipantInfo RTCPChan() chan []rtcp.Packet - SetMetadata(metadata map[string]interface{}) error + SetMetadata(metadata string) SetPermission(permission *livekit.ParticipantPermission) GetResponseSink() routing.MessageSink SetResponseSink(sink routing.MessageSink) diff --git a/pkg/rtc/types/typesfakes/fake_participant.go b/pkg/rtc/types/typesfakes/fake_participant.go index 67abc3785..dcd4b392a 100644 --- a/pkg/rtc/types/typesfakes/fake_participant.go +++ b/pkg/rtc/types/typesfakes/fake_participant.go @@ -255,16 +255,10 @@ type FakeParticipant struct { sendParticipantUpdateReturnsOnCall map[int]struct { result1 error } - SetMetadataStub func(map[string]interface{}) error + SetMetadataStub func(string) setMetadataMutex sync.RWMutex setMetadataArgsForCall []struct { - arg1 map[string]interface{} - } - setMetadataReturns struct { - result1 error - } - setMetadataReturnsOnCall map[int]struct { - result1 error + arg1 string } SetPermissionStub func(*livekit.ParticipantPermission) setPermissionMutex sync.RWMutex @@ -1661,23 +1655,17 @@ func (fake *FakeParticipant) SendParticipantUpdateReturnsOnCall(i int, result1 e }{result1} } -func (fake *FakeParticipant) SetMetadata(arg1 map[string]interface{}) error { +func (fake *FakeParticipant) SetMetadata(arg1 string) { fake.setMetadataMutex.Lock() - ret, specificReturn := fake.setMetadataReturnsOnCall[len(fake.setMetadataArgsForCall)] fake.setMetadataArgsForCall = append(fake.setMetadataArgsForCall, struct { - arg1 map[string]interface{} + arg1 string }{arg1}) stub := fake.SetMetadataStub - fakeReturns := fake.setMetadataReturns fake.recordInvocation("SetMetadata", []interface{}{arg1}) fake.setMetadataMutex.Unlock() if stub != nil { - return stub(arg1) + fake.SetMetadataStub(arg1) } - if specificReturn { - return ret.result1 - } - return fakeReturns.result1 } func (fake *FakeParticipant) SetMetadataCallCount() int { @@ -1686,42 +1674,19 @@ func (fake *FakeParticipant) SetMetadataCallCount() int { return len(fake.setMetadataArgsForCall) } -func (fake *FakeParticipant) SetMetadataCalls(stub func(map[string]interface{}) error) { +func (fake *FakeParticipant) SetMetadataCalls(stub func(string)) { fake.setMetadataMutex.Lock() defer fake.setMetadataMutex.Unlock() fake.SetMetadataStub = stub } -func (fake *FakeParticipant) SetMetadataArgsForCall(i int) map[string]interface{} { +func (fake *FakeParticipant) SetMetadataArgsForCall(i int) string { fake.setMetadataMutex.RLock() defer fake.setMetadataMutex.RUnlock() argsForCall := fake.setMetadataArgsForCall[i] return argsForCall.arg1 } -func (fake *FakeParticipant) SetMetadataReturns(result1 error) { - fake.setMetadataMutex.Lock() - defer fake.setMetadataMutex.Unlock() - fake.SetMetadataStub = nil - fake.setMetadataReturns = struct { - result1 error - }{result1} -} - -func (fake *FakeParticipant) SetMetadataReturnsOnCall(i int, result1 error) { - fake.setMetadataMutex.Lock() - defer fake.setMetadataMutex.Unlock() - fake.SetMetadataStub = nil - if fake.setMetadataReturnsOnCall == nil { - fake.setMetadataReturnsOnCall = make(map[int]struct { - result1 error - }) - } - fake.setMetadataReturnsOnCall[i] = struct { - result1 error - }{result1} -} - func (fake *FakeParticipant) SetPermission(arg1 *livekit.ParticipantPermission) { fake.setPermissionMutex.Lock() fake.setPermissionArgsForCall = append(fake.setPermissionArgsForCall, struct { diff --git a/pkg/service/roommanager.go b/pkg/service/roommanager.go index 9daa0456d..ecfd8bd1e 100644 --- a/pkg/service/roommanager.go +++ b/pkg/service/roommanager.go @@ -1,7 +1,6 @@ package service import ( - "encoding/json" "fmt" "sync" "time" @@ -216,10 +215,7 @@ func (r *RoomManager) StartSession(roomName string, pi routing.ParticipantInit, return } if pi.Metadata != "" { - var md map[string]interface{} - if err := json.Unmarshal([]byte(pi.Metadata), &md); err == nil { - participant.SetMetadata(md) - } + participant.SetMetadata(pi.Metadata) } if pi.Permission != nil { @@ -383,16 +379,14 @@ func (r *RoomManager) handleRTCMessage(roomName, identity string, msg *livekit.R logger.Debugw("setting track muted", "room", roomName, "participant", identity, "track", rm.MuteTrack.TrackSid, "muted", rm.MuteTrack.Muted) participant.SetTrackMuted(rm.MuteTrack.TrackSid, rm.MuteTrack.Muted) - case *livekit.RTCNodeMessage_UpdateMetadata: - logger.Debugw("updating metadata", "room", roomName, "participant", identity) - var md map[string]interface{} - if rm.UpdateMetadata.Metadata != "" { - if err := json.Unmarshal([]byte(rm.UpdateMetadata.Metadata), &md); err != nil { - logger.Errorw("could not update metadata", "error", err) - return - } + case *livekit.RTCNodeMessage_UpdateParticipant: + logger.Debugw("updating participant", "room", roomName, "participant", identity) + if rm.UpdateParticipant.Metadata != "" { + participant.SetMetadata(rm.UpdateParticipant.Metadata) + } + if rm.UpdateParticipant.Permission != nil { + participant.SetPermission(rm.UpdateParticipant.Permission) } - participant.SetMetadata(md) } } diff --git a/pkg/service/roomservice.go b/pkg/service/roomservice.go index f552f54b8..4cad80ffa 100644 --- a/pkg/service/roomservice.go +++ b/pkg/service/roomservice.go @@ -150,21 +150,21 @@ func (s *RoomService) MutePublishedTrack(ctx context.Context, req *livekit.MuteR return } -func (s *RoomService) UpdateParticipantMetadata(ctx context.Context, req *livekit.UpdateParticipantMetadataRequest) (*livekit.ParticipantInfo, error) { - rtcSink, err := s.createRTCSink(ctx, req.Target.Room, req.Target.Identity) +func (s *RoomService) UpdateParticipant(ctx context.Context, req *livekit.UpdateParticipantRequest) (*livekit.ParticipantInfo, error) { + rtcSink, err := s.createRTCSink(ctx, req.Room, req.Identity) if err != nil { return nil, err } defer rtcSink.Close() - participant, err := s.roomManager.roomStore.GetParticipant(req.Target.Room, req.Target.Identity) + participant, err := s.roomManager.roomStore.GetParticipant(req.Room, req.Identity) if err != nil { return nil, err } err = rtcSink.WriteMessage(&livekit.RTCNodeMessage{ - Message: &livekit.RTCNodeMessage_UpdateMetadata{ - UpdateMetadata: req, + Message: &livekit.RTCNodeMessage_UpdateParticipant{ + UpdateParticipant: req, }, }) diff --git a/pkg/service/rtcservice.go b/pkg/service/rtcservice.go index 55248088d..7496a7366 100644 --- a/pkg/service/rtcservice.go +++ b/pkg/service/rtcservice.go @@ -1,7 +1,6 @@ package service import ( - "encoding/json" "fmt" "io" "net/http" @@ -91,12 +90,8 @@ func (s *RTCService) ServeHTTP(w http.ResponseWriter, r *http.Request) { return } - if claims.Metadata != nil { - if data, err := json.Marshal(claims.Metadata); err != nil { - logger.Warnw("unable to encode metadata", "error", err) - } else { - pi.Metadata = string(data) - } + if claims.Metadata != "" { + pi.Metadata = claims.Metadata } // this needs to be started first *before* using router functions on this node diff --git a/proto/livekit_internal.pb.go b/proto/livekit_internal.pb.go index 6c25db5dc..e9ded4373 100644 --- a/proto/livekit_internal.pb.go +++ b/proto/livekit_internal.pb.go @@ -197,7 +197,7 @@ type RTCNodeMessage struct { // *RTCNodeMessage_Request // *RTCNodeMessage_RemoveParticipant // *RTCNodeMessage_MuteTrack - // *RTCNodeMessage_UpdateMetadata + // *RTCNodeMessage_UpdateParticipant Message isRTCNodeMessage_Message `protobuf_oneof:"message"` } @@ -275,9 +275,9 @@ func (x *RTCNodeMessage) GetMuteTrack() *MuteRoomTrackRequest { return nil } -func (x *RTCNodeMessage) GetUpdateMetadata() *UpdateParticipantMetadataRequest { - if x, ok := x.GetMessage().(*RTCNodeMessage_UpdateMetadata); ok { - return x.UpdateMetadata +func (x *RTCNodeMessage) GetUpdateParticipant() *UpdateParticipantRequest { + if x, ok := x.GetMessage().(*RTCNodeMessage_UpdateParticipant); ok { + return x.UpdateParticipant } return nil } @@ -303,8 +303,8 @@ type RTCNodeMessage_MuteTrack struct { MuteTrack *MuteRoomTrackRequest `protobuf:"bytes,5,opt,name=mute_track,json=muteTrack,proto3,oneof"` } -type RTCNodeMessage_UpdateMetadata struct { - UpdateMetadata *UpdateParticipantMetadataRequest `protobuf:"bytes,6,opt,name=update_metadata,json=updateMetadata,proto3,oneof"` +type RTCNodeMessage_UpdateParticipant struct { + UpdateParticipant *UpdateParticipantRequest `protobuf:"bytes,6,opt,name=update_participant,json=updateParticipant,proto3,oneof"` } func (*RTCNodeMessage_StartSession) isRTCNodeMessage_Message() {} @@ -315,7 +315,7 @@ func (*RTCNodeMessage_RemoveParticipant) isRTCNodeMessage_Message() {} func (*RTCNodeMessage_MuteTrack) isRTCNodeMessage_Message() {} -func (*RTCNodeMessage_UpdateMetadata) isRTCNodeMessage_Message() {} +func (*RTCNodeMessage_UpdateParticipant) isRTCNodeMessage_Message() {} // message to Signal nodes type SignalNodeMessage struct { @@ -495,61 +495,6 @@ func (x *StartSession) GetPermission() *ParticipantPermission { return nil } -type ParticipantPermission struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CanSubscribe bool `protobuf:"varint,1,opt,name=can_subscribe,json=canSubscribe,proto3" json:"can_subscribe,omitempty"` - CanPublish bool `protobuf:"varint,2,opt,name=can_publish,json=canPublish,proto3" json:"can_publish,omitempty"` -} - -func (x *ParticipantPermission) Reset() { - *x = ParticipantPermission{} - if protoimpl.UnsafeEnabled { - mi := &file_livekit_internal_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ParticipantPermission) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ParticipantPermission) ProtoMessage() {} - -func (x *ParticipantPermission) ProtoReflect() protoreflect.Message { - mi := &file_livekit_internal_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ParticipantPermission.ProtoReflect.Descriptor instead. -func (*ParticipantPermission) Descriptor() ([]byte, []int) { - return file_livekit_internal_proto_rawDescGZIP(), []int{5} -} - -func (x *ParticipantPermission) GetCanSubscribe() bool { - if x != nil { - return x.CanSubscribe - } - return false -} - -func (x *ParticipantPermission) GetCanPublish() bool { - if x != nil { - return x.CanPublish - } - return false -} - type EndSession struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -559,7 +504,7 @@ type EndSession struct { func (x *EndSession) Reset() { *x = EndSession{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_internal_proto_msgTypes[6] + mi := &file_livekit_internal_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -572,7 +517,7 @@ func (x *EndSession) String() string { func (*EndSession) ProtoMessage() {} func (x *EndSession) ProtoReflect() protoreflect.Message { - mi := &file_livekit_internal_proto_msgTypes[6] + mi := &file_livekit_internal_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -585,7 +530,7 @@ func (x *EndSession) ProtoReflect() protoreflect.Message { // Deprecated: Use EndSession.ProtoReflect.Descriptor instead. func (*EndSession) Descriptor() ([]byte, []int) { - return file_livekit_internal_proto_rawDescGZIP(), []int{6} + return file_livekit_internal_proto_rawDescGZIP(), []int{5} } type RemoveParticipant struct { @@ -599,7 +544,7 @@ type RemoveParticipant struct { func (x *RemoveParticipant) Reset() { *x = RemoveParticipant{} if protoimpl.UnsafeEnabled { - mi := &file_livekit_internal_proto_msgTypes[7] + mi := &file_livekit_internal_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -612,7 +557,7 @@ func (x *RemoveParticipant) String() string { func (*RemoveParticipant) ProtoMessage() {} func (x *RemoveParticipant) ProtoReflect() protoreflect.Message { - mi := &file_livekit_internal_proto_msgTypes[7] + mi := &file_livekit_internal_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -625,7 +570,7 @@ func (x *RemoveParticipant) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveParticipant.ProtoReflect.Descriptor instead. func (*RemoveParticipant) Descriptor() ([]byte, []int) { - return file_livekit_internal_proto_rawDescGZIP(), []int{7} + return file_livekit_internal_proto_rawDescGZIP(), []int{6} } func (x *RemoveParticipant) GetParticipantId() string { @@ -662,7 +607,7 @@ var file_livekit_internal_proto_rawDesc = []byte{ 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x75, 0x6d, - 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x75, 0x74, 0x22, 0x9f, 0x03, 0x0a, 0x0e, 0x52, 0x54, + 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x4f, 0x75, 0x74, 0x22, 0x9d, 0x03, 0x0a, 0x0e, 0x52, 0x54, 0x43, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, @@ -682,53 +627,47 @@ var file_livekit_internal_proto_rawDesc = []byte{ 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, - 0x09, 0x6d, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x54, 0x0a, 0x0f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, - 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x11, - 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, - 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x64, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0xe6, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x15, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, - 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x22, 0x0c, 0x0a, 0x0a, 0x45, 0x6e, 0x64, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x09, 0x6d, 0x75, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x52, 0x0a, 0x12, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x11, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, + 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe6, + 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x0c, 0x0a, 0x0a, 0x45, 0x6e, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, + 0x64, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2d, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -743,32 +682,32 @@ func file_livekit_internal_proto_rawDescGZIP() []byte { return file_livekit_internal_proto_rawDescData } -var file_livekit_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_livekit_internal_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_livekit_internal_proto_goTypes = []interface{}{ - (*Node)(nil), // 0: livekit.Node - (*NodeStats)(nil), // 1: livekit.NodeStats - (*RTCNodeMessage)(nil), // 2: livekit.RTCNodeMessage - (*SignalNodeMessage)(nil), // 3: livekit.SignalNodeMessage - (*StartSession)(nil), // 4: livekit.StartSession - (*ParticipantPermission)(nil), // 5: livekit.ParticipantPermission - (*EndSession)(nil), // 6: livekit.EndSession - (*RemoveParticipant)(nil), // 7: livekit.RemoveParticipant - (*SignalRequest)(nil), // 8: livekit.SignalRequest - (*RoomParticipantIdentity)(nil), // 9: livekit.RoomParticipantIdentity - (*MuteRoomTrackRequest)(nil), // 10: livekit.MuteRoomTrackRequest - (*UpdateParticipantMetadataRequest)(nil), // 11: livekit.UpdateParticipantMetadataRequest - (*SignalResponse)(nil), // 12: livekit.SignalResponse + (*Node)(nil), // 0: livekit.Node + (*NodeStats)(nil), // 1: livekit.NodeStats + (*RTCNodeMessage)(nil), // 2: livekit.RTCNodeMessage + (*SignalNodeMessage)(nil), // 3: livekit.SignalNodeMessage + (*StartSession)(nil), // 4: livekit.StartSession + (*EndSession)(nil), // 5: livekit.EndSession + (*RemoveParticipant)(nil), // 6: livekit.RemoveParticipant + (*SignalRequest)(nil), // 7: livekit.SignalRequest + (*RoomParticipantIdentity)(nil), // 8: livekit.RoomParticipantIdentity + (*MuteRoomTrackRequest)(nil), // 9: livekit.MuteRoomTrackRequest + (*UpdateParticipantRequest)(nil), // 10: livekit.UpdateParticipantRequest + (*SignalResponse)(nil), // 11: livekit.SignalResponse + (*ParticipantPermission)(nil), // 12: livekit.ParticipantPermission } var file_livekit_internal_proto_depIdxs = []int32{ 1, // 0: livekit.Node.stats:type_name -> livekit.NodeStats 4, // 1: livekit.RTCNodeMessage.start_session:type_name -> livekit.StartSession - 8, // 2: livekit.RTCNodeMessage.request:type_name -> livekit.SignalRequest - 9, // 3: livekit.RTCNodeMessage.remove_participant:type_name -> livekit.RoomParticipantIdentity - 10, // 4: livekit.RTCNodeMessage.mute_track:type_name -> livekit.MuteRoomTrackRequest - 11, // 5: livekit.RTCNodeMessage.update_metadata:type_name -> livekit.UpdateParticipantMetadataRequest - 12, // 6: livekit.SignalNodeMessage.response:type_name -> livekit.SignalResponse - 6, // 7: livekit.SignalNodeMessage.end_session:type_name -> livekit.EndSession - 5, // 8: livekit.StartSession.permission:type_name -> livekit.ParticipantPermission + 7, // 2: livekit.RTCNodeMessage.request:type_name -> livekit.SignalRequest + 8, // 3: livekit.RTCNodeMessage.remove_participant:type_name -> livekit.RoomParticipantIdentity + 9, // 4: livekit.RTCNodeMessage.mute_track:type_name -> livekit.MuteRoomTrackRequest + 10, // 5: livekit.RTCNodeMessage.update_participant:type_name -> livekit.UpdateParticipantRequest + 11, // 6: livekit.SignalNodeMessage.response:type_name -> livekit.SignalResponse + 5, // 7: livekit.SignalNodeMessage.end_session:type_name -> livekit.EndSession + 12, // 8: livekit.StartSession.permission:type_name -> livekit.ParticipantPermission 9, // [9:9] is the sub-list for method output_type 9, // [9:9] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name @@ -845,18 +784,6 @@ func file_livekit_internal_proto_init() { } } file_livekit_internal_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParticipantPermission); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_livekit_internal_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EndSession); i { case 0: return &v.state @@ -868,7 +795,7 @@ func file_livekit_internal_proto_init() { return nil } } - file_livekit_internal_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_livekit_internal_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveParticipant); i { case 0: return &v.state @@ -886,7 +813,7 @@ func file_livekit_internal_proto_init() { (*RTCNodeMessage_Request)(nil), (*RTCNodeMessage_RemoveParticipant)(nil), (*RTCNodeMessage_MuteTrack)(nil), - (*RTCNodeMessage_UpdateMetadata)(nil), + (*RTCNodeMessage_UpdateParticipant)(nil), } file_livekit_internal_proto_msgTypes[3].OneofWrappers = []interface{}{ (*SignalNodeMessage_Response)(nil), @@ -898,7 +825,7 @@ func file_livekit_internal_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_internal_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/livekit_room.pb.go b/proto/livekit_room.pb.go index 2315ce2fa..b90ac7de8 100644 --- a/proto/livekit_room.pb.go +++ b/proto/livekit_room.pb.go @@ -573,17 +573,17 @@ func (x *MuteRoomTrackResponse) GetTrack() *TrackInfo { return nil } -type UpdateParticipantMetadataRequest struct { +type ParticipantPermission struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Target *RoomParticipantIdentity `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` - Metadata string `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + CanSubscribe bool `protobuf:"varint,1,opt,name=can_subscribe,json=canSubscribe,proto3" json:"can_subscribe,omitempty"` + CanPublish bool `protobuf:"varint,2,opt,name=can_publish,json=canPublish,proto3" json:"can_publish,omitempty"` } -func (x *UpdateParticipantMetadataRequest) Reset() { - *x = UpdateParticipantMetadataRequest{} +func (x *ParticipantPermission) Reset() { + *x = ParticipantPermission{} if protoimpl.UnsafeEnabled { mi := &file_livekit_room_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -591,13 +591,13 @@ func (x *UpdateParticipantMetadataRequest) Reset() { } } -func (x *UpdateParticipantMetadataRequest) String() string { +func (x *ParticipantPermission) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateParticipantMetadataRequest) ProtoMessage() {} +func (*ParticipantPermission) ProtoMessage() {} -func (x *UpdateParticipantMetadataRequest) ProtoReflect() protoreflect.Message { +func (x *ParticipantPermission) ProtoReflect() protoreflect.Message { mi := &file_livekit_room_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -609,25 +609,96 @@ func (x *UpdateParticipantMetadataRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateParticipantMetadataRequest.ProtoReflect.Descriptor instead. -func (*UpdateParticipantMetadataRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ParticipantPermission.ProtoReflect.Descriptor instead. +func (*ParticipantPermission) Descriptor() ([]byte, []int) { return file_livekit_room_proto_rawDescGZIP(), []int{11} } -func (x *UpdateParticipantMetadataRequest) GetTarget() *RoomParticipantIdentity { +func (x *ParticipantPermission) GetCanSubscribe() bool { if x != nil { - return x.Target + return x.CanSubscribe } - return nil + return false } -func (x *UpdateParticipantMetadataRequest) GetMetadata() string { +func (x *ParticipantPermission) GetCanPublish() bool { + if x != nil { + return x.CanPublish + } + return false +} + +type UpdateParticipantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + Metadata string `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Permission *ParticipantPermission `protobuf:"bytes,4,opt,name=permission,proto3" json:"permission,omitempty"` +} + +func (x *UpdateParticipantRequest) Reset() { + *x = UpdateParticipantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_livekit_room_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateParticipantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateParticipantRequest) ProtoMessage() {} + +func (x *UpdateParticipantRequest) ProtoReflect() protoreflect.Message { + mi := &file_livekit_room_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateParticipantRequest.ProtoReflect.Descriptor instead. +func (*UpdateParticipantRequest) Descriptor() ([]byte, []int) { + return file_livekit_room_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateParticipantRequest) GetRoom() string { + if x != nil { + return x.Room + } + return "" +} + +func (x *UpdateParticipantRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateParticipantRequest) GetMetadata() string { if x != nil { return x.Metadata } return "" } +func (x *UpdateParticipantRequest) GetPermission() *ParticipantPermission { + if x != nil { + return x.Permission + } + return nil +} + var File_livekit_room_proto protoreflect.FileDescriptor var file_livekit_room_proto_rawDesc = []byte{ @@ -679,59 +750,67 @@ var file_livekit_room_proto_rawDesc = []byte{ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x22, 0x78, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x8a, 0x05, 0x0a, - 0x0b, 0x52, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, - 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, - 0x6d, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x57, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, + 0x63, 0x6b, 0x22, 0x5d, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, + 0x61, 0x6e, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, + 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xfa, 0x04, 0x0a, 0x0b, 0x52, + 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, + 0x69, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, + 0x6f, 0x6f, 0x6d, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, + 0x12, 0x19, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x6f, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x1a, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, - 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, 0x65, + 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, + 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, + 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x6c, + 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, + 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, + 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x6c, 0x69, 0x76, + 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, - 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x59, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x6c, - 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x1a, 0x22, - 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x53, 0x0a, 0x12, 0x4d, 0x75, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, - 0x68, 0x65, 0x64, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, - 0x69, 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, - 0x74, 0x2e, 0x4d, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, - 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, - 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x6c, 0x69, + 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -746,29 +825,30 @@ func file_livekit_room_proto_rawDescGZIP() []byte { return file_livekit_room_proto_rawDescData } -var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_livekit_room_proto_goTypes = []interface{}{ - (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest - (*ListRoomsRequest)(nil), // 1: livekit.ListRoomsRequest - (*ListRoomsResponse)(nil), // 2: livekit.ListRoomsResponse - (*DeleteRoomRequest)(nil), // 3: livekit.DeleteRoomRequest - (*DeleteRoomResponse)(nil), // 4: livekit.DeleteRoomResponse - (*ListParticipantsRequest)(nil), // 5: livekit.ListParticipantsRequest - (*ListParticipantsResponse)(nil), // 6: livekit.ListParticipantsResponse - (*RoomParticipantIdentity)(nil), // 7: livekit.RoomParticipantIdentity - (*RemoveParticipantResponse)(nil), // 8: livekit.RemoveParticipantResponse - (*MuteRoomTrackRequest)(nil), // 9: livekit.MuteRoomTrackRequest - (*MuteRoomTrackResponse)(nil), // 10: livekit.MuteRoomTrackResponse - (*UpdateParticipantMetadataRequest)(nil), // 11: livekit.UpdateParticipantMetadataRequest - (*Room)(nil), // 12: livekit.Room - (*ParticipantInfo)(nil), // 13: livekit.ParticipantInfo - (*TrackInfo)(nil), // 14: livekit.TrackInfo + (*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest + (*ListRoomsRequest)(nil), // 1: livekit.ListRoomsRequest + (*ListRoomsResponse)(nil), // 2: livekit.ListRoomsResponse + (*DeleteRoomRequest)(nil), // 3: livekit.DeleteRoomRequest + (*DeleteRoomResponse)(nil), // 4: livekit.DeleteRoomResponse + (*ListParticipantsRequest)(nil), // 5: livekit.ListParticipantsRequest + (*ListParticipantsResponse)(nil), // 6: livekit.ListParticipantsResponse + (*RoomParticipantIdentity)(nil), // 7: livekit.RoomParticipantIdentity + (*RemoveParticipantResponse)(nil), // 8: livekit.RemoveParticipantResponse + (*MuteRoomTrackRequest)(nil), // 9: livekit.MuteRoomTrackRequest + (*MuteRoomTrackResponse)(nil), // 10: livekit.MuteRoomTrackResponse + (*ParticipantPermission)(nil), // 11: livekit.ParticipantPermission + (*UpdateParticipantRequest)(nil), // 12: livekit.UpdateParticipantRequest + (*Room)(nil), // 13: livekit.Room + (*ParticipantInfo)(nil), // 14: livekit.ParticipantInfo + (*TrackInfo)(nil), // 15: livekit.TrackInfo } var file_livekit_room_proto_depIdxs = []int32{ - 12, // 0: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room - 13, // 1: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo - 14, // 2: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo - 7, // 3: livekit.UpdateParticipantMetadataRequest.target:type_name -> livekit.RoomParticipantIdentity + 13, // 0: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room + 14, // 1: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo + 15, // 2: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo + 11, // 3: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission 0, // 4: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest 1, // 5: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest 3, // 6: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest @@ -776,15 +856,15 @@ var file_livekit_room_proto_depIdxs = []int32{ 7, // 8: livekit.RoomService.GetParticipant:input_type -> livekit.RoomParticipantIdentity 7, // 9: livekit.RoomService.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity 9, // 10: livekit.RoomService.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest - 11, // 11: livekit.RoomService.UpdateParticipantMetadata:input_type -> livekit.UpdateParticipantMetadataRequest - 12, // 12: livekit.RoomService.CreateRoom:output_type -> livekit.Room + 12, // 11: livekit.RoomService.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest + 13, // 12: livekit.RoomService.CreateRoom:output_type -> livekit.Room 2, // 13: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse 4, // 14: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse 6, // 15: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse - 13, // 16: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo + 14, // 16: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo 8, // 17: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse 10, // 18: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse - 13, // 19: livekit.RoomService.UpdateParticipantMetadata:output_type -> livekit.ParticipantInfo + 14, // 19: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo 12, // [12:20] is the sub-list for method output_type 4, // [4:12] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name @@ -932,7 +1012,19 @@ func file_livekit_room_proto_init() { } } file_livekit_room_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateParticipantMetadataRequest); i { + switch v := v.(*ParticipantPermission); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_livekit_room_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateParticipantRequest); i { case 0: return &v.state case 1: @@ -950,7 +1042,7 @@ func file_livekit_room_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_livekit_room_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 13, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/livekit_room.twirp.go b/proto/livekit_room.twirp.go index 419198bff..9e71d79cb 100644 --- a/proto/livekit_room.twirp.go +++ b/proto/livekit_room.twirp.go @@ -62,7 +62,7 @@ type RoomService interface { MutePublishedTrack(context.Context, *MuteRoomTrackRequest) (*MuteRoomTrackResponse, error) // update participant metadata - UpdateParticipantMetadata(context.Context, *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) + UpdateParticipant(context.Context, *UpdateParticipantRequest) (*ParticipantInfo, error) } // =========================== @@ -99,7 +99,7 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi serviceURL + "GetParticipant", serviceURL + "RemoveParticipant", serviceURL + "MutePublishedTrack", - serviceURL + "UpdateParticipantMetadata", + serviceURL + "UpdateParticipant", } return &roomServiceProtobufClient{ @@ -432,20 +432,20 @@ func (c *roomServiceProtobufClient) callMutePublishedTrack(ctx context.Context, return out, nil } -func (c *roomServiceProtobufClient) UpdateParticipantMetadata(ctx context.Context, in *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { +func (c *roomServiceProtobufClient) UpdateParticipant(ctx context.Context, in *UpdateParticipantRequest) (*ParticipantInfo, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipantMetadata") - caller := c.callUpdateParticipantMetadata + ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipant") + caller := c.callUpdateParticipant if c.interceptor != nil { - caller = func(ctx context.Context, req *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { + caller = func(ctx context.Context, req *UpdateParticipantRequest) (*ParticipantInfo, error) { resp, err := c.interceptor( func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateParticipantMetadataRequest) + typedReq, ok := req.(*UpdateParticipantRequest) if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantMetadataRequest) when calling interceptor") + return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantRequest) when calling interceptor") } - return c.callUpdateParticipantMetadata(ctx, typedReq) + return c.callUpdateParticipant(ctx, typedReq) }, )(ctx, req) if resp != nil { @@ -461,7 +461,7 @@ func (c *roomServiceProtobufClient) UpdateParticipantMetadata(ctx context.Contex return caller(ctx, in) } -func (c *roomServiceProtobufClient) callUpdateParticipantMetadata(ctx context.Context, in *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { +func (c *roomServiceProtobufClient) callUpdateParticipant(ctx context.Context, in *UpdateParticipantRequest) (*ParticipantInfo, error) { out := new(ParticipantInfo) ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) if err != nil { @@ -512,7 +512,7 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C serviceURL + "GetParticipant", serviceURL + "RemoveParticipant", serviceURL + "MutePublishedTrack", - serviceURL + "UpdateParticipantMetadata", + serviceURL + "UpdateParticipant", } return &roomServiceJSONClient{ @@ -845,20 +845,20 @@ func (c *roomServiceJSONClient) callMutePublishedTrack(ctx context.Context, in * return out, nil } -func (c *roomServiceJSONClient) UpdateParticipantMetadata(ctx context.Context, in *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { +func (c *roomServiceJSONClient) UpdateParticipant(ctx context.Context, in *UpdateParticipantRequest) (*ParticipantInfo, error) { ctx = ctxsetters.WithPackageName(ctx, "livekit") ctx = ctxsetters.WithServiceName(ctx, "RoomService") - ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipantMetadata") - caller := c.callUpdateParticipantMetadata + ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipant") + caller := c.callUpdateParticipant if c.interceptor != nil { - caller = func(ctx context.Context, req *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { + caller = func(ctx context.Context, req *UpdateParticipantRequest) (*ParticipantInfo, error) { resp, err := c.interceptor( func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateParticipantMetadataRequest) + typedReq, ok := req.(*UpdateParticipantRequest) if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantMetadataRequest) when calling interceptor") + return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantRequest) when calling interceptor") } - return c.callUpdateParticipantMetadata(ctx, typedReq) + return c.callUpdateParticipant(ctx, typedReq) }, )(ctx, req) if resp != nil { @@ -874,7 +874,7 @@ func (c *roomServiceJSONClient) UpdateParticipantMetadata(ctx context.Context, i return caller(ctx, in) } -func (c *roomServiceJSONClient) callUpdateParticipantMetadata(ctx context.Context, in *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { +func (c *roomServiceJSONClient) callUpdateParticipant(ctx context.Context, in *UpdateParticipantRequest) (*ParticipantInfo, error) { out := new(ParticipantInfo) ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[7], in, out) if err != nil { @@ -996,8 +996,8 @@ func (s *roomServiceServer) ServeHTTP(resp http.ResponseWriter, req *http.Reques case "MutePublishedTrack": s.serveMutePublishedTrack(ctx, resp, req) return - case "UpdateParticipantMetadata": - s.serveUpdateParticipantMetadata(ctx, resp, req) + case "UpdateParticipant": + s.serveUpdateParticipant(ctx, resp, req) return default: msg := fmt.Sprintf("no handler for path %q", req.URL.Path) @@ -2231,7 +2231,7 @@ func (s *roomServiceServer) serveMutePublishedTrackProtobuf(ctx context.Context, callResponseSent(ctx, s.hooks) } -func (s *roomServiceServer) serveUpdateParticipantMetadata(ctx context.Context, resp http.ResponseWriter, req *http.Request) { +func (s *roomServiceServer) serveUpdateParticipant(ctx context.Context, resp http.ResponseWriter, req *http.Request) { header := req.Header.Get("Content-Type") i := strings.Index(header, ";") if i == -1 { @@ -2239,9 +2239,9 @@ func (s *roomServiceServer) serveUpdateParticipantMetadata(ctx context.Context, } switch strings.TrimSpace(strings.ToLower(header[:i])) { case "application/json": - s.serveUpdateParticipantMetadataJSON(ctx, resp, req) + s.serveUpdateParticipantJSON(ctx, resp, req) case "application/protobuf": - s.serveUpdateParticipantMetadataProtobuf(ctx, resp, req) + s.serveUpdateParticipantProtobuf(ctx, resp, req) default: msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type")) twerr := badRouteError(msg, req.Method, req.URL.Path) @@ -2249,32 +2249,32 @@ func (s *roomServiceServer) serveUpdateParticipantMetadata(ctx context.Context, } } -func (s *roomServiceServer) serveUpdateParticipantMetadataJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { +func (s *roomServiceServer) serveUpdateParticipantJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) { var err error - ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipantMetadata") + ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipant") ctx, err = callRequestRouted(ctx, s.hooks) if err != nil { s.writeError(ctx, resp, err) return } - reqContent := new(UpdateParticipantMetadataRequest) + reqContent := new(UpdateParticipantRequest) unmarshaler := jsonpb.Unmarshaler{AllowUnknownFields: true} if err = unmarshaler.Unmarshal(req.Body, reqContent); err != nil { s.writeError(ctx, resp, malformedRequestError("the json request could not be decoded")) return } - handler := s.RoomService.UpdateParticipantMetadata + handler := s.RoomService.UpdateParticipant if s.interceptor != nil { - handler = func(ctx context.Context, req *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { + handler = func(ctx context.Context, req *UpdateParticipantRequest) (*ParticipantInfo, error) { resp, err := s.interceptor( func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateParticipantMetadataRequest) + typedReq, ok := req.(*UpdateParticipantRequest) if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantMetadataRequest) when calling interceptor") + return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantRequest) when calling interceptor") } - return s.RoomService.UpdateParticipantMetadata(ctx, typedReq) + return s.RoomService.UpdateParticipant(ctx, typedReq) }, )(ctx, req) if resp != nil { @@ -2300,7 +2300,7 @@ func (s *roomServiceServer) serveUpdateParticipantMetadataJSON(ctx context.Conte return } if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *ParticipantInfo and nil error while calling UpdateParticipantMetadata. nil responses are not supported")) + s.writeError(ctx, resp, twirp.InternalError("received a nil *ParticipantInfo and nil error while calling UpdateParticipant. nil responses are not supported")) return } @@ -2327,9 +2327,9 @@ func (s *roomServiceServer) serveUpdateParticipantMetadataJSON(ctx context.Conte callResponseSent(ctx, s.hooks) } -func (s *roomServiceServer) serveUpdateParticipantMetadataProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { +func (s *roomServiceServer) serveUpdateParticipantProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) { var err error - ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipantMetadata") + ctx = ctxsetters.WithMethodName(ctx, "UpdateParticipant") ctx, err = callRequestRouted(ctx, s.hooks) if err != nil { s.writeError(ctx, resp, err) @@ -2341,22 +2341,22 @@ func (s *roomServiceServer) serveUpdateParticipantMetadataProtobuf(ctx context.C s.writeError(ctx, resp, wrapInternal(err, "failed to read request body")) return } - reqContent := new(UpdateParticipantMetadataRequest) + reqContent := new(UpdateParticipantRequest) if err = proto.Unmarshal(buf, reqContent); err != nil { s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded")) return } - handler := s.RoomService.UpdateParticipantMetadata + handler := s.RoomService.UpdateParticipant if s.interceptor != nil { - handler = func(ctx context.Context, req *UpdateParticipantMetadataRequest) (*ParticipantInfo, error) { + handler = func(ctx context.Context, req *UpdateParticipantRequest) (*ParticipantInfo, error) { resp, err := s.interceptor( func(ctx context.Context, req interface{}) (interface{}, error) { - typedReq, ok := req.(*UpdateParticipantMetadataRequest) + typedReq, ok := req.(*UpdateParticipantRequest) if !ok { - return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantMetadataRequest) when calling interceptor") + return nil, twirp.InternalError("failed type assertion req.(*UpdateParticipantRequest) when calling interceptor") } - return s.RoomService.UpdateParticipantMetadata(ctx, typedReq) + return s.RoomService.UpdateParticipant(ctx, typedReq) }, )(ctx, req) if resp != nil { @@ -2382,7 +2382,7 @@ func (s *roomServiceServer) serveUpdateParticipantMetadataProtobuf(ctx context.C return } if respContent == nil { - s.writeError(ctx, resp, twirp.InternalError("received a nil *ParticipantInfo and nil error while calling UpdateParticipantMetadata. nil responses are not supported")) + s.writeError(ctx, resp, twirp.InternalError("received a nil *ParticipantInfo and nil error while calling UpdateParticipant. nil responses are not supported")) return } @@ -2968,44 +2968,47 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error) } var twirpFileDescriptor0 = []byte{ - // 609 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x4d, 0x6f, 0xd3, 0x40, - 0x10, 0x55, 0x68, 0xd3, 0x36, 0xd3, 0x16, 0x9a, 0x55, 0x50, 0x5d, 0x57, 0x20, 0x63, 0x0e, 0xa4, - 0x87, 0x26, 0x22, 0x1c, 0xe8, 0x81, 0x0b, 0x05, 0x84, 0x22, 0xb5, 0x52, 0xe5, 0x14, 0xf1, 0x71, - 0x09, 0x9b, 0x78, 0x68, 0x57, 0xcd, 0x7a, 0x8d, 0xbd, 0x8e, 0x92, 0xbf, 0xc0, 0x89, 0x9f, 0x8c, - 0x76, 0xbd, 0x76, 0xec, 0xc6, 0x49, 0x39, 0xc5, 0x33, 0xf3, 0xe6, 0xe3, 0xcd, 0xce, 0x53, 0x80, - 0x4c, 0xd8, 0x14, 0xef, 0x98, 0x1c, 0x46, 0x42, 0xf0, 0x4e, 0x18, 0x09, 0x29, 0xc8, 0xb6, 0xf1, - 0xd9, 0xad, 0x2c, 0xc8, 0x85, 0x8f, 0x93, 0x38, 0x0d, 0xbb, 0x7f, 0x6b, 0xd0, 0xfc, 0x10, 0x21, - 0x95, 0xe8, 0x09, 0xc1, 0x3d, 0xfc, 0x9d, 0x60, 0x2c, 0x09, 0x81, 0xcd, 0x80, 0x72, 0xb4, 0x6a, - 0x4e, 0xad, 0xdd, 0xf0, 0xf4, 0x37, 0x79, 0x09, 0xfb, 0xc8, 0x43, 0x39, 0x1f, 0x4a, 0xc6, 0x51, - 0x24, 0xd2, 0x7a, 0xe4, 0xd4, 0xda, 0xfb, 0xde, 0x9e, 0x76, 0x5e, 0xa7, 0x3e, 0x72, 0x02, 0x07, - 0x9c, 0xce, 0x86, 0x21, 0x8d, 0x24, 0x1b, 0xb3, 0x90, 0x06, 0x32, 0xb6, 0x36, 0x34, 0xee, 0x09, - 0xa7, 0xb3, 0xab, 0x82, 0x9b, 0x1c, 0xc2, 0x76, 0x20, 0x7c, 0x1c, 0x32, 0xdf, 0xda, 0xd4, 0x6d, - 0xb6, 0x94, 0xd9, 0xf7, 0x5d, 0x02, 0x07, 0x17, 0x2c, 0x96, 0x6a, 0x9e, 0xd8, 0x0c, 0xe4, 0x9e, - 0x41, 0xb3, 0xe0, 0x8b, 0x43, 0x11, 0xc4, 0x6a, 0xa2, 0xba, 0x22, 0x1a, 0x5b, 0x35, 0x67, 0xa3, - 0xbd, 0xdb, 0xdb, 0xef, 0x18, 0x86, 0x1d, 0x4d, 0x25, 0x8d, 0xb9, 0xaf, 0xa0, 0xf9, 0x11, 0x27, - 0xb8, 0xc4, 0x4f, 0x45, 0x33, 0x7e, 0xea, 0xdb, 0x6d, 0x01, 0x29, 0x02, 0xd3, 0x1e, 0xee, 0x29, - 0x1c, 0xaa, 0xc6, 0xc5, 0xc9, 0xd7, 0x15, 0xf9, 0x06, 0xd6, 0x32, 0xdc, 0x8c, 0xfb, 0x0e, 0xf6, - 0x4a, 0x7b, 0x49, 0xa7, 0xb6, 0xf2, 0xa9, 0x0b, 0x49, 0xfd, 0xe0, 0x97, 0xf0, 0x4a, 0x68, 0xb7, - 0x0f, 0x87, 0x6a, 0xb0, 0x22, 0xc8, 0xc7, 0x40, 0x32, 0x39, 0xaf, 0x1a, 0x84, 0xd8, 0xb0, 0xc3, - 0x4c, 0x5c, 0x3f, 0x54, 0xc3, 0xcb, 0x6d, 0xf7, 0x18, 0x8e, 0x3c, 0xe4, 0x62, 0x8a, 0x85, 0x62, - 0x39, 0xe1, 0x39, 0xb4, 0x2e, 0x93, 0x74, 0x09, 0xd7, 0x11, 0x1d, 0xdf, 0xad, 0x61, 0xbb, 0xae, - 0x09, 0x39, 0x86, 0x86, 0x54, 0xf9, 0xc3, 0x98, 0xf9, 0xfa, 0x04, 0x1a, 0xde, 0x8e, 0x76, 0x0c, - 0x98, 0x4f, 0x5a, 0x50, 0xe7, 0x89, 0xc4, 0xf4, 0xe5, 0x77, 0xbc, 0xd4, 0x70, 0xdf, 0xc3, 0xd3, - 0x7b, 0xad, 0xcd, 0xe6, 0xda, 0x50, 0xd7, 0xa9, 0xba, 0xf9, 0x6e, 0x8f, 0xe4, 0x2b, 0xd3, 0x30, - 0xbd, 0xac, 0x14, 0xe0, 0xce, 0xc0, 0xf9, 0x12, 0xfa, 0x54, 0x16, 0xa9, 0x5d, 0xa2, 0xa4, 0x3e, - 0x95, 0x34, 0x63, 0x72, 0x06, 0x5b, 0x92, 0x46, 0x37, 0x28, 0x4d, 0x39, 0xa7, 0x74, 0x37, 0x15, - 0x0b, 0xf6, 0x0c, 0x5e, 0xf1, 0xe5, 0xa6, 0x58, 0xc6, 0x37, 0xb3, 0x7b, 0x7f, 0xea, 0xb0, 0xab, - 0xf2, 0x07, 0x18, 0x4d, 0xd9, 0x18, 0xc9, 0x5b, 0x80, 0x85, 0xae, 0x88, 0x9d, 0xf7, 0x58, 0x12, - 0x9b, 0x5d, 0xbe, 0x5b, 0x72, 0x0e, 0x8d, 0xfc, 0xd4, 0xc9, 0x51, 0x1e, 0xbb, 0x2f, 0x09, 0xdb, - 0xae, 0x0a, 0x99, 0x85, 0x7d, 0x02, 0x58, 0xdc, 0x72, 0xa1, 0xf9, 0x92, 0x12, 0xec, 0xe3, 0xca, - 0x98, 0x29, 0xf3, 0x35, 0x55, 0x62, 0x49, 0xb6, 0x4e, 0xa9, 0x6d, 0x85, 0x2e, 0xec, 0x17, 0x6b, - 0x10, 0xa6, 0xf0, 0x05, 0x3c, 0xfe, 0x8c, 0xc5, 0x10, 0x79, 0xf0, 0x11, 0xec, 0x95, 0x42, 0x21, - 0xdf, 0xa1, 0xb9, 0x74, 0xcf, 0xff, 0x51, 0xd0, 0x5d, 0x20, 0x56, 0xa9, 0x81, 0x0c, 0x80, 0xa8, - 0x93, 0xbc, 0x4a, 0x46, 0x13, 0x16, 0xdf, 0xa2, 0xaf, 0x0f, 0x8e, 0x3c, 0xcb, 0x33, 0xab, 0xa4, - 0x62, 0x3f, 0x5f, 0x15, 0x36, 0x45, 0x7f, 0xc2, 0xd1, 0xca, 0x23, 0x25, 0x27, 0x79, 0xf2, 0x43, - 0x87, 0xbc, 0x7a, 0x23, 0xe7, 0xaf, 0x7f, 0x74, 0x6f, 0x98, 0xbc, 0x4d, 0x46, 0x9d, 0xb1, 0xe0, - 0x5d, 0x83, 0xca, 0x7e, 0x4f, 0x63, 0x8c, 0xa6, 0x18, 0x75, 0xf5, 0x1f, 0x40, 0xe6, 0x1c, 0x6d, - 0x69, 0xf3, 0xcd, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x85, 0xd4, 0xae, 0xf7, 0x44, 0x06, 0x00, - 0x00, + // 663 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4d, 0x6f, 0xd3, 0x40, + 0x10, 0x55, 0xe8, 0x57, 0x32, 0x69, 0xa1, 0x59, 0xa5, 0xaa, 0xeb, 0x8a, 0x12, 0xcc, 0x81, 0x70, + 0x68, 0x2a, 0xc2, 0x01, 0x0e, 0x08, 0x89, 0x02, 0x42, 0x95, 0x8a, 0x14, 0x39, 0x45, 0x7c, 0x48, + 0x28, 0xda, 0xd8, 0x03, 0x5d, 0x35, 0xeb, 0x35, 0xde, 0x75, 0xd4, 0xfe, 0x0b, 0x7e, 0x05, 0x3f, + 0x92, 0x13, 0xda, 0xf5, 0x47, 0x36, 0x4d, 0x1c, 0x21, 0x4e, 0xf1, 0xce, 0xbc, 0x9d, 0x99, 0xf7, + 0x3c, 0xcf, 0x01, 0x32, 0x61, 0x53, 0xbc, 0x62, 0x6a, 0x94, 0x08, 0xc1, 0x7b, 0x71, 0x22, 0x94, + 0x20, 0x5b, 0x79, 0xcc, 0x6d, 0x17, 0x49, 0x2e, 0x42, 0x9c, 0xc8, 0x2c, 0xed, 0xfd, 0xaa, 0x41, + 0xeb, 0x4d, 0x82, 0x54, 0xa1, 0x2f, 0x04, 0xf7, 0xf1, 0x67, 0x8a, 0x52, 0x11, 0x02, 0xeb, 0x11, + 0xe5, 0xe8, 0xd4, 0x3a, 0xb5, 0x6e, 0xc3, 0x37, 0xcf, 0xe4, 0x11, 0xec, 0x20, 0x8f, 0xd5, 0xcd, + 0x48, 0x31, 0x8e, 0x22, 0x55, 0xce, 0x9d, 0x4e, 0xad, 0xbb, 0xe3, 0x6f, 0x9b, 0xe0, 0x45, 0x16, + 0x23, 0x4f, 0x60, 0x97, 0xd3, 0xeb, 0x51, 0x4c, 0x13, 0xc5, 0x02, 0x16, 0xd3, 0x48, 0x49, 0x67, + 0xcd, 0xe0, 0xee, 0x71, 0x7a, 0x3d, 0xb0, 0xc2, 0x64, 0x1f, 0xb6, 0x22, 0x11, 0xe2, 0x88, 0x85, + 0xce, 0xba, 0x69, 0xb3, 0xa9, 0x8f, 0x67, 0xa1, 0x47, 0x60, 0xf7, 0x9c, 0x49, 0xa5, 0xe7, 0x91, + 0xf9, 0x40, 0xde, 0x0b, 0x68, 0x59, 0x31, 0x19, 0x8b, 0x48, 0xea, 0x89, 0x36, 0x34, 0x51, 0xe9, + 0xd4, 0x3a, 0x6b, 0xdd, 0x66, 0x7f, 0xa7, 0x97, 0x33, 0xec, 0x19, 0x2a, 0x59, 0xce, 0x7b, 0x0c, + 0xad, 0xb7, 0x38, 0xc1, 0x05, 0x7e, 0x3a, 0x5b, 0xf0, 0xd3, 0xcf, 0x5e, 0x1b, 0x88, 0x0d, 0xcc, + 0x7a, 0x78, 0xc7, 0xb0, 0xaf, 0x1b, 0xdb, 0x93, 0xaf, 0x2a, 0xf2, 0x19, 0x9c, 0x45, 0x78, 0x3e, + 0xee, 0x4b, 0xd8, 0x9e, 0xd3, 0x25, 0x9b, 0xda, 0x29, 0xa7, 0xb6, 0x2e, 0x9d, 0x45, 0xdf, 0x85, + 0x3f, 0x87, 0xf6, 0xce, 0x60, 0x5f, 0x0f, 0x66, 0x83, 0x42, 0x8c, 0x14, 0x53, 0x37, 0xcb, 0x06, + 0x21, 0x2e, 0xd4, 0x59, 0x9e, 0x37, 0x2f, 0xaa, 0xe1, 0x97, 0x67, 0xef, 0x10, 0x0e, 0x7c, 0xe4, + 0x62, 0x8a, 0x56, 0xb1, 0x92, 0xf0, 0x0d, 0xb4, 0x3f, 0xa4, 0x99, 0x08, 0x17, 0x09, 0x0d, 0xae, + 0x56, 0xb0, 0x5d, 0xd5, 0x84, 0x1c, 0x42, 0x43, 0xe9, 0xfb, 0x23, 0xc9, 0x42, 0xb3, 0x02, 0x0d, + 0xbf, 0x6e, 0x02, 0x43, 0x16, 0x92, 0x36, 0x6c, 0xf0, 0x54, 0x61, 0xf6, 0xe6, 0xeb, 0x7e, 0x76, + 0xf0, 0x5e, 0xc3, 0xde, 0xad, 0xd6, 0xb9, 0x72, 0x5d, 0xd8, 0x30, 0x57, 0x4d, 0xf3, 0x66, 0x9f, + 0x94, 0x92, 0x19, 0x98, 0x11, 0x2b, 0x03, 0x78, 0xdf, 0x60, 0xcf, 0x22, 0x35, 0xc0, 0x84, 0x33, + 0x29, 0x99, 0x88, 0xf4, 0xf6, 0x06, 0x34, 0x1a, 0xc9, 0x74, 0x2c, 0x83, 0x84, 0x8d, 0xb3, 0xd5, + 0xae, 0xfb, 0xdb, 0x01, 0x8d, 0x86, 0x45, 0x8c, 0x3c, 0x80, 0xa6, 0x06, 0xc5, 0xe9, 0x78, 0xc2, + 0xe4, 0xa5, 0xa1, 0x54, 0xf7, 0x21, 0xa0, 0xd1, 0x20, 0x8b, 0x78, 0xbf, 0x6b, 0xe0, 0x7c, 0x8c, + 0x43, 0xaa, 0xe6, 0xa5, 0xfb, 0x3f, 0x85, 0x5c, 0xa8, 0x73, 0x54, 0x34, 0xa4, 0x8a, 0x16, 0x02, + 0x15, 0x67, 0xf2, 0x0a, 0x20, 0x2e, 0x87, 0x37, 0x2a, 0x35, 0xfb, 0x47, 0xcb, 0x36, 0x65, 0x46, + 0xd1, 0xb7, 0x6e, 0xf4, 0xff, 0xac, 0x43, 0x53, 0xeb, 0x38, 0xc4, 0x64, 0xca, 0x02, 0x24, 0xcf, + 0x01, 0x66, 0x2e, 0x27, 0x6e, 0x59, 0x69, 0xc1, 0xfa, 0xee, 0xbc, 0x8b, 0xc8, 0x29, 0x34, 0x4a, + 0xe3, 0x91, 0x83, 0x32, 0x77, 0xdb, 0xa0, 0xae, 0xbb, 0x2c, 0x95, 0xbf, 0xbe, 0x77, 0x00, 0x33, + 0x67, 0x59, 0xcd, 0x17, 0x7c, 0xe9, 0x1e, 0x2e, 0xcd, 0xe5, 0x65, 0x3e, 0x65, 0xdf, 0x85, 0xb9, + 0x8f, 0x48, 0x67, 0xae, 0xed, 0x12, 0x97, 0xba, 0x0f, 0x57, 0x20, 0xf2, 0xc2, 0xe7, 0x70, 0xf7, + 0x3d, 0xda, 0x29, 0xab, 0x6c, 0x85, 0xe7, 0xdc, 0x4a, 0xdb, 0x92, 0x2f, 0xd0, 0x5a, 0x70, 0xd7, + 0x3f, 0x14, 0xf4, 0x66, 0x88, 0x2a, 0x6f, 0x92, 0x21, 0x10, 0x6d, 0x90, 0x7c, 0x1b, 0x31, 0x34, + 0xeb, 0x4f, 0xee, 0x97, 0x37, 0x97, 0x19, 0xd7, 0x3d, 0xaa, 0x4a, 0xe7, 0x45, 0x07, 0xd0, 0x5a, + 0x58, 0x69, 0x32, 0x53, 0xad, 0x6a, 0xdd, 0xab, 0x15, 0x38, 0x7d, 0xfa, 0xf5, 0xe4, 0x07, 0x53, + 0x97, 0xe9, 0xb8, 0x17, 0x08, 0x7e, 0x92, 0xa3, 0x8a, 0xdf, 0x63, 0x89, 0xc9, 0x14, 0x93, 0x13, + 0xf3, 0xf7, 0x53, 0x04, 0xc7, 0x9b, 0xe6, 0xf8, 0xec, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xde, + 0x27, 0x73, 0x48, 0xc2, 0x06, 0x00, 0x00, }