Compare commits
6 Commits
github.com
...
@livekit/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
499c17c480 | ||
|
|
690e17ffca | ||
|
|
677d114d56 | ||
|
|
86628c07da | ||
|
|
781992d0c7 | ||
|
|
8c4ed46b56 |
@@ -1,5 +1,11 @@
|
||||
# github.com/livekit/protocol
|
||||
|
||||
## 1.38.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- feat: MoveParticipant API - [#1065](https://github.com/livekit/protocol/pull/1065) ([@cnderrauber](https://github.com/cnderrauber))
|
||||
|
||||
## 1.37.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1362,6 +1362,105 @@ func (*ForwardParticipantResponse) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_room_proto_rawDescGZIP(), []int{21}
|
||||
}
|
||||
|
||||
type MoveParticipantRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// room to move participant from
|
||||
Room string `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"`
|
||||
// identity of the participant to move to
|
||||
Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
// room to move participant to
|
||||
DestinationRoom string `protobuf:"bytes,3,opt,name=destination_room,json=destinationRoom,proto3" json:"destination_room,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MoveParticipantRequest) Reset() {
|
||||
*x = MoveParticipantRequest{}
|
||||
mi := &file_livekit_room_proto_msgTypes[22]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *MoveParticipantRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*MoveParticipantRequest) ProtoMessage() {}
|
||||
|
||||
func (x *MoveParticipantRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_room_proto_msgTypes[22]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use MoveParticipantRequest.ProtoReflect.Descriptor instead.
|
||||
func (*MoveParticipantRequest) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_room_proto_rawDescGZIP(), []int{22}
|
||||
}
|
||||
|
||||
func (x *MoveParticipantRequest) GetRoom() string {
|
||||
if x != nil {
|
||||
return x.Room
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MoveParticipantRequest) GetIdentity() string {
|
||||
if x != nil {
|
||||
return x.Identity
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *MoveParticipantRequest) GetDestinationRoom() string {
|
||||
if x != nil {
|
||||
return x.DestinationRoom
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type MoveParticipantResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MoveParticipantResponse) Reset() {
|
||||
*x = MoveParticipantResponse{}
|
||||
mi := &file_livekit_room_proto_msgTypes[23]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *MoveParticipantResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*MoveParticipantResponse) ProtoMessage() {}
|
||||
|
||||
func (x *MoveParticipantResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_room_proto_msgTypes[23]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use MoveParticipantResponse.ProtoReflect.Descriptor instead.
|
||||
func (*MoveParticipantResponse) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_room_proto_rawDescGZIP(), []int{23}
|
||||
}
|
||||
|
||||
var File_livekit_room_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_livekit_room_proto_rawDesc = "" +
|
||||
@@ -1464,7 +1563,12 @@ const file_livekit_room_proto_rawDesc = "" +
|
||||
"\x04room\x18\x01 \x01(\tR\x04room\x12\x1a\n" +
|
||||
"\bidentity\x18\x02 \x01(\tR\bidentity\x12)\n" +
|
||||
"\x10destination_room\x18\x03 \x01(\tR\x0fdestinationRoom\"\x1c\n" +
|
||||
"\x1aForwardParticipantResponse2\xc5\a\n" +
|
||||
"\x1aForwardParticipantResponse\"s\n" +
|
||||
"\x16MoveParticipantRequest\x12\x12\n" +
|
||||
"\x04room\x18\x01 \x01(\tR\x04room\x12\x1a\n" +
|
||||
"\bidentity\x18\x02 \x01(\tR\bidentity\x12)\n" +
|
||||
"\x10destination_room\x18\x03 \x01(\tR\x0fdestinationRoom\"\x19\n" +
|
||||
"\x17MoveParticipantResponse2\x9b\b\n" +
|
||||
"\vRoomService\x127\n" +
|
||||
"\n" +
|
||||
"CreateRoom\x12\x1a.livekit.CreateRoomRequest\x1a\r.livekit.Room\x12B\n" +
|
||||
@@ -1479,7 +1583,8 @@ const file_livekit_room_proto_rawDesc = "" +
|
||||
"\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\x12?\n" +
|
||||
"\bSendData\x12\x18.livekit.SendDataRequest\x1a\x19.livekit.SendDataResponse\x12G\n" +
|
||||
"\x12UpdateRoomMetadata\x12\".livekit.UpdateRoomMetadataRequest\x1a\r.livekit.Room\x12]\n" +
|
||||
"\x12ForwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
||||
"\x12ForwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\x12T\n" +
|
||||
"\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponseBFZ#github.com/livekit/protocol/livekit\xaa\x02\rLiveKit.Proto\xea\x02\x0eLiveKit::Protob\x06proto3"
|
||||
|
||||
var (
|
||||
file_livekit_room_proto_rawDescOnce sync.Once
|
||||
@@ -1493,7 +1598,7 @@ func file_livekit_room_proto_rawDescGZIP() []byte {
|
||||
return file_livekit_room_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
||||
var file_livekit_room_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
||||
var file_livekit_room_proto_goTypes = []any{
|
||||
(*CreateRoomRequest)(nil), // 0: livekit.CreateRoomRequest
|
||||
(*RoomEgress)(nil), // 1: livekit.RoomEgress
|
||||
@@ -1517,34 +1622,36 @@ var file_livekit_room_proto_goTypes = []any{
|
||||
(*RoomConfiguration)(nil), // 19: livekit.RoomConfiguration
|
||||
(*ForwardParticipantRequest)(nil), // 20: livekit.ForwardParticipantRequest
|
||||
(*ForwardParticipantResponse)(nil), // 21: livekit.ForwardParticipantResponse
|
||||
nil, // 22: livekit.UpdateParticipantRequest.AttributesEntry
|
||||
(*RoomAgentDispatch)(nil), // 23: livekit.RoomAgentDispatch
|
||||
(*RoomCompositeEgressRequest)(nil), // 24: livekit.RoomCompositeEgressRequest
|
||||
(*AutoParticipantEgress)(nil), // 25: livekit.AutoParticipantEgress
|
||||
(*AutoTrackEgress)(nil), // 26: livekit.AutoTrackEgress
|
||||
(*Room)(nil), // 27: livekit.Room
|
||||
(*ParticipantInfo)(nil), // 28: livekit.ParticipantInfo
|
||||
(*TrackInfo)(nil), // 29: livekit.TrackInfo
|
||||
(*ParticipantPermission)(nil), // 30: livekit.ParticipantPermission
|
||||
(*ParticipantTracks)(nil), // 31: livekit.ParticipantTracks
|
||||
(DataPacket_Kind)(0), // 32: livekit.DataPacket.Kind
|
||||
(*MoveParticipantRequest)(nil), // 22: livekit.MoveParticipantRequest
|
||||
(*MoveParticipantResponse)(nil), // 23: livekit.MoveParticipantResponse
|
||||
nil, // 24: livekit.UpdateParticipantRequest.AttributesEntry
|
||||
(*RoomAgentDispatch)(nil), // 25: livekit.RoomAgentDispatch
|
||||
(*RoomCompositeEgressRequest)(nil), // 26: livekit.RoomCompositeEgressRequest
|
||||
(*AutoParticipantEgress)(nil), // 27: livekit.AutoParticipantEgress
|
||||
(*AutoTrackEgress)(nil), // 28: livekit.AutoTrackEgress
|
||||
(*Room)(nil), // 29: livekit.Room
|
||||
(*ParticipantInfo)(nil), // 30: livekit.ParticipantInfo
|
||||
(*TrackInfo)(nil), // 31: livekit.TrackInfo
|
||||
(*ParticipantPermission)(nil), // 32: livekit.ParticipantPermission
|
||||
(*ParticipantTracks)(nil), // 33: livekit.ParticipantTracks
|
||||
(DataPacket_Kind)(0), // 34: livekit.DataPacket.Kind
|
||||
}
|
||||
var file_livekit_room_proto_depIdxs = []int32{
|
||||
1, // 0: livekit.CreateRoomRequest.egress:type_name -> livekit.RoomEgress
|
||||
23, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch
|
||||
24, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest
|
||||
25, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress
|
||||
26, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress
|
||||
23, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch
|
||||
27, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room
|
||||
28, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo
|
||||
29, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo
|
||||
30, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission
|
||||
22, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry
|
||||
31, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks
|
||||
32, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind
|
||||
25, // 1: livekit.CreateRoomRequest.agents:type_name -> livekit.RoomAgentDispatch
|
||||
26, // 2: livekit.RoomEgress.room:type_name -> livekit.RoomCompositeEgressRequest
|
||||
27, // 3: livekit.RoomEgress.participant:type_name -> livekit.AutoParticipantEgress
|
||||
28, // 4: livekit.RoomEgress.tracks:type_name -> livekit.AutoTrackEgress
|
||||
25, // 5: livekit.RoomAgent.dispatches:type_name -> livekit.RoomAgentDispatch
|
||||
29, // 6: livekit.ListRoomsResponse.rooms:type_name -> livekit.Room
|
||||
30, // 7: livekit.ListParticipantsResponse.participants:type_name -> livekit.ParticipantInfo
|
||||
31, // 8: livekit.MuteRoomTrackResponse.track:type_name -> livekit.TrackInfo
|
||||
32, // 9: livekit.UpdateParticipantRequest.permission:type_name -> livekit.ParticipantPermission
|
||||
24, // 10: livekit.UpdateParticipantRequest.attributes:type_name -> livekit.UpdateParticipantRequest.AttributesEntry
|
||||
33, // 11: livekit.UpdateSubscriptionsRequest.participant_tracks:type_name -> livekit.ParticipantTracks
|
||||
34, // 12: livekit.SendDataRequest.kind:type_name -> livekit.DataPacket.Kind
|
||||
1, // 13: livekit.RoomConfiguration.egress:type_name -> livekit.RoomEgress
|
||||
23, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch
|
||||
25, // 14: livekit.RoomConfiguration.agents:type_name -> livekit.RoomAgentDispatch
|
||||
0, // 15: livekit.RoomService.CreateRoom:input_type -> livekit.CreateRoomRequest
|
||||
3, // 16: livekit.RoomService.ListRooms:input_type -> livekit.ListRoomsRequest
|
||||
5, // 17: livekit.RoomService.DeleteRoom:input_type -> livekit.DeleteRoomRequest
|
||||
@@ -1557,20 +1664,22 @@ var file_livekit_room_proto_depIdxs = []int32{
|
||||
16, // 24: livekit.RoomService.SendData:input_type -> livekit.SendDataRequest
|
||||
18, // 25: livekit.RoomService.UpdateRoomMetadata:input_type -> livekit.UpdateRoomMetadataRequest
|
||||
20, // 26: livekit.RoomService.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest
|
||||
27, // 27: livekit.RoomService.CreateRoom:output_type -> livekit.Room
|
||||
4, // 28: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse
|
||||
6, // 29: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse
|
||||
8, // 30: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse
|
||||
28, // 31: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo
|
||||
10, // 32: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse
|
||||
12, // 33: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse
|
||||
28, // 34: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo
|
||||
15, // 35: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse
|
||||
17, // 36: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse
|
||||
27, // 37: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room
|
||||
21, // 38: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse
|
||||
27, // [27:39] is the sub-list for method output_type
|
||||
15, // [15:27] is the sub-list for method input_type
|
||||
22, // 27: livekit.RoomService.MoveParticipant:input_type -> livekit.MoveParticipantRequest
|
||||
29, // 28: livekit.RoomService.CreateRoom:output_type -> livekit.Room
|
||||
4, // 29: livekit.RoomService.ListRooms:output_type -> livekit.ListRoomsResponse
|
||||
6, // 30: livekit.RoomService.DeleteRoom:output_type -> livekit.DeleteRoomResponse
|
||||
8, // 31: livekit.RoomService.ListParticipants:output_type -> livekit.ListParticipantsResponse
|
||||
30, // 32: livekit.RoomService.GetParticipant:output_type -> livekit.ParticipantInfo
|
||||
10, // 33: livekit.RoomService.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse
|
||||
12, // 34: livekit.RoomService.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse
|
||||
30, // 35: livekit.RoomService.UpdateParticipant:output_type -> livekit.ParticipantInfo
|
||||
15, // 36: livekit.RoomService.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse
|
||||
17, // 37: livekit.RoomService.SendData:output_type -> livekit.SendDataResponse
|
||||
29, // 38: livekit.RoomService.UpdateRoomMetadata:output_type -> livekit.Room
|
||||
21, // 39: livekit.RoomService.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse
|
||||
23, // 40: livekit.RoomService.MoveParticipant:output_type -> livekit.MoveParticipantResponse
|
||||
28, // [28:41] is the sub-list for method output_type
|
||||
15, // [15:28] is the sub-list for method input_type
|
||||
15, // [15:15] is the sub-list for extension type_name
|
||||
15, // [15:15] is the sub-list for extension extendee
|
||||
0, // [0:15] is the sub-list for field type_name
|
||||
@@ -1591,7 +1700,7 @@ func file_livekit_room_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_room_proto_rawDesc), len(file_livekit_room_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 23,
|
||||
NumMessages: 25,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
@@ -64,10 +64,17 @@ type RoomService interface {
|
||||
// Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin`
|
||||
UpdateRoomMetadata(context.Context, *UpdateRoomMetadataRequest) (*Room, error)
|
||||
|
||||
// Forward a participant's track(s) to another room. Requires `roomAdmin` and `destinationRoom`. The forwarding will
|
||||
// Cloud-only
|
||||
// a connected participant's track(s) to another room. Requires `roomAdmin` and `destinationRoom`. The forwarding will
|
||||
// stop when the participant leaves the room or `RemoveParticipant` has been called in the destination room.
|
||||
// A participant can be forwarded to multiple rooms. The destination room will be created if it does not exist.
|
||||
ForwardParticipant(context.Context, *ForwardParticipantRequest) (*ForwardParticipantResponse, error)
|
||||
|
||||
// Cloud-only
|
||||
// Move a connected participant to a different room. Requires `roomAdmin` and `destinationRoom`.
|
||||
// The participant will be removed from the current room and added to the destination room.
|
||||
// From the other observers' perspective, the participant would've disconnected from the previous room and joined the new one.
|
||||
MoveParticipant(context.Context, *MoveParticipantRequest) (*MoveParticipantResponse, error)
|
||||
}
|
||||
|
||||
// ===========================
|
||||
@@ -76,7 +83,7 @@ type RoomService interface {
|
||||
|
||||
type roomServiceProtobufClient struct {
|
||||
client HTTPClient
|
||||
urls [12]string
|
||||
urls [13]string
|
||||
interceptor twirp.Interceptor
|
||||
opts twirp.ClientOptions
|
||||
}
|
||||
@@ -104,7 +111,7 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi
|
||||
// Build method URLs: <baseURL>[<prefix>]/<package>.<Service>/<Method>
|
||||
serviceURL := sanitizeBaseURL(baseURL)
|
||||
serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService")
|
||||
urls := [12]string{
|
||||
urls := [13]string{
|
||||
serviceURL + "CreateRoom",
|
||||
serviceURL + "ListRooms",
|
||||
serviceURL + "DeleteRoom",
|
||||
@@ -117,6 +124,7 @@ func NewRoomServiceProtobufClient(baseURL string, client HTTPClient, opts ...twi
|
||||
serviceURL + "SendData",
|
||||
serviceURL + "UpdateRoomMetadata",
|
||||
serviceURL + "ForwardParticipant",
|
||||
serviceURL + "MoveParticipant",
|
||||
}
|
||||
|
||||
return &roomServiceProtobufClient{
|
||||
@@ -679,13 +687,59 @@ func (c *roomServiceProtobufClient) callForwardParticipant(ctx context.Context,
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *roomServiceProtobufClient) MoveParticipant(ctx context.Context, in *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
ctx = ctxsetters.WithPackageName(ctx, "livekit")
|
||||
ctx = ctxsetters.WithServiceName(ctx, "RoomService")
|
||||
ctx = ctxsetters.WithMethodName(ctx, "MoveParticipant")
|
||||
caller := c.callMoveParticipant
|
||||
if c.interceptor != nil {
|
||||
caller = func(ctx context.Context, req *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
resp, err := c.interceptor(
|
||||
func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
typedReq, ok := req.(*MoveParticipantRequest)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion req.(*MoveParticipantRequest) when calling interceptor")
|
||||
}
|
||||
return c.callMoveParticipant(ctx, typedReq)
|
||||
},
|
||||
)(ctx, req)
|
||||
if resp != nil {
|
||||
typedResp, ok := resp.(*MoveParticipantResponse)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion resp.(*MoveParticipantResponse) when calling interceptor")
|
||||
}
|
||||
return typedResp, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return caller(ctx, in)
|
||||
}
|
||||
|
||||
func (c *roomServiceProtobufClient) callMoveParticipant(ctx context.Context, in *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
out := new(MoveParticipantResponse)
|
||||
ctx, err := doProtobufRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out)
|
||||
if err != nil {
|
||||
twerr, ok := err.(twirp.Error)
|
||||
if !ok {
|
||||
twerr = twirp.InternalErrorWith(err)
|
||||
}
|
||||
callClientError(ctx, c.opts.Hooks, twerr)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
callClientResponseReceived(ctx, c.opts.Hooks)
|
||||
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// =======================
|
||||
// RoomService JSON Client
|
||||
// =======================
|
||||
|
||||
type roomServiceJSONClient struct {
|
||||
client HTTPClient
|
||||
urls [12]string
|
||||
urls [13]string
|
||||
interceptor twirp.Interceptor
|
||||
opts twirp.ClientOptions
|
||||
}
|
||||
@@ -713,7 +767,7 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C
|
||||
// Build method URLs: <baseURL>[<prefix>]/<package>.<Service>/<Method>
|
||||
serviceURL := sanitizeBaseURL(baseURL)
|
||||
serviceURL += baseServicePath(pathPrefix, "livekit", "RoomService")
|
||||
urls := [12]string{
|
||||
urls := [13]string{
|
||||
serviceURL + "CreateRoom",
|
||||
serviceURL + "ListRooms",
|
||||
serviceURL + "DeleteRoom",
|
||||
@@ -726,6 +780,7 @@ func NewRoomServiceJSONClient(baseURL string, client HTTPClient, opts ...twirp.C
|
||||
serviceURL + "SendData",
|
||||
serviceURL + "UpdateRoomMetadata",
|
||||
serviceURL + "ForwardParticipant",
|
||||
serviceURL + "MoveParticipant",
|
||||
}
|
||||
|
||||
return &roomServiceJSONClient{
|
||||
@@ -1288,6 +1343,52 @@ func (c *roomServiceJSONClient) callForwardParticipant(ctx context.Context, in *
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *roomServiceJSONClient) MoveParticipant(ctx context.Context, in *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
ctx = ctxsetters.WithPackageName(ctx, "livekit")
|
||||
ctx = ctxsetters.WithServiceName(ctx, "RoomService")
|
||||
ctx = ctxsetters.WithMethodName(ctx, "MoveParticipant")
|
||||
caller := c.callMoveParticipant
|
||||
if c.interceptor != nil {
|
||||
caller = func(ctx context.Context, req *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
resp, err := c.interceptor(
|
||||
func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
typedReq, ok := req.(*MoveParticipantRequest)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion req.(*MoveParticipantRequest) when calling interceptor")
|
||||
}
|
||||
return c.callMoveParticipant(ctx, typedReq)
|
||||
},
|
||||
)(ctx, req)
|
||||
if resp != nil {
|
||||
typedResp, ok := resp.(*MoveParticipantResponse)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion resp.(*MoveParticipantResponse) when calling interceptor")
|
||||
}
|
||||
return typedResp, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
return caller(ctx, in)
|
||||
}
|
||||
|
||||
func (c *roomServiceJSONClient) callMoveParticipant(ctx context.Context, in *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
out := new(MoveParticipantResponse)
|
||||
ctx, err := doJSONRequest(ctx, c.client, c.opts.Hooks, c.urls[12], in, out)
|
||||
if err != nil {
|
||||
twerr, ok := err.(twirp.Error)
|
||||
if !ok {
|
||||
twerr = twirp.InternalErrorWith(err)
|
||||
}
|
||||
callClientError(ctx, c.opts.Hooks, twerr)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
callClientResponseReceived(ctx, c.opts.Hooks)
|
||||
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// ==========================
|
||||
// RoomService Server Handler
|
||||
// ==========================
|
||||
@@ -1421,6 +1522,9 @@ func (s *roomServiceServer) ServeHTTP(resp http.ResponseWriter, req *http.Reques
|
||||
case "ForwardParticipant":
|
||||
s.serveForwardParticipant(ctx, resp, req)
|
||||
return
|
||||
case "MoveParticipant":
|
||||
s.serveMoveParticipant(ctx, resp, req)
|
||||
return
|
||||
default:
|
||||
msg := fmt.Sprintf("no handler for path %q", req.URL.Path)
|
||||
s.writeError(ctx, resp, badRouteError(msg, req.Method, req.URL.Path))
|
||||
@@ -3588,6 +3692,186 @@ func (s *roomServiceServer) serveForwardParticipantProtobuf(ctx context.Context,
|
||||
callResponseSent(ctx, s.hooks)
|
||||
}
|
||||
|
||||
func (s *roomServiceServer) serveMoveParticipant(ctx context.Context, resp http.ResponseWriter, req *http.Request) {
|
||||
header := req.Header.Get("Content-Type")
|
||||
i := strings.Index(header, ";")
|
||||
if i == -1 {
|
||||
i = len(header)
|
||||
}
|
||||
switch strings.TrimSpace(strings.ToLower(header[:i])) {
|
||||
case "application/json":
|
||||
s.serveMoveParticipantJSON(ctx, resp, req)
|
||||
case "application/protobuf":
|
||||
s.serveMoveParticipantProtobuf(ctx, resp, req)
|
||||
default:
|
||||
msg := fmt.Sprintf("unexpected Content-Type: %q", req.Header.Get("Content-Type"))
|
||||
twerr := badRouteError(msg, req.Method, req.URL.Path)
|
||||
s.writeError(ctx, resp, twerr)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *roomServiceServer) serveMoveParticipantJSON(ctx context.Context, resp http.ResponseWriter, req *http.Request) {
|
||||
var err error
|
||||
ctx = ctxsetters.WithMethodName(ctx, "MoveParticipant")
|
||||
ctx, err = callRequestRouted(ctx, s.hooks)
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, err)
|
||||
return
|
||||
}
|
||||
|
||||
d := json.NewDecoder(req.Body)
|
||||
rawReqBody := json.RawMessage{}
|
||||
if err := d.Decode(&rawReqBody); err != nil {
|
||||
s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err)
|
||||
return
|
||||
}
|
||||
reqContent := new(MoveParticipantRequest)
|
||||
unmarshaler := protojson.UnmarshalOptions{DiscardUnknown: true}
|
||||
if err = unmarshaler.Unmarshal(rawReqBody, reqContent); err != nil {
|
||||
s.handleRequestBodyError(ctx, resp, "the json request could not be decoded", err)
|
||||
return
|
||||
}
|
||||
|
||||
handler := s.RoomService.MoveParticipant
|
||||
if s.interceptor != nil {
|
||||
handler = func(ctx context.Context, req *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
resp, err := s.interceptor(
|
||||
func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
typedReq, ok := req.(*MoveParticipantRequest)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion req.(*MoveParticipantRequest) when calling interceptor")
|
||||
}
|
||||
return s.RoomService.MoveParticipant(ctx, typedReq)
|
||||
},
|
||||
)(ctx, req)
|
||||
if resp != nil {
|
||||
typedResp, ok := resp.(*MoveParticipantResponse)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion resp.(*MoveParticipantResponse) when calling interceptor")
|
||||
}
|
||||
return typedResp, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
// Call service method
|
||||
var respContent *MoveParticipantResponse
|
||||
func() {
|
||||
defer ensurePanicResponses(ctx, resp, s.hooks)
|
||||
respContent, err = handler(ctx, reqContent)
|
||||
}()
|
||||
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, err)
|
||||
return
|
||||
}
|
||||
if respContent == nil {
|
||||
s.writeError(ctx, resp, twirp.InternalError("received a nil *MoveParticipantResponse and nil error while calling MoveParticipant. nil responses are not supported"))
|
||||
return
|
||||
}
|
||||
|
||||
ctx = callResponsePrepared(ctx, s.hooks)
|
||||
|
||||
marshaler := &protojson.MarshalOptions{UseProtoNames: !s.jsonCamelCase, EmitUnpopulated: !s.jsonSkipDefaults}
|
||||
respBytes, err := marshaler.Marshal(respContent)
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, wrapInternal(err, "failed to marshal json response"))
|
||||
return
|
||||
}
|
||||
|
||||
ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK)
|
||||
resp.Header().Set("Content-Type", "application/json")
|
||||
resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes)))
|
||||
resp.WriteHeader(http.StatusOK)
|
||||
|
||||
if n, err := resp.Write(respBytes); err != nil {
|
||||
msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error())
|
||||
twerr := twirp.NewError(twirp.Unknown, msg)
|
||||
ctx = callError(ctx, s.hooks, twerr)
|
||||
}
|
||||
callResponseSent(ctx, s.hooks)
|
||||
}
|
||||
|
||||
func (s *roomServiceServer) serveMoveParticipantProtobuf(ctx context.Context, resp http.ResponseWriter, req *http.Request) {
|
||||
var err error
|
||||
ctx = ctxsetters.WithMethodName(ctx, "MoveParticipant")
|
||||
ctx, err = callRequestRouted(ctx, s.hooks)
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, err)
|
||||
return
|
||||
}
|
||||
|
||||
buf, err := io.ReadAll(req.Body)
|
||||
if err != nil {
|
||||
s.handleRequestBodyError(ctx, resp, "failed to read request body", err)
|
||||
return
|
||||
}
|
||||
reqContent := new(MoveParticipantRequest)
|
||||
if err = proto.Unmarshal(buf, reqContent); err != nil {
|
||||
s.writeError(ctx, resp, malformedRequestError("the protobuf request could not be decoded"))
|
||||
return
|
||||
}
|
||||
|
||||
handler := s.RoomService.MoveParticipant
|
||||
if s.interceptor != nil {
|
||||
handler = func(ctx context.Context, req *MoveParticipantRequest) (*MoveParticipantResponse, error) {
|
||||
resp, err := s.interceptor(
|
||||
func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
typedReq, ok := req.(*MoveParticipantRequest)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion req.(*MoveParticipantRequest) when calling interceptor")
|
||||
}
|
||||
return s.RoomService.MoveParticipant(ctx, typedReq)
|
||||
},
|
||||
)(ctx, req)
|
||||
if resp != nil {
|
||||
typedResp, ok := resp.(*MoveParticipantResponse)
|
||||
if !ok {
|
||||
return nil, twirp.InternalError("failed type assertion resp.(*MoveParticipantResponse) when calling interceptor")
|
||||
}
|
||||
return typedResp, err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
// Call service method
|
||||
var respContent *MoveParticipantResponse
|
||||
func() {
|
||||
defer ensurePanicResponses(ctx, resp, s.hooks)
|
||||
respContent, err = handler(ctx, reqContent)
|
||||
}()
|
||||
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, err)
|
||||
return
|
||||
}
|
||||
if respContent == nil {
|
||||
s.writeError(ctx, resp, twirp.InternalError("received a nil *MoveParticipantResponse and nil error while calling MoveParticipant. nil responses are not supported"))
|
||||
return
|
||||
}
|
||||
|
||||
ctx = callResponsePrepared(ctx, s.hooks)
|
||||
|
||||
respBytes, err := proto.Marshal(respContent)
|
||||
if err != nil {
|
||||
s.writeError(ctx, resp, wrapInternal(err, "failed to marshal proto response"))
|
||||
return
|
||||
}
|
||||
|
||||
ctx = ctxsetters.WithStatusCode(ctx, http.StatusOK)
|
||||
resp.Header().Set("Content-Type", "application/protobuf")
|
||||
resp.Header().Set("Content-Length", strconv.Itoa(len(respBytes)))
|
||||
resp.WriteHeader(http.StatusOK)
|
||||
if n, err := resp.Write(respBytes); err != nil {
|
||||
msg := fmt.Sprintf("failed to write response, %d of %d bytes written: %s", n, len(respBytes), err.Error())
|
||||
twerr := twirp.NewError(twirp.Unknown, msg)
|
||||
ctx = callError(ctx, s.hooks, twerr)
|
||||
}
|
||||
callResponseSent(ctx, s.hooks)
|
||||
}
|
||||
|
||||
func (s *roomServiceServer) ServiceDescriptor() ([]byte, int) {
|
||||
return twirpFileDescriptor3, 0
|
||||
}
|
||||
@@ -3604,89 +3888,91 @@ func (s *roomServiceServer) PathPrefix() string {
|
||||
}
|
||||
|
||||
var twirpFileDescriptor3 = []byte{
|
||||
// 1339 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x5b, 0x6f, 0xdc, 0x44,
|
||||
0x14, 0x66, 0xaf, 0x59, 0x9f, 0xcd, 0x6d, 0xa7, 0x29, 0x75, 0x9c, 0xb6, 0xa4, 0x0e, 0x88, 0x2d,
|
||||
0xa5, 0x29, 0x2c, 0x42, 0xad, 0x22, 0x6e, 0x49, 0x93, 0x96, 0xa8, 0xad, 0xb4, 0x38, 0x45, 0x5c,
|
||||
0x24, 0x64, 0xbc, 0xeb, 0x69, 0x3a, 0xca, 0xfa, 0x82, 0x67, 0x1c, 0xba, 0x6f, 0x3c, 0xf6, 0xb7,
|
||||
0xf0, 0x0f, 0xf8, 0x01, 0xbc, 0xf1, 0xc8, 0xaf, 0xe0, 0x3f, 0x20, 0xa1, 0xb9, 0xac, 0x3d, 0xde,
|
||||
0xf5, 0x6e, 0x4b, 0xc4, 0x03, 0x6f, 0x9e, 0x73, 0xbe, 0x39, 0xf7, 0x73, 0xe6, 0x18, 0xd0, 0x88,
|
||||
0x9c, 0xe3, 0x33, 0xc2, 0xdc, 0x24, 0x8a, 0x82, 0xdd, 0x38, 0x89, 0x58, 0x84, 0x96, 0x14, 0xcd,
|
||||
0xda, 0x98, 0x30, 0x83, 0xc8, 0xc7, 0x23, 0x2a, 0xd9, 0x39, 0x15, 0x9f, 0x26, 0x98, 0x4e, 0xa8,
|
||||
0x57, 0x27, 0x54, 0xef, 0x14, 0x87, 0xcc, 0xf5, 0x09, 0x8d, 0x3d, 0x36, 0x7c, 0x2e, 0xb9, 0xf6,
|
||||
0xdf, 0x35, 0xe8, 0xdc, 0x4f, 0xb0, 0xc7, 0xb0, 0x13, 0x45, 0x81, 0x83, 0x7f, 0x4a, 0x31, 0x65,
|
||||
0x08, 0x41, 0x3d, 0xf4, 0x02, 0x6c, 0x56, 0xb6, 0x2b, 0x5d, 0xc3, 0x11, 0xdf, 0xe8, 0x2d, 0x68,
|
||||
0x73, 0x53, 0xdc, 0x38, 0xc1, 0x14, 0x33, 0x73, 0x59, 0xb0, 0x80, 0x93, 0xfa, 0x82, 0x82, 0x76,
|
||||
0x60, 0x05, 0x07, 0x31, 0x1b, 0xbb, 0x8c, 0x04, 0x38, 0x4a, 0x99, 0x59, 0xdd, 0xae, 0x74, 0x57,
|
||||
0x9c, 0x65, 0x41, 0x7c, 0x2a, 0x69, 0xe8, 0x16, 0x74, 0x7c, 0x1c, 0x7b, 0x09, 0x4b, 0x13, 0x9c,
|
||||
0x01, 0x41, 0x00, 0xd7, 0x33, 0xc6, 0x04, 0x7c, 0x13, 0xd6, 0x03, 0xef, 0x85, 0xcb, 0xa9, 0x64,
|
||||
0x48, 0x62, 0x2f, 0x64, 0xd4, 0xac, 0x09, 0xec, 0x5a, 0xe0, 0xbd, 0xe8, 0x6b, 0x64, 0x74, 0x05,
|
||||
0x96, 0xc2, 0xc8, 0xc7, 0x2e, 0xf1, 0xcd, 0xba, 0xb0, 0xac, 0xc9, 0x8f, 0xc7, 0x3e, 0xb2, 0xa0,
|
||||
0x15, 0x60, 0xe6, 0xf9, 0x1e, 0xf3, 0xcc, 0x86, 0xe0, 0x64, 0x67, 0x74, 0x0b, 0x9a, 0x32, 0x54,
|
||||
0x66, 0x73, 0xbb, 0xd2, 0x6d, 0xf7, 0x2e, 0xed, 0xaa, 0x58, 0xed, 0xf2, 0x60, 0x1c, 0x09, 0x96,
|
||||
0xa3, 0x20, 0xe8, 0x3d, 0xe8, 0x04, 0x24, 0x74, 0xe3, 0x91, 0x37, 0x8e, 0x52, 0xe6, 0xfa, 0x78,
|
||||
0xe4, 0x8d, 0xcd, 0x25, 0x65, 0x0d, 0x09, 0xfb, 0x92, 0x7e, 0xc8, 0xc9, 0x02, 0xcb, 0x0d, 0x2f,
|
||||
0x60, 0x5b, 0xb9, 0xe5, 0x3a, 0xf6, 0x06, 0x2c, 0xd3, 0x71, 0x38, 0x74, 0x29, 0x4b, 0xb0, 0x17,
|
||||
0x50, 0xd3, 0xd8, 0xae, 0x74, 0x5b, 0x4e, 0x9b, 0xd3, 0x4e, 0x24, 0x09, 0xbd, 0x03, 0xab, 0x09,
|
||||
0xe6, 0xc2, 0x5c, 0x1c, 0x7a, 0x83, 0x11, 0xf6, 0xcd, 0x15, 0x01, 0x5a, 0x91, 0xd4, 0x23, 0x49,
|
||||
0x44, 0x3d, 0x68, 0x8a, 0x1c, 0x53, 0x73, 0x75, 0xbb, 0xd6, 0x6d, 0xf7, 0xac, 0x82, 0x3b, 0xfb,
|
||||
0x9c, 0x75, 0xa8, 0xb2, 0xef, 0x28, 0xa4, 0xfd, 0x5b, 0x05, 0x20, 0x77, 0x16, 0xdd, 0x85, 0x3a,
|
||||
0xcf, 0xa8, 0x48, 0x7c, 0xbb, 0xb7, 0x53, 0x10, 0x70, 0x3f, 0x0a, 0xe2, 0x88, 0x12, 0x86, 0x55,
|
||||
0x60, 0x64, 0xad, 0x38, 0xe2, 0x02, 0xfa, 0x02, 0xda, 0x5a, 0x9a, 0x44, 0x96, 0xda, 0xbd, 0xeb,
|
||||
0xd9, 0xfd, 0xfd, 0x94, 0x45, 0x5a, 0xbe, 0x94, 0x04, 0xfd, 0x0a, 0xfa, 0x00, 0x9a, 0x2c, 0xf1,
|
||||
0x86, 0x67, 0x54, 0xd4, 0x4d, 0xbb, 0x67, 0x16, 0x2e, 0x3f, 0xe5, 0xac, 0x49, 0x46, 0x24, 0xce,
|
||||
0x7e, 0x08, 0x46, 0xe6, 0x18, 0xda, 0x03, 0x98, 0x94, 0x36, 0xa6, 0x66, 0xe5, 0x95, 0x01, 0xd0,
|
||||
0xd0, 0x76, 0x17, 0xd6, 0x1f, 0x13, 0xca, 0x38, 0x68, 0xe2, 0x16, 0xda, 0x80, 0x06, 0x2f, 0x7b,
|
||||
0x29, 0xca, 0x70, 0xe4, 0xc1, 0xbe, 0x07, 0x1d, 0x0d, 0x49, 0xe3, 0x28, 0xa4, 0x18, 0xed, 0x40,
|
||||
0x83, 0xc7, 0x60, 0xa2, 0x75, 0xa5, 0xa0, 0xd5, 0x91, 0x3c, 0xfb, 0x5d, 0xe8, 0x1c, 0xe2, 0x11,
|
||||
0x9e, 0xe9, 0xb3, 0x2c, 0xdc, 0x86, 0x8c, 0xa4, 0xbd, 0x01, 0x48, 0x07, 0x4a, 0x1d, 0xf6, 0x6d,
|
||||
0xb8, 0xc2, 0x15, 0xeb, 0x35, 0xbf, 0x48, 0xc8, 0xb7, 0x60, 0xce, 0xc2, 0x95, 0xb9, 0x9f, 0xc0,
|
||||
0x72, 0xa1, 0xa3, 0xa4, 0xd5, 0x79, 0xb8, 0xb5, 0x4b, 0xc7, 0xe1, 0xb3, 0xc8, 0x29, 0xa0, 0xed,
|
||||
0x63, 0xb8, 0xc2, 0x0d, 0xd3, 0x41, 0x3e, 0x0e, 0x19, 0x61, 0xe3, 0x32, 0x43, 0x78, 0xfb, 0x11,
|
||||
0xc5, 0x17, 0x79, 0x35, 0x9c, 0xec, 0x6c, 0x6f, 0xc1, 0xa6, 0x83, 0x83, 0xe8, 0x1c, 0x6b, 0xc2,
|
||||
0x32, 0x87, 0xc7, 0xb0, 0xf1, 0x24, 0x95, 0x41, 0x10, 0xb9, 0x5f, 0xe0, 0xed, 0x22, 0x25, 0x68,
|
||||
0x0b, 0x0c, 0x51, 0x2e, 0x2e, 0x25, 0xbe, 0x28, 0x4b, 0xc3, 0x69, 0x09, 0xc2, 0x09, 0xf1, 0x79,
|
||||
0x92, 0x83, 0x94, 0x61, 0x39, 0x33, 0x5a, 0x8e, 0x3c, 0xd8, 0xfb, 0x70, 0x79, 0x4a, 0xb5, 0x8a,
|
||||
0x5c, 0x17, 0x1a, 0xe2, 0xaa, 0x6a, 0x0f, 0x94, 0x85, 0x4c, 0xc0, 0x44, 0xb0, 0x24, 0xc0, 0xfe,
|
||||
0xa3, 0x0a, 0xe6, 0xd7, 0xb1, 0xef, 0xb1, 0xa2, 0x6f, 0x17, 0x73, 0x41, 0x1f, 0x61, 0xb5, 0xa9,
|
||||
0x11, 0xf6, 0x19, 0x40, 0x8c, 0x93, 0x80, 0x50, 0x4a, 0xa2, 0x50, 0xb8, 0xa1, 0xb7, 0x9d, 0xa6,
|
||||
0xbc, 0x9f, 0xa1, 0x1c, 0xed, 0x46, 0x36, 0xe9, 0x1b, 0xda, 0xa4, 0xff, 0x0a, 0xc0, 0x63, 0x2c,
|
||||
0x21, 0x83, 0x94, 0x61, 0x3e, 0x1a, 0x79, 0x79, 0x7c, 0x98, 0xc9, 0x9c, 0xe7, 0xd6, 0xee, 0x7e,
|
||||
0x76, 0xe7, 0x28, 0x64, 0xc9, 0xd8, 0xd1, 0x84, 0x58, 0x9f, 0xc2, 0xda, 0x14, 0x1b, 0xad, 0x43,
|
||||
0xed, 0x0c, 0x8f, 0x55, 0x10, 0xf8, 0x27, 0xcf, 0xc6, 0xb9, 0x37, 0x4a, 0xb1, 0x0a, 0x80, 0x3c,
|
||||
0xec, 0x55, 0xef, 0x55, 0xec, 0x3f, 0x2b, 0x60, 0x49, 0xbd, 0x27, 0xe9, 0x80, 0x0e, 0x13, 0x12,
|
||||
0x33, 0x12, 0x85, 0xf4, 0xa2, 0x01, 0xbd, 0x06, 0x90, 0xd5, 0x04, 0x7f, 0x51, 0x78, 0x83, 0x1b,
|
||||
0x93, 0xa2, 0xa0, 0xe8, 0x2a, 0x18, 0x54, 0xaa, 0x19, 0x60, 0x55, 0x19, 0x39, 0x01, 0x1d, 0x03,
|
||||
0xd2, 0x1a, 0xc2, 0x55, 0x33, 0xab, 0x31, 0x35, 0x70, 0xb4, 0xf8, 0x88, 0xe2, 0xa0, 0x4e, 0x27,
|
||||
0x9e, 0x26, 0xd9, 0xd7, 0x60, 0xab, 0xd4, 0x2b, 0xd5, 0x02, 0x2f, 0xab, 0xb0, 0x76, 0x82, 0x43,
|
||||
0xff, 0xd0, 0x63, 0xde, 0x22, 0x57, 0x11, 0xd4, 0x45, 0x6d, 0x70, 0x37, 0x97, 0x1d, 0xf1, 0x8d,
|
||||
0xde, 0x87, 0xfa, 0x19, 0x09, 0x65, 0xc5, 0xaf, 0x6a, 0xcd, 0xcd, 0x65, 0xf5, 0xbd, 0xe1, 0x19,
|
||||
0x66, 0xbb, 0x8f, 0x48, 0xe8, 0x3b, 0x02, 0x85, 0x6e, 0xc3, 0xba, 0x8f, 0x29, 0x23, 0xa1, 0xc7,
|
||||
0x2d, 0x90, 0x61, 0xa9, 0xf3, 0xb0, 0x1c, 0x54, 0xcd, 0x8a, 0xb3, 0xa6, 0xf1, 0x44, 0x80, 0x3e,
|
||||
0x86, 0x37, 0x75, 0xb8, 0x8a, 0x2b, 0x51, 0xc5, 0x62, 0x38, 0x97, 0x35, 0xee, 0x71, 0xc6, 0x44,
|
||||
0x9b, 0xd0, 0x60, 0x51, 0x4c, 0x86, 0xb2, 0xd8, 0xbe, 0x7c, 0xc3, 0x91, 0xc7, 0x97, 0x95, 0x8a,
|
||||
0x98, 0xb6, 0x51, 0x38, 0xc4, 0xe2, 0x41, 0x5d, 0x76, 0xe4, 0xe1, 0xa0, 0x05, 0x4d, 0x57, 0x40,
|
||||
0x6c, 0x04, 0xeb, 0x79, 0x24, 0x54, 0x78, 0x1e, 0xc1, 0xa6, 0x8c, 0x1e, 0x6f, 0xd4, 0x27, 0xaa,
|
||||
0x21, 0x5e, 0x51, 0x12, 0x59, 0x1f, 0x55, 0x8b, 0x7d, 0x64, 0xff, 0x52, 0x83, 0x8e, 0x7c, 0xe4,
|
||||
0xc2, 0x67, 0xe4, 0x34, 0x4d, 0x84, 0xed, 0xa5, 0x7b, 0xd0, 0xc5, 0xd7, 0x9c, 0xda, 0xbf, 0x58,
|
||||
0x73, 0xea, 0xe5, 0x6b, 0x4e, 0xbe, 0xb1, 0x34, 0xfe, 0xd7, 0x1b, 0x4b, 0xbe, 0x8a, 0xc0, 0x6b,
|
||||
0xaf, 0x22, 0xe7, 0xb0, 0xf9, 0x20, 0x4a, 0x7e, 0xf6, 0x12, 0xff, 0x3f, 0x98, 0x99, 0x37, 0x8b,
|
||||
0x15, 0x2d, 0xee, 0xca, 0xd9, 0xa9, 0x57, 0x33, 0x37, 0xc6, 0xbe, 0x0a, 0x56, 0x99, 0x5e, 0x59,
|
||||
0x65, 0xbd, 0xdf, 0x97, 0xa0, 0xcd, 0x61, 0x27, 0x38, 0x39, 0x27, 0x43, 0x8c, 0xee, 0x02, 0xe4,
|
||||
0xfb, 0x32, 0xca, 0xfd, 0x9a, 0x59, 0xa2, 0xad, 0xe2, 0x1e, 0x80, 0x0e, 0xc0, 0xc8, 0x56, 0x07,
|
||||
0xb4, 0x99, 0xf1, 0xa6, 0x17, 0x0f, 0xcb, 0x2a, 0x63, 0xa9, 0x07, 0xe8, 0x08, 0x20, 0xdf, 0x0d,
|
||||
0x34, 0xe5, 0x33, 0x9b, 0x85, 0xb5, 0x55, 0xca, 0x53, 0x62, 0xbe, 0x91, 0xfb, 0x4e, 0xa1, 0xb2,
|
||||
0xb6, 0x0b, 0x6a, 0x4b, 0xf6, 0x0c, 0xeb, 0xc6, 0x02, 0x84, 0x12, 0xfc, 0x18, 0x56, 0x1f, 0x62,
|
||||
0x9d, 0xa5, 0x89, 0x9d, 0xb3, 0x35, 0x58, 0x73, 0x17, 0x0f, 0xf4, 0x1d, 0x74, 0x66, 0xf6, 0x83,
|
||||
0xd7, 0x10, 0x68, 0xe7, 0x88, 0x79, 0xdb, 0x05, 0x3a, 0x01, 0xc4, 0x9f, 0xf8, 0x7e, 0x3a, 0x18,
|
||||
0x11, 0xfa, 0x1c, 0xfb, 0x62, 0x20, 0xa3, 0x6b, 0xd9, 0xcd, 0xb2, 0xd5, 0xc3, 0xba, 0x3e, 0x8f,
|
||||
0xad, 0x84, 0xf6, 0xa1, 0x33, 0xf3, 0x38, 0xa2, 0x1b, 0xaf, 0x7c, 0x38, 0x17, 0x44, 0xe0, 0x47,
|
||||
0xb8, 0x54, 0xf2, 0x40, 0xa0, 0x9d, 0x29, 0x99, 0x65, 0x8f, 0xa2, 0xf5, 0xf6, 0x62, 0x90, 0xb2,
|
||||
0xf9, 0x73, 0x68, 0x4d, 0x06, 0x2b, 0xca, 0xed, 0x98, 0x7a, 0x75, 0xac, 0xcd, 0x12, 0x8e, 0x12,
|
||||
0xf0, 0x10, 0xd0, 0xec, 0x14, 0x46, 0xf6, 0x94, 0xf2, 0x92, 0x11, 0x3d, 0xdd, 0x1f, 0x3f, 0x00,
|
||||
0x9a, 0x6d, 0x43, 0x4d, 0xd0, 0xdc, 0xd9, 0x60, 0xed, 0x2c, 0xc4, 0x48, 0x3b, 0x0f, 0x1e, 0x7c,
|
||||
0xbf, 0x73, 0x4a, 0xd8, 0xf3, 0x74, 0xb0, 0x3b, 0x8c, 0x82, 0x3b, 0xea, 0xc2, 0x1d, 0xf1, 0x13,
|
||||
0x3c, 0x8c, 0x46, 0x13, 0xc2, 0xaf, 0xd5, 0x95, 0xc7, 0xe4, 0x1c, 0x3f, 0xe2, 0xb9, 0xe0, 0xac,
|
||||
0xbf, 0xaa, 0xab, 0xea, 0xbc, 0xb7, 0x27, 0x08, 0x83, 0xa6, 0xb8, 0xf2, 0xd1, 0x3f, 0x01, 0x00,
|
||||
0x00, 0xff, 0xff, 0xa8, 0x0c, 0xfd, 0x0c, 0xa0, 0x0f, 0x00, 0x00,
|
||||
// 1375 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xe9, 0x6e, 0xdb, 0xc6,
|
||||
0x16, 0xbe, 0x5a, 0x23, 0x1d, 0x79, 0xd3, 0xc4, 0x89, 0x29, 0x3a, 0x8b, 0x42, 0xdf, 0x8b, 0xab,
|
||||
0xdc, 0xdc, 0x38, 0xad, 0x8a, 0x22, 0x81, 0xd1, 0xcd, 0x8e, 0x9d, 0xd4, 0x48, 0x0c, 0xa8, 0x74,
|
||||
0x8a, 0x2e, 0x40, 0xc1, 0x52, 0xe2, 0xc4, 0x19, 0x58, 0x5c, 0xca, 0x19, 0xba, 0xd1, 0xbf, 0xfe,
|
||||
0xcc, 0x3b, 0xf4, 0x0d, 0xfa, 0x06, 0x7d, 0x87, 0xfe, 0xec, 0x53, 0xf4, 0x1d, 0x0a, 0x14, 0xb3,
|
||||
0x88, 0x1c, 0x4a, 0x94, 0x92, 0x06, 0x2d, 0xd0, 0x7f, 0xe2, 0x39, 0xdf, 0x9c, 0x39, 0xf3, 0x9d,
|
||||
0x55, 0x80, 0xc6, 0xe4, 0x02, 0x9f, 0x13, 0xe6, 0xc4, 0x61, 0xe8, 0xef, 0x46, 0x71, 0xc8, 0x42,
|
||||
0x74, 0x49, 0xc9, 0xcc, 0xcd, 0xa9, 0xd2, 0x0f, 0x3d, 0x3c, 0xa6, 0x52, 0x9d, 0x49, 0xf1, 0x59,
|
||||
0x8c, 0xe9, 0x54, 0x7a, 0x6d, 0x2a, 0x75, 0xcf, 0x70, 0xc0, 0x1c, 0x8f, 0xd0, 0xc8, 0x65, 0xa3,
|
||||
0x17, 0x52, 0x6b, 0xfd, 0x5e, 0x81, 0xf6, 0xc3, 0x18, 0xbb, 0x0c, 0xdb, 0x61, 0xe8, 0xdb, 0xf8,
|
||||
0xbb, 0x04, 0x53, 0x86, 0x10, 0x54, 0x03, 0xd7, 0xc7, 0x46, 0xa9, 0x5b, 0xea, 0x35, 0x6d, 0xf1,
|
||||
0x1b, 0xdd, 0x84, 0x16, 0x77, 0xc5, 0x89, 0x62, 0x4c, 0x31, 0x33, 0x56, 0x84, 0x0a, 0xb8, 0x68,
|
||||
0x20, 0x24, 0x68, 0x07, 0x56, 0xb1, 0x1f, 0xb1, 0x89, 0xc3, 0x88, 0x8f, 0xc3, 0x84, 0x19, 0xe5,
|
||||
0x6e, 0xa9, 0xb7, 0x6a, 0xaf, 0x08, 0xe1, 0x33, 0x29, 0x43, 0x77, 0xa0, 0xed, 0xe1, 0xc8, 0x8d,
|
||||
0x59, 0x12, 0xe3, 0x14, 0x08, 0x02, 0xb8, 0x91, 0x2a, 0xa6, 0xe0, 0xdb, 0xb0, 0xe1, 0xbb, 0x2f,
|
||||
0x1d, 0x2e, 0x25, 0x23, 0x12, 0xb9, 0x01, 0xa3, 0x46, 0x45, 0x60, 0xd7, 0x7d, 0xf7, 0xe5, 0x40,
|
||||
0x13, 0xa3, 0x2d, 0xb8, 0x14, 0x84, 0x1e, 0x76, 0x88, 0x67, 0x54, 0x85, 0x67, 0x75, 0xfe, 0x79,
|
||||
0xec, 0x21, 0x13, 0x1a, 0x3e, 0x66, 0xae, 0xe7, 0x32, 0xd7, 0xa8, 0x09, 0x4d, 0xfa, 0x8d, 0xee,
|
||||
0x40, 0x5d, 0x52, 0x65, 0xd4, 0xbb, 0xa5, 0x5e, 0xab, 0x7f, 0x79, 0x57, 0x71, 0xb5, 0xcb, 0xc9,
|
||||
0x38, 0x12, 0x2a, 0x5b, 0x41, 0xd0, 0xff, 0xa0, 0xed, 0x93, 0xc0, 0x89, 0xc6, 0xee, 0x24, 0x4c,
|
||||
0x98, 0xe3, 0xe1, 0xb1, 0x3b, 0x31, 0x2e, 0x29, 0x6f, 0x48, 0x30, 0x90, 0xf2, 0x43, 0x2e, 0x16,
|
||||
0x58, 0xee, 0x78, 0x0e, 0xdb, 0xc8, 0x3c, 0xd7, 0xb1, 0xb7, 0x60, 0x85, 0x4e, 0x82, 0x91, 0x43,
|
||||
0x59, 0x8c, 0x5d, 0x9f, 0x1a, 0xcd, 0x6e, 0xa9, 0xd7, 0xb0, 0x5b, 0x5c, 0x76, 0x2a, 0x45, 0xe8,
|
||||
0x3f, 0xb0, 0x16, 0x63, 0x6e, 0xcc, 0xc1, 0x81, 0x3b, 0x1c, 0x63, 0xcf, 0x58, 0x15, 0xa0, 0x55,
|
||||
0x29, 0x3d, 0x92, 0x42, 0xd4, 0x87, 0xba, 0x88, 0x31, 0x35, 0xd6, 0xba, 0x95, 0x5e, 0xab, 0x6f,
|
||||
0xe6, 0x9e, 0xb3, 0xcf, 0x55, 0x87, 0x2a, 0xfa, 0xb6, 0x42, 0x5a, 0x3f, 0x97, 0x00, 0xb2, 0xc7,
|
||||
0xa2, 0xfb, 0x50, 0xe5, 0x11, 0x15, 0x81, 0x6f, 0xf5, 0x77, 0x72, 0x06, 0x1e, 0x86, 0x7e, 0x14,
|
||||
0x52, 0xc2, 0xb0, 0x22, 0x46, 0xe6, 0x8a, 0x2d, 0x0e, 0xa0, 0x4f, 0xa0, 0xa5, 0x85, 0x49, 0x44,
|
||||
0xa9, 0xd5, 0xbf, 0x91, 0x9e, 0xdf, 0x4f, 0x58, 0xa8, 0xc5, 0x4b, 0x59, 0xd0, 0x8f, 0xa0, 0x77,
|
||||
0xa0, 0xce, 0x62, 0x77, 0x74, 0x4e, 0x45, 0xde, 0xb4, 0xfa, 0x46, 0xee, 0xf0, 0x33, 0xae, 0x9a,
|
||||
0x46, 0x44, 0xe2, 0xac, 0xc7, 0xd0, 0x4c, 0x1f, 0x86, 0xf6, 0x00, 0xa6, 0xa9, 0x8d, 0xa9, 0x51,
|
||||
0x7a, 0x2d, 0x01, 0x1a, 0xda, 0xea, 0xc1, 0xc6, 0x53, 0x42, 0x19, 0x07, 0x4d, 0x9f, 0x85, 0x36,
|
||||
0xa1, 0xc6, 0xd3, 0x5e, 0x9a, 0x6a, 0xda, 0xf2, 0xc3, 0x7a, 0x00, 0x6d, 0x0d, 0x49, 0xa3, 0x30,
|
||||
0xa0, 0x18, 0xed, 0x40, 0x8d, 0x73, 0x30, 0xbd, 0x75, 0x35, 0x77, 0xab, 0x2d, 0x75, 0xd6, 0x7f,
|
||||
0xa1, 0x7d, 0x88, 0xc7, 0x78, 0xae, 0xce, 0x52, 0xba, 0x9b, 0x92, 0x49, 0x6b, 0x13, 0x90, 0x0e,
|
||||
0x94, 0x77, 0x58, 0x77, 0x61, 0x8b, 0x5f, 0xac, 0xe7, 0xfc, 0x32, 0x23, 0x5f, 0x82, 0x31, 0x0f,
|
||||
0x57, 0xee, 0x7e, 0x00, 0x2b, 0xb9, 0x8a, 0x92, 0x5e, 0x67, 0x74, 0x6b, 0x87, 0x8e, 0x83, 0xe7,
|
||||
0xa1, 0x9d, 0x43, 0x5b, 0xc7, 0xb0, 0xc5, 0x1d, 0xd3, 0x41, 0x1e, 0x0e, 0x18, 0x61, 0x93, 0x22,
|
||||
0x47, 0x78, 0xf9, 0x11, 0xa5, 0x17, 0x71, 0x6d, 0xda, 0xe9, 0xb7, 0xb5, 0x0d, 0x1d, 0x1b, 0xfb,
|
||||
0xe1, 0x05, 0xd6, 0x8c, 0xa5, 0x0f, 0x9e, 0xc0, 0xe6, 0x49, 0x22, 0x49, 0x10, 0xb1, 0x5f, 0xf2,
|
||||
0xda, 0x65, 0x97, 0xa0, 0x6d, 0x68, 0x8a, 0x74, 0x71, 0x28, 0xf1, 0x44, 0x5a, 0x36, 0xed, 0x86,
|
||||
0x10, 0x9c, 0x12, 0x8f, 0x07, 0xd9, 0x4f, 0x18, 0x96, 0x3d, 0xa3, 0x61, 0xcb, 0x0f, 0x6b, 0x1f,
|
||||
0xae, 0xcc, 0x5c, 0xad, 0x98, 0xeb, 0x41, 0x4d, 0x1c, 0x55, 0xe5, 0x81, 0x52, 0xca, 0x04, 0x4c,
|
||||
0x90, 0x25, 0x01, 0xd6, 0x2f, 0x65, 0x30, 0x3e, 0x8f, 0x3c, 0x97, 0xe5, 0xdf, 0xf6, 0x76, 0x4f,
|
||||
0xd0, 0x5b, 0x58, 0x65, 0xa6, 0x85, 0x7d, 0x04, 0x10, 0xe1, 0xd8, 0x27, 0x94, 0x92, 0x30, 0x10,
|
||||
0xcf, 0xd0, 0xcb, 0x4e, 0xbb, 0x7c, 0x90, 0xa2, 0x6c, 0xed, 0x44, 0xda, 0xe9, 0x6b, 0x5a, 0xa7,
|
||||
0xff, 0x0c, 0xc0, 0x65, 0x2c, 0x26, 0xc3, 0x84, 0x61, 0xde, 0x1a, 0x79, 0x7a, 0xbc, 0x9b, 0xda,
|
||||
0x5c, 0xf4, 0xac, 0xdd, 0xfd, 0xf4, 0xcc, 0x51, 0xc0, 0xe2, 0x89, 0xad, 0x19, 0x31, 0x3f, 0x84,
|
||||
0xf5, 0x19, 0x35, 0xda, 0x80, 0xca, 0x39, 0x9e, 0x28, 0x12, 0xf8, 0x4f, 0x1e, 0x8d, 0x0b, 0x77,
|
||||
0x9c, 0x60, 0x45, 0x80, 0xfc, 0xd8, 0x2b, 0x3f, 0x28, 0x59, 0xbf, 0x96, 0xc0, 0x94, 0xf7, 0x9e,
|
||||
0x26, 0x43, 0x3a, 0x8a, 0x49, 0xc4, 0x48, 0x18, 0xd0, 0xb7, 0x25, 0xf4, 0x3a, 0x40, 0x9a, 0x13,
|
||||
0x7c, 0xa2, 0xf0, 0x02, 0x6f, 0x4e, 0x93, 0x82, 0xa2, 0x6b, 0xd0, 0xa4, 0xf2, 0x9a, 0x21, 0x56,
|
||||
0x99, 0x91, 0x09, 0xd0, 0x31, 0x20, 0xad, 0x20, 0x1c, 0xd5, 0xb3, 0x6a, 0x33, 0x0d, 0x47, 0xe3,
|
||||
0x47, 0x24, 0x07, 0xb5, 0xdb, 0xd1, 0xac, 0xc8, 0xba, 0x0e, 0xdb, 0x85, 0xaf, 0x52, 0x25, 0xf0,
|
||||
0xaa, 0x0c, 0xeb, 0xa7, 0x38, 0xf0, 0x0e, 0x5d, 0xe6, 0x2e, 0x7b, 0x2a, 0x82, 0xaa, 0xc8, 0x0d,
|
||||
0xfe, 0xcc, 0x15, 0x5b, 0xfc, 0x46, 0xff, 0x87, 0xea, 0x39, 0x09, 0x64, 0xc6, 0xaf, 0x69, 0xc5,
|
||||
0xcd, 0x6d, 0x0d, 0xdc, 0xd1, 0x39, 0x66, 0xbb, 0x4f, 0x48, 0xe0, 0xd9, 0x02, 0x85, 0xee, 0xc2,
|
||||
0x86, 0x87, 0x29, 0x23, 0x81, 0xcb, 0x3d, 0x90, 0xb4, 0x54, 0x39, 0x2d, 0x07, 0x65, 0xa3, 0x64,
|
||||
0xaf, 0x6b, 0x3a, 0x41, 0xd0, 0xfb, 0x70, 0x55, 0x87, 0x2b, 0x5e, 0x89, 0x4a, 0x96, 0xa6, 0x7d,
|
||||
0x45, 0xd3, 0x1e, 0xa7, 0x4a, 0xd4, 0x81, 0x1a, 0x0b, 0x23, 0x32, 0x92, 0xc9, 0xf6, 0xe9, 0xbf,
|
||||
0x6c, 0xf9, 0xf9, 0xaa, 0x54, 0x12, 0xdd, 0x36, 0x0c, 0x46, 0x58, 0x0c, 0xd4, 0x15, 0x5b, 0x7e,
|
||||
0x1c, 0x34, 0xa0, 0xee, 0x08, 0x88, 0x85, 0x60, 0x23, 0x63, 0x42, 0xd1, 0xf3, 0x04, 0x3a, 0x92,
|
||||
0x3d, 0x5e, 0xa8, 0x27, 0xaa, 0x20, 0x5e, 0x93, 0x12, 0x69, 0x1d, 0x95, 0xf3, 0x75, 0x64, 0xfd,
|
||||
0x50, 0x81, 0xb6, 0x1c, 0x72, 0xc1, 0x73, 0x72, 0x96, 0xc4, 0xc2, 0xf7, 0xc2, 0x3d, 0xe8, 0xed,
|
||||
0xd7, 0x9c, 0xca, 0x9f, 0x58, 0x73, 0xaa, 0xc5, 0x6b, 0x4e, 0xb6, 0xb1, 0xd4, 0xfe, 0xd1, 0x1b,
|
||||
0x4b, 0xb6, 0x8a, 0xc0, 0x1b, 0xaf, 0x22, 0x17, 0xd0, 0x79, 0x14, 0xc6, 0xdf, 0xbb, 0xb1, 0xf7,
|
||||
0x17, 0xf4, 0xcc, 0xdb, 0xf9, 0x8c, 0x16, 0x67, 0x65, 0xef, 0xd4, 0xb3, 0x99, 0x3b, 0x63, 0x5d,
|
||||
0x03, 0xb3, 0xe8, 0x5e, 0x95, 0x65, 0x14, 0xae, 0x9e, 0xcc, 0x8e, 0xa8, 0xbf, 0xdd, 0xa5, 0x0e,
|
||||
0x6c, 0x9d, 0x14, 0xcf, 0xc5, 0xfe, 0x8f, 0x0d, 0x68, 0x71, 0xcc, 0x29, 0x8e, 0x2f, 0xc8, 0x08,
|
||||
0xa3, 0xfb, 0x00, 0xd9, 0xfe, 0x8e, 0x32, 0x9e, 0xe7, 0x96, 0x7a, 0x33, 0xbf, 0x97, 0xa0, 0x03,
|
||||
0x68, 0xa6, 0xab, 0x0c, 0xea, 0xa4, 0xba, 0xd9, 0x45, 0xc8, 0x34, 0x8b, 0x54, 0x6a, 0x20, 0x1e,
|
||||
0x01, 0x64, 0xbb, 0x8a, 0x76, 0xf9, 0xdc, 0xa6, 0x63, 0x6e, 0x17, 0xea, 0x94, 0x99, 0x2f, 0xe4,
|
||||
0xfe, 0x95, 0xcb, 0xf4, 0x6e, 0xee, 0xda, 0x82, 0xbd, 0xc7, 0xbc, 0xb5, 0x04, 0xa1, 0x0c, 0x3f,
|
||||
0x85, 0xb5, 0xc7, 0x58, 0x57, 0x69, 0x66, 0x17, 0x6c, 0x31, 0xe6, 0xc2, 0x45, 0x08, 0x7d, 0x05,
|
||||
0xed, 0xb9, 0x7d, 0xe5, 0x0d, 0x0c, 0x5a, 0x19, 0x62, 0xd1, 0xb6, 0x83, 0x4e, 0x01, 0xf1, 0x95,
|
||||
0x63, 0x90, 0x0c, 0xc7, 0x84, 0xbe, 0xc0, 0x9e, 0x18, 0x10, 0xe8, 0x7a, 0x7a, 0xb2, 0x68, 0x15,
|
||||
0x32, 0x6f, 0x2c, 0x52, 0x2b, 0xa3, 0x03, 0x68, 0xcf, 0x0d, 0x6b, 0x74, 0xeb, 0xb5, 0x83, 0x7c,
|
||||
0x09, 0x03, 0xdf, 0xc2, 0xe5, 0x82, 0x81, 0x85, 0x76, 0x66, 0x6c, 0x16, 0x0d, 0x69, 0xf3, 0xdf,
|
||||
0xcb, 0x41, 0xca, 0xe7, 0x8f, 0xa1, 0x31, 0x6d, 0xf4, 0x28, 0xf3, 0x63, 0x66, 0x0a, 0x9a, 0x9d,
|
||||
0x02, 0x8d, 0x32, 0xf0, 0x18, 0xd0, 0xfc, 0x54, 0x40, 0xd6, 0xcc, 0xe5, 0x05, 0x23, 0x63, 0xb6,
|
||||
0x3e, 0xbe, 0x01, 0x34, 0xdf, 0x16, 0x34, 0x43, 0x0b, 0x7b, 0x95, 0xb9, 0xb3, 0x14, 0xa3, 0xfc,
|
||||
0x7c, 0x06, 0xeb, 0x33, 0x25, 0x8e, 0x6e, 0x66, 0xf1, 0x2c, 0xec, 0x38, 0x66, 0x77, 0x31, 0x40,
|
||||
0x5a, 0x3d, 0x78, 0xf4, 0xf5, 0xce, 0x19, 0x61, 0x2f, 0x92, 0xe1, 0xee, 0x28, 0xf4, 0xef, 0x29,
|
||||
0xf4, 0x3d, 0xf1, 0x57, 0x7f, 0x14, 0x8e, 0xa7, 0x82, 0x9f, 0xca, 0xab, 0x4f, 0xc9, 0x05, 0x7e,
|
||||
0xc2, 0x23, 0xcc, 0x55, 0xbf, 0x95, 0xd7, 0xd4, 0xf7, 0xde, 0x9e, 0x10, 0x0c, 0xeb, 0xe2, 0xc8,
|
||||
0x7b, 0x7f, 0x04, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x1c, 0x24, 0x10, 0x86, 0x10, 0x00, 0x00,
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ func (x RequestResponse_Reason) Number() protoreflect.EnumNumber {
|
||||
|
||||
// Deprecated: Use RequestResponse_Reason.Descriptor instead.
|
||||
func (RequestResponse_Reason) EnumDescriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{40, 0}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{41, 0}
|
||||
}
|
||||
|
||||
type SignalRequest struct {
|
||||
@@ -644,6 +644,7 @@ type SignalResponse struct {
|
||||
// *SignalResponse_SubscriptionResponse
|
||||
// *SignalResponse_RequestResponse
|
||||
// *SignalResponse_TrackSubscribed
|
||||
// *SignalResponse_RoomMoved
|
||||
Message isSignalResponse_Message `protobuf_oneof:"message"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -884,6 +885,15 @@ func (x *SignalResponse) GetTrackSubscribed() *TrackSubscribed {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *SignalResponse) GetRoomMoved() *RoomMovedResponse {
|
||||
if x != nil {
|
||||
if x, ok := x.Message.(*SignalResponse_RoomMoved); ok {
|
||||
return x.RoomMoved
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type isSignalResponse_Message interface {
|
||||
isSignalResponse_Message()
|
||||
}
|
||||
@@ -999,6 +1009,11 @@ type SignalResponse_TrackSubscribed struct {
|
||||
TrackSubscribed *TrackSubscribed `protobuf:"bytes,23,opt,name=track_subscribed,json=trackSubscribed,proto3,oneof"`
|
||||
}
|
||||
|
||||
type SignalResponse_RoomMoved struct {
|
||||
// notify to the participant when they have been moved to a new room
|
||||
RoomMoved *RoomMovedResponse `protobuf:"bytes,24,opt,name=room_moved,json=roomMoved,proto3,oneof"`
|
||||
}
|
||||
|
||||
func (*SignalResponse_Join) isSignalResponse_Message() {}
|
||||
|
||||
func (*SignalResponse_Answer) isSignalResponse_Message() {}
|
||||
@@ -1043,6 +1058,8 @@ func (*SignalResponse_RequestResponse) isSignalResponse_Message() {}
|
||||
|
||||
func (*SignalResponse_TrackSubscribed) isSignalResponse_Message() {}
|
||||
|
||||
func (*SignalResponse_RoomMoved) isSignalResponse_Message() {}
|
||||
|
||||
type SimulcastCodec struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Codec string `protobuf:"bytes,1,opt,name=codec,proto3" json:"codec,omitempty"`
|
||||
@@ -2971,6 +2988,76 @@ func (x *SubscriptionPermissionUpdate) GetAllowed() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
type RoomMovedResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// information about the new room
|
||||
Room *Room `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"`
|
||||
// new reconnect token that can be used to reconnect to the new room
|
||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
|
||||
Participant *ParticipantInfo `protobuf:"bytes,3,opt,name=participant,proto3" json:"participant,omitempty"`
|
||||
OtherParticipants []*ParticipantInfo `protobuf:"bytes,4,rep,name=other_participants,json=otherParticipants,proto3" json:"other_participants,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) Reset() {
|
||||
*x = RoomMovedResponse{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[32]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RoomMovedResponse) ProtoMessage() {}
|
||||
|
||||
func (x *RoomMovedResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[32]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use RoomMovedResponse.ProtoReflect.Descriptor instead.
|
||||
func (*RoomMovedResponse) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{32}
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) GetRoom() *Room {
|
||||
if x != nil {
|
||||
return x.Room
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) GetParticipant() *ParticipantInfo {
|
||||
if x != nil {
|
||||
return x.Participant
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *RoomMovedResponse) GetOtherParticipants() []*ParticipantInfo {
|
||||
if x != nil {
|
||||
return x.OtherParticipants
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type SyncState struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// last subscribe answer before reconnecting
|
||||
@@ -2987,7 +3074,7 @@ type SyncState struct {
|
||||
|
||||
func (x *SyncState) Reset() {
|
||||
*x = SyncState{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[32]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[33]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -2999,7 +3086,7 @@ func (x *SyncState) String() string {
|
||||
func (*SyncState) ProtoMessage() {}
|
||||
|
||||
func (x *SyncState) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[32]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[33]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3012,7 +3099,7 @@ func (x *SyncState) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SyncState.ProtoReflect.Descriptor instead.
|
||||
func (*SyncState) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{32}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{33}
|
||||
}
|
||||
|
||||
func (x *SyncState) GetAnswer() *SessionDescription {
|
||||
@@ -3068,7 +3155,7 @@ type DataChannelInfo struct {
|
||||
|
||||
func (x *DataChannelInfo) Reset() {
|
||||
*x = DataChannelInfo{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[33]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[34]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3080,7 +3167,7 @@ func (x *DataChannelInfo) String() string {
|
||||
func (*DataChannelInfo) ProtoMessage() {}
|
||||
|
||||
func (x *DataChannelInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[33]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[34]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3093,7 +3180,7 @@ func (x *DataChannelInfo) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use DataChannelInfo.ProtoReflect.Descriptor instead.
|
||||
func (*DataChannelInfo) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{33}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{34}
|
||||
}
|
||||
|
||||
func (x *DataChannelInfo) GetLabel() string {
|
||||
@@ -3137,7 +3224,7 @@ type SimulateScenario struct {
|
||||
|
||||
func (x *SimulateScenario) Reset() {
|
||||
*x = SimulateScenario{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[34]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[35]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3149,7 +3236,7 @@ func (x *SimulateScenario) String() string {
|
||||
func (*SimulateScenario) ProtoMessage() {}
|
||||
|
||||
func (x *SimulateScenario) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[34]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[35]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3162,7 +3249,7 @@ func (x *SimulateScenario) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SimulateScenario.ProtoReflect.Descriptor instead.
|
||||
func (*SimulateScenario) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{34}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{35}
|
||||
}
|
||||
|
||||
func (x *SimulateScenario) GetScenario() isSimulateScenario_Scenario {
|
||||
@@ -3332,7 +3419,7 @@ type Ping struct {
|
||||
|
||||
func (x *Ping) Reset() {
|
||||
*x = Ping{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[35]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[36]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3344,7 +3431,7 @@ func (x *Ping) String() string {
|
||||
func (*Ping) ProtoMessage() {}
|
||||
|
||||
func (x *Ping) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[35]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[36]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3357,7 +3444,7 @@ func (x *Ping) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Ping.ProtoReflect.Descriptor instead.
|
||||
func (*Ping) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{35}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{36}
|
||||
}
|
||||
|
||||
func (x *Ping) GetTimestamp() int64 {
|
||||
@@ -3385,7 +3472,7 @@ type Pong struct {
|
||||
|
||||
func (x *Pong) Reset() {
|
||||
*x = Pong{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[36]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[37]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3397,7 +3484,7 @@ func (x *Pong) String() string {
|
||||
func (*Pong) ProtoMessage() {}
|
||||
|
||||
func (x *Pong) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[36]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[37]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3410,7 +3497,7 @@ func (x *Pong) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use Pong.ProtoReflect.Descriptor instead.
|
||||
func (*Pong) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{36}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{37}
|
||||
}
|
||||
|
||||
func (x *Pong) GetLastPingTimestamp() int64 {
|
||||
@@ -3436,7 +3523,7 @@ type RegionSettings struct {
|
||||
|
||||
func (x *RegionSettings) Reset() {
|
||||
*x = RegionSettings{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[37]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[38]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3448,7 +3535,7 @@ func (x *RegionSettings) String() string {
|
||||
func (*RegionSettings) ProtoMessage() {}
|
||||
|
||||
func (x *RegionSettings) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[37]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[38]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3461,7 +3548,7 @@ func (x *RegionSettings) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use RegionSettings.ProtoReflect.Descriptor instead.
|
||||
func (*RegionSettings) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{37}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{38}
|
||||
}
|
||||
|
||||
func (x *RegionSettings) GetRegions() []*RegionInfo {
|
||||
@@ -3482,7 +3569,7 @@ type RegionInfo struct {
|
||||
|
||||
func (x *RegionInfo) Reset() {
|
||||
*x = RegionInfo{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[38]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[39]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3494,7 +3581,7 @@ func (x *RegionInfo) String() string {
|
||||
func (*RegionInfo) ProtoMessage() {}
|
||||
|
||||
func (x *RegionInfo) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[38]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[39]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3507,7 +3594,7 @@ func (x *RegionInfo) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use RegionInfo.ProtoReflect.Descriptor instead.
|
||||
func (*RegionInfo) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{38}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{39}
|
||||
}
|
||||
|
||||
func (x *RegionInfo) GetRegion() string {
|
||||
@@ -3541,7 +3628,7 @@ type SubscriptionResponse struct {
|
||||
|
||||
func (x *SubscriptionResponse) Reset() {
|
||||
*x = SubscriptionResponse{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[39]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[40]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3553,7 +3640,7 @@ func (x *SubscriptionResponse) String() string {
|
||||
func (*SubscriptionResponse) ProtoMessage() {}
|
||||
|
||||
func (x *SubscriptionResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[39]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[40]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3566,7 +3653,7 @@ func (x *SubscriptionResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use SubscriptionResponse.ProtoReflect.Descriptor instead.
|
||||
func (*SubscriptionResponse) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{39}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{40}
|
||||
}
|
||||
|
||||
func (x *SubscriptionResponse) GetTrackSid() string {
|
||||
@@ -3594,7 +3681,7 @@ type RequestResponse struct {
|
||||
|
||||
func (x *RequestResponse) Reset() {
|
||||
*x = RequestResponse{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[40]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[41]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3606,7 +3693,7 @@ func (x *RequestResponse) String() string {
|
||||
func (*RequestResponse) ProtoMessage() {}
|
||||
|
||||
func (x *RequestResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[40]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[41]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3619,7 +3706,7 @@ func (x *RequestResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use RequestResponse.ProtoReflect.Descriptor instead.
|
||||
func (*RequestResponse) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{40}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{41}
|
||||
}
|
||||
|
||||
func (x *RequestResponse) GetRequestId() uint32 {
|
||||
@@ -3652,7 +3739,7 @@ type TrackSubscribed struct {
|
||||
|
||||
func (x *TrackSubscribed) Reset() {
|
||||
*x = TrackSubscribed{}
|
||||
mi := &file_livekit_rtc_proto_msgTypes[41]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[42]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -3664,7 +3751,7 @@ func (x *TrackSubscribed) String() string {
|
||||
func (*TrackSubscribed) ProtoMessage() {}
|
||||
|
||||
func (x *TrackSubscribed) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_livekit_rtc_proto_msgTypes[41]
|
||||
mi := &file_livekit_rtc_proto_msgTypes[42]
|
||||
if x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -3677,7 +3764,7 @@ func (x *TrackSubscribed) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use TrackSubscribed.ProtoReflect.Descriptor instead.
|
||||
func (*TrackSubscribed) Descriptor() ([]byte, []int) {
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{41}
|
||||
return file_livekit_rtc_proto_rawDescGZIP(), []int{42}
|
||||
}
|
||||
|
||||
func (x *TrackSubscribed) GetTrackSid() string {
|
||||
@@ -3712,7 +3799,7 @@ const file_livekit_rtc_proto_rawDesc = "" +
|
||||
"\bping_req\x18\x10 \x01(\v2\r.livekit.PingH\x00R\apingReq\x12N\n" +
|
||||
"\x12update_audio_track\x18\x11 \x01(\v2\x1e.livekit.UpdateLocalAudioTrackH\x00R\x10updateAudioTrack\x12N\n" +
|
||||
"\x12update_video_track\x18\x12 \x01(\v2\x1e.livekit.UpdateLocalVideoTrackH\x00R\x10updateVideoTrackB\t\n" +
|
||||
"\amessage\"\x97\v\n" +
|
||||
"\amessage\"\xd4\v\n" +
|
||||
"\x0eSignalResponse\x12+\n" +
|
||||
"\x04join\x18\x01 \x01(\v2\x15.livekit.JoinResponseH\x00R\x04join\x125\n" +
|
||||
"\x06answer\x18\x02 \x01(\v2\x1b.livekit.SessionDescriptionH\x00R\x06answer\x123\n" +
|
||||
@@ -3737,7 +3824,9 @@ const file_livekit_rtc_proto_rawDesc = "" +
|
||||
"\tpong_resp\x18\x14 \x01(\v2\r.livekit.PongH\x00R\bpongResp\x12T\n" +
|
||||
"\x15subscription_response\x18\x15 \x01(\v2\x1d.livekit.SubscriptionResponseH\x00R\x14subscriptionResponse\x12E\n" +
|
||||
"\x10request_response\x18\x16 \x01(\v2\x18.livekit.RequestResponseH\x00R\x0frequestResponse\x12E\n" +
|
||||
"\x10track_subscribed\x18\x17 \x01(\v2\x18.livekit.TrackSubscribedH\x00R\x0ftrackSubscribedB\t\n" +
|
||||
"\x10track_subscribed\x18\x17 \x01(\v2\x18.livekit.TrackSubscribedH\x00R\x0ftrackSubscribed\x12;\n" +
|
||||
"\n" +
|
||||
"room_moved\x18\x18 \x01(\v2\x1a.livekit.RoomMovedResponseH\x00R\troomMovedB\t\n" +
|
||||
"\amessage\"8\n" +
|
||||
"\x0eSimulcastCodec\x12\x14\n" +
|
||||
"\x05codec\x18\x01 \x01(\tR\x05codec\x12\x10\n" +
|
||||
@@ -3898,7 +3987,12 @@ const file_livekit_rtc_proto_rawDesc = "" +
|
||||
"\x1cSubscriptionPermissionUpdate\x12'\n" +
|
||||
"\x0fparticipant_sid\x18\x01 \x01(\tR\x0eparticipantSid\x12\x1b\n" +
|
||||
"\ttrack_sid\x18\x02 \x01(\tR\btrackSid\x12\x18\n" +
|
||||
"\aallowed\x18\x03 \x01(\bR\aallowed\"\xeb\x02\n" +
|
||||
"\aallowed\x18\x03 \x01(\bR\aallowed\"\xd1\x01\n" +
|
||||
"\x11RoomMovedResponse\x12!\n" +
|
||||
"\x04room\x18\x01 \x01(\v2\r.livekit.RoomR\x04room\x12\x14\n" +
|
||||
"\x05token\x18\x02 \x01(\tR\x05token\x12:\n" +
|
||||
"\vparticipant\x18\x03 \x01(\v2\x18.livekit.ParticipantInfoR\vparticipant\x12G\n" +
|
||||
"\x12other_participants\x18\x04 \x03(\v2\x18.livekit.ParticipantInfoR\x11otherParticipants\"\xeb\x02\n" +
|
||||
"\tSyncState\x123\n" +
|
||||
"\x06answer\x18\x01 \x01(\v2\x1b.livekit.SessionDescriptionR\x06answer\x12?\n" +
|
||||
"\fsubscription\x18\x02 \x01(\v2\x1b.livekit.UpdateSubscriptionR\fsubscription\x12F\n" +
|
||||
@@ -3977,7 +4071,7 @@ func file_livekit_rtc_proto_rawDescGZIP() []byte {
|
||||
}
|
||||
|
||||
var file_livekit_rtc_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
|
||||
var file_livekit_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 43)
|
||||
var file_livekit_rtc_proto_msgTypes = make([]protoimpl.MessageInfo, 44)
|
||||
var file_livekit_rtc_proto_goTypes = []any{
|
||||
(SignalTarget)(0), // 0: livekit.SignalTarget
|
||||
(StreamState)(0), // 1: livekit.StreamState
|
||||
@@ -4016,35 +4110,36 @@ var file_livekit_rtc_proto_goTypes = []any{
|
||||
(*TrackPermission)(nil), // 34: livekit.TrackPermission
|
||||
(*SubscriptionPermission)(nil), // 35: livekit.SubscriptionPermission
|
||||
(*SubscriptionPermissionUpdate)(nil), // 36: livekit.SubscriptionPermissionUpdate
|
||||
(*SyncState)(nil), // 37: livekit.SyncState
|
||||
(*DataChannelInfo)(nil), // 38: livekit.DataChannelInfo
|
||||
(*SimulateScenario)(nil), // 39: livekit.SimulateScenario
|
||||
(*Ping)(nil), // 40: livekit.Ping
|
||||
(*Pong)(nil), // 41: livekit.Pong
|
||||
(*RegionSettings)(nil), // 42: livekit.RegionSettings
|
||||
(*RegionInfo)(nil), // 43: livekit.RegionInfo
|
||||
(*SubscriptionResponse)(nil), // 44: livekit.SubscriptionResponse
|
||||
(*RequestResponse)(nil), // 45: livekit.RequestResponse
|
||||
(*TrackSubscribed)(nil), // 46: livekit.TrackSubscribed
|
||||
nil, // 47: livekit.UpdateParticipantMetadata.AttributesEntry
|
||||
(TrackType)(0), // 48: livekit.TrackType
|
||||
(TrackSource)(0), // 49: livekit.TrackSource
|
||||
(*VideoLayer)(nil), // 50: livekit.VideoLayer
|
||||
(Encryption_Type)(0), // 51: livekit.Encryption.Type
|
||||
(BackupCodecPolicy)(0), // 52: livekit.BackupCodecPolicy
|
||||
(AudioTrackFeature)(0), // 53: livekit.AudioTrackFeature
|
||||
(*Room)(nil), // 54: livekit.Room
|
||||
(*ParticipantInfo)(nil), // 55: livekit.ParticipantInfo
|
||||
(*ClientConfiguration)(nil), // 56: livekit.ClientConfiguration
|
||||
(*ServerInfo)(nil), // 57: livekit.ServerInfo
|
||||
(*Codec)(nil), // 58: livekit.Codec
|
||||
(*TrackInfo)(nil), // 59: livekit.TrackInfo
|
||||
(*ParticipantTracks)(nil), // 60: livekit.ParticipantTracks
|
||||
(VideoQuality)(0), // 61: livekit.VideoQuality
|
||||
(DisconnectReason)(0), // 62: livekit.DisconnectReason
|
||||
(*SpeakerInfo)(nil), // 63: livekit.SpeakerInfo
|
||||
(ConnectionQuality)(0), // 64: livekit.ConnectionQuality
|
||||
(SubscriptionError)(0), // 65: livekit.SubscriptionError
|
||||
(*RoomMovedResponse)(nil), // 37: livekit.RoomMovedResponse
|
||||
(*SyncState)(nil), // 38: livekit.SyncState
|
||||
(*DataChannelInfo)(nil), // 39: livekit.DataChannelInfo
|
||||
(*SimulateScenario)(nil), // 40: livekit.SimulateScenario
|
||||
(*Ping)(nil), // 41: livekit.Ping
|
||||
(*Pong)(nil), // 42: livekit.Pong
|
||||
(*RegionSettings)(nil), // 43: livekit.RegionSettings
|
||||
(*RegionInfo)(nil), // 44: livekit.RegionInfo
|
||||
(*SubscriptionResponse)(nil), // 45: livekit.SubscriptionResponse
|
||||
(*RequestResponse)(nil), // 46: livekit.RequestResponse
|
||||
(*TrackSubscribed)(nil), // 47: livekit.TrackSubscribed
|
||||
nil, // 48: livekit.UpdateParticipantMetadata.AttributesEntry
|
||||
(TrackType)(0), // 49: livekit.TrackType
|
||||
(TrackSource)(0), // 50: livekit.TrackSource
|
||||
(*VideoLayer)(nil), // 51: livekit.VideoLayer
|
||||
(Encryption_Type)(0), // 52: livekit.Encryption.Type
|
||||
(BackupCodecPolicy)(0), // 53: livekit.BackupCodecPolicy
|
||||
(AudioTrackFeature)(0), // 54: livekit.AudioTrackFeature
|
||||
(*Room)(nil), // 55: livekit.Room
|
||||
(*ParticipantInfo)(nil), // 56: livekit.ParticipantInfo
|
||||
(*ClientConfiguration)(nil), // 57: livekit.ClientConfiguration
|
||||
(*ServerInfo)(nil), // 58: livekit.ServerInfo
|
||||
(*Codec)(nil), // 59: livekit.Codec
|
||||
(*TrackInfo)(nil), // 60: livekit.TrackInfo
|
||||
(*ParticipantTracks)(nil), // 61: livekit.ParticipantTracks
|
||||
(VideoQuality)(0), // 62: livekit.VideoQuality
|
||||
(DisconnectReason)(0), // 63: livekit.DisconnectReason
|
||||
(*SpeakerInfo)(nil), // 64: livekit.SpeakerInfo
|
||||
(ConnectionQuality)(0), // 65: livekit.ConnectionQuality
|
||||
(SubscriptionError)(0), // 66: livekit.SubscriptionError
|
||||
}
|
||||
var file_livekit_rtc_proto_depIdxs = []int32{
|
||||
15, // 0: livekit.SignalRequest.offer:type_name -> livekit.SessionDescription
|
||||
@@ -4057,10 +4152,10 @@ var file_livekit_rtc_proto_depIdxs = []int32{
|
||||
21, // 7: livekit.SignalRequest.leave:type_name -> livekit.LeaveRequest
|
||||
22, // 8: livekit.SignalRequest.update_layers:type_name -> livekit.UpdateVideoLayers
|
||||
35, // 9: livekit.SignalRequest.subscription_permission:type_name -> livekit.SubscriptionPermission
|
||||
37, // 10: livekit.SignalRequest.sync_state:type_name -> livekit.SyncState
|
||||
39, // 11: livekit.SignalRequest.simulate:type_name -> livekit.SimulateScenario
|
||||
38, // 10: livekit.SignalRequest.sync_state:type_name -> livekit.SyncState
|
||||
40, // 11: livekit.SignalRequest.simulate:type_name -> livekit.SimulateScenario
|
||||
23, // 12: livekit.SignalRequest.update_metadata:type_name -> livekit.UpdateParticipantMetadata
|
||||
40, // 13: livekit.SignalRequest.ping_req:type_name -> livekit.Ping
|
||||
41, // 13: livekit.SignalRequest.ping_req:type_name -> livekit.Ping
|
||||
19, // 14: livekit.SignalRequest.update_audio_track:type_name -> livekit.UpdateLocalAudioTrack
|
||||
20, // 15: livekit.SignalRequest.update_video_track:type_name -> livekit.UpdateLocalVideoTrack
|
||||
11, // 16: livekit.SignalResponse.join:type_name -> livekit.JoinResponse
|
||||
@@ -4079,63 +4174,67 @@ var file_livekit_rtc_proto_depIdxs = []int32{
|
||||
36, // 29: livekit.SignalResponse.subscription_permission_update:type_name -> livekit.SubscriptionPermissionUpdate
|
||||
14, // 30: livekit.SignalResponse.track_unpublished:type_name -> livekit.TrackUnpublishedResponse
|
||||
12, // 31: livekit.SignalResponse.reconnect:type_name -> livekit.ReconnectResponse
|
||||
41, // 32: livekit.SignalResponse.pong_resp:type_name -> livekit.Pong
|
||||
44, // 33: livekit.SignalResponse.subscription_response:type_name -> livekit.SubscriptionResponse
|
||||
45, // 34: livekit.SignalResponse.request_response:type_name -> livekit.RequestResponse
|
||||
46, // 35: livekit.SignalResponse.track_subscribed:type_name -> livekit.TrackSubscribed
|
||||
48, // 36: livekit.AddTrackRequest.type:type_name -> livekit.TrackType
|
||||
49, // 37: livekit.AddTrackRequest.source:type_name -> livekit.TrackSource
|
||||
50, // 38: livekit.AddTrackRequest.layers:type_name -> livekit.VideoLayer
|
||||
7, // 39: livekit.AddTrackRequest.simulcast_codecs:type_name -> livekit.SimulcastCodec
|
||||
51, // 40: livekit.AddTrackRequest.encryption:type_name -> livekit.Encryption.Type
|
||||
52, // 41: livekit.AddTrackRequest.backup_codec_policy:type_name -> livekit.BackupCodecPolicy
|
||||
53, // 42: livekit.AddTrackRequest.audio_features:type_name -> livekit.AudioTrackFeature
|
||||
0, // 43: livekit.TrickleRequest.target:type_name -> livekit.SignalTarget
|
||||
54, // 44: livekit.JoinResponse.room:type_name -> livekit.Room
|
||||
55, // 45: livekit.JoinResponse.participant:type_name -> livekit.ParticipantInfo
|
||||
55, // 46: livekit.JoinResponse.other_participants:type_name -> livekit.ParticipantInfo
|
||||
24, // 47: livekit.JoinResponse.ice_servers:type_name -> livekit.ICEServer
|
||||
56, // 48: livekit.JoinResponse.client_configuration:type_name -> livekit.ClientConfiguration
|
||||
57, // 49: livekit.JoinResponse.server_info:type_name -> livekit.ServerInfo
|
||||
58, // 50: livekit.JoinResponse.enabled_publish_codecs:type_name -> livekit.Codec
|
||||
24, // 51: livekit.ReconnectResponse.ice_servers:type_name -> livekit.ICEServer
|
||||
56, // 52: livekit.ReconnectResponse.client_configuration:type_name -> livekit.ClientConfiguration
|
||||
59, // 53: livekit.TrackPublishedResponse.track:type_name -> livekit.TrackInfo
|
||||
55, // 54: livekit.ParticipantUpdate.participants:type_name -> livekit.ParticipantInfo
|
||||
60, // 55: livekit.UpdateSubscription.participant_tracks:type_name -> livekit.ParticipantTracks
|
||||
61, // 56: livekit.UpdateTrackSettings.quality:type_name -> livekit.VideoQuality
|
||||
53, // 57: livekit.UpdateLocalAudioTrack.features:type_name -> livekit.AudioTrackFeature
|
||||
62, // 58: livekit.LeaveRequest.reason:type_name -> livekit.DisconnectReason
|
||||
3, // 59: livekit.LeaveRequest.action:type_name -> livekit.LeaveRequest.Action
|
||||
42, // 60: livekit.LeaveRequest.regions:type_name -> livekit.RegionSettings
|
||||
50, // 61: livekit.UpdateVideoLayers.layers:type_name -> livekit.VideoLayer
|
||||
47, // 62: livekit.UpdateParticipantMetadata.attributes:type_name -> livekit.UpdateParticipantMetadata.AttributesEntry
|
||||
63, // 63: livekit.SpeakersChanged.speakers:type_name -> livekit.SpeakerInfo
|
||||
54, // 64: livekit.RoomUpdate.room:type_name -> livekit.Room
|
||||
64, // 65: livekit.ConnectionQualityInfo.quality:type_name -> livekit.ConnectionQuality
|
||||
27, // 66: livekit.ConnectionQualityUpdate.updates:type_name -> livekit.ConnectionQualityInfo
|
||||
1, // 67: livekit.StreamStateInfo.state:type_name -> livekit.StreamState
|
||||
29, // 68: livekit.StreamStateUpdate.stream_states:type_name -> livekit.StreamStateInfo
|
||||
61, // 69: livekit.SubscribedQuality.quality:type_name -> livekit.VideoQuality
|
||||
31, // 70: livekit.SubscribedCodec.qualities:type_name -> livekit.SubscribedQuality
|
||||
31, // 71: livekit.SubscribedQualityUpdate.subscribed_qualities:type_name -> livekit.SubscribedQuality
|
||||
32, // 72: livekit.SubscribedQualityUpdate.subscribed_codecs:type_name -> livekit.SubscribedCodec
|
||||
34, // 73: livekit.SubscriptionPermission.track_permissions:type_name -> livekit.TrackPermission
|
||||
15, // 74: livekit.SyncState.answer:type_name -> livekit.SessionDescription
|
||||
17, // 75: livekit.SyncState.subscription:type_name -> livekit.UpdateSubscription
|
||||
13, // 76: livekit.SyncState.publish_tracks:type_name -> livekit.TrackPublishedResponse
|
||||
38, // 77: livekit.SyncState.data_channels:type_name -> livekit.DataChannelInfo
|
||||
15, // 78: livekit.SyncState.offer:type_name -> livekit.SessionDescription
|
||||
0, // 79: livekit.DataChannelInfo.target:type_name -> livekit.SignalTarget
|
||||
2, // 80: livekit.SimulateScenario.switch_candidate_protocol:type_name -> livekit.CandidateProtocol
|
||||
43, // 81: livekit.RegionSettings.regions:type_name -> livekit.RegionInfo
|
||||
65, // 82: livekit.SubscriptionResponse.err:type_name -> livekit.SubscriptionError
|
||||
4, // 83: livekit.RequestResponse.reason:type_name -> livekit.RequestResponse.Reason
|
||||
84, // [84:84] is the sub-list for method output_type
|
||||
84, // [84:84] is the sub-list for method input_type
|
||||
84, // [84:84] is the sub-list for extension type_name
|
||||
84, // [84:84] is the sub-list for extension extendee
|
||||
0, // [0:84] is the sub-list for field type_name
|
||||
42, // 32: livekit.SignalResponse.pong_resp:type_name -> livekit.Pong
|
||||
45, // 33: livekit.SignalResponse.subscription_response:type_name -> livekit.SubscriptionResponse
|
||||
46, // 34: livekit.SignalResponse.request_response:type_name -> livekit.RequestResponse
|
||||
47, // 35: livekit.SignalResponse.track_subscribed:type_name -> livekit.TrackSubscribed
|
||||
37, // 36: livekit.SignalResponse.room_moved:type_name -> livekit.RoomMovedResponse
|
||||
49, // 37: livekit.AddTrackRequest.type:type_name -> livekit.TrackType
|
||||
50, // 38: livekit.AddTrackRequest.source:type_name -> livekit.TrackSource
|
||||
51, // 39: livekit.AddTrackRequest.layers:type_name -> livekit.VideoLayer
|
||||
7, // 40: livekit.AddTrackRequest.simulcast_codecs:type_name -> livekit.SimulcastCodec
|
||||
52, // 41: livekit.AddTrackRequest.encryption:type_name -> livekit.Encryption.Type
|
||||
53, // 42: livekit.AddTrackRequest.backup_codec_policy:type_name -> livekit.BackupCodecPolicy
|
||||
54, // 43: livekit.AddTrackRequest.audio_features:type_name -> livekit.AudioTrackFeature
|
||||
0, // 44: livekit.TrickleRequest.target:type_name -> livekit.SignalTarget
|
||||
55, // 45: livekit.JoinResponse.room:type_name -> livekit.Room
|
||||
56, // 46: livekit.JoinResponse.participant:type_name -> livekit.ParticipantInfo
|
||||
56, // 47: livekit.JoinResponse.other_participants:type_name -> livekit.ParticipantInfo
|
||||
24, // 48: livekit.JoinResponse.ice_servers:type_name -> livekit.ICEServer
|
||||
57, // 49: livekit.JoinResponse.client_configuration:type_name -> livekit.ClientConfiguration
|
||||
58, // 50: livekit.JoinResponse.server_info:type_name -> livekit.ServerInfo
|
||||
59, // 51: livekit.JoinResponse.enabled_publish_codecs:type_name -> livekit.Codec
|
||||
24, // 52: livekit.ReconnectResponse.ice_servers:type_name -> livekit.ICEServer
|
||||
57, // 53: livekit.ReconnectResponse.client_configuration:type_name -> livekit.ClientConfiguration
|
||||
60, // 54: livekit.TrackPublishedResponse.track:type_name -> livekit.TrackInfo
|
||||
56, // 55: livekit.ParticipantUpdate.participants:type_name -> livekit.ParticipantInfo
|
||||
61, // 56: livekit.UpdateSubscription.participant_tracks:type_name -> livekit.ParticipantTracks
|
||||
62, // 57: livekit.UpdateTrackSettings.quality:type_name -> livekit.VideoQuality
|
||||
54, // 58: livekit.UpdateLocalAudioTrack.features:type_name -> livekit.AudioTrackFeature
|
||||
63, // 59: livekit.LeaveRequest.reason:type_name -> livekit.DisconnectReason
|
||||
3, // 60: livekit.LeaveRequest.action:type_name -> livekit.LeaveRequest.Action
|
||||
43, // 61: livekit.LeaveRequest.regions:type_name -> livekit.RegionSettings
|
||||
51, // 62: livekit.UpdateVideoLayers.layers:type_name -> livekit.VideoLayer
|
||||
48, // 63: livekit.UpdateParticipantMetadata.attributes:type_name -> livekit.UpdateParticipantMetadata.AttributesEntry
|
||||
64, // 64: livekit.SpeakersChanged.speakers:type_name -> livekit.SpeakerInfo
|
||||
55, // 65: livekit.RoomUpdate.room:type_name -> livekit.Room
|
||||
65, // 66: livekit.ConnectionQualityInfo.quality:type_name -> livekit.ConnectionQuality
|
||||
27, // 67: livekit.ConnectionQualityUpdate.updates:type_name -> livekit.ConnectionQualityInfo
|
||||
1, // 68: livekit.StreamStateInfo.state:type_name -> livekit.StreamState
|
||||
29, // 69: livekit.StreamStateUpdate.stream_states:type_name -> livekit.StreamStateInfo
|
||||
62, // 70: livekit.SubscribedQuality.quality:type_name -> livekit.VideoQuality
|
||||
31, // 71: livekit.SubscribedCodec.qualities:type_name -> livekit.SubscribedQuality
|
||||
31, // 72: livekit.SubscribedQualityUpdate.subscribed_qualities:type_name -> livekit.SubscribedQuality
|
||||
32, // 73: livekit.SubscribedQualityUpdate.subscribed_codecs:type_name -> livekit.SubscribedCodec
|
||||
34, // 74: livekit.SubscriptionPermission.track_permissions:type_name -> livekit.TrackPermission
|
||||
55, // 75: livekit.RoomMovedResponse.room:type_name -> livekit.Room
|
||||
56, // 76: livekit.RoomMovedResponse.participant:type_name -> livekit.ParticipantInfo
|
||||
56, // 77: livekit.RoomMovedResponse.other_participants:type_name -> livekit.ParticipantInfo
|
||||
15, // 78: livekit.SyncState.answer:type_name -> livekit.SessionDescription
|
||||
17, // 79: livekit.SyncState.subscription:type_name -> livekit.UpdateSubscription
|
||||
13, // 80: livekit.SyncState.publish_tracks:type_name -> livekit.TrackPublishedResponse
|
||||
39, // 81: livekit.SyncState.data_channels:type_name -> livekit.DataChannelInfo
|
||||
15, // 82: livekit.SyncState.offer:type_name -> livekit.SessionDescription
|
||||
0, // 83: livekit.DataChannelInfo.target:type_name -> livekit.SignalTarget
|
||||
2, // 84: livekit.SimulateScenario.switch_candidate_protocol:type_name -> livekit.CandidateProtocol
|
||||
44, // 85: livekit.RegionSettings.regions:type_name -> livekit.RegionInfo
|
||||
66, // 86: livekit.SubscriptionResponse.err:type_name -> livekit.SubscriptionError
|
||||
4, // 87: livekit.RequestResponse.reason:type_name -> livekit.RequestResponse.Reason
|
||||
88, // [88:88] is the sub-list for method output_type
|
||||
88, // [88:88] is the sub-list for method input_type
|
||||
88, // [88:88] is the sub-list for extension type_name
|
||||
88, // [88:88] is the sub-list for extension extendee
|
||||
0, // [0:88] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_livekit_rtc_proto_init() }
|
||||
@@ -4186,8 +4285,9 @@ func file_livekit_rtc_proto_init() {
|
||||
(*SignalResponse_SubscriptionResponse)(nil),
|
||||
(*SignalResponse_RequestResponse)(nil),
|
||||
(*SignalResponse_TrackSubscribed)(nil),
|
||||
(*SignalResponse_RoomMoved)(nil),
|
||||
}
|
||||
file_livekit_rtc_proto_msgTypes[34].OneofWrappers = []any{
|
||||
file_livekit_rtc_proto_msgTypes[35].OneofWrappers = []any{
|
||||
(*SimulateScenario_SpeakerUpdate)(nil),
|
||||
(*SimulateScenario_NodeFailure)(nil),
|
||||
(*SimulateScenario_Migration)(nil),
|
||||
@@ -4204,7 +4304,7 @@ func file_livekit_rtc_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_livekit_rtc_proto_rawDesc), len(file_livekit_rtc_proto_rawDesc)),
|
||||
NumEnums: 5,
|
||||
NumMessages: 43,
|
||||
NumMessages: 44,
|
||||
NumExtensions: 0,
|
||||
NumServices: 0,
|
||||
},
|
||||
|
||||
@@ -15,11 +15,15 @@
|
||||
package pionlogger
|
||||
|
||||
import (
|
||||
"maps"
|
||||
"slices"
|
||||
"strings"
|
||||
|
||||
"github.com/pion/logging"
|
||||
|
||||
"github.com/livekit/protocol/logger"
|
||||
"github.com/livekit/protocol/utils/options"
|
||||
"github.com/livekit/protocol/utils/pointer"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -65,16 +69,50 @@ func (s *prefixSet) Match(msg string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func NewLoggerFactory(l logger.Logger) logging.LoggerFactory {
|
||||
if zl, ok := l.(logger.ZapLogger); ok {
|
||||
return &zapLoggerFactory{zl}
|
||||
type PrefixFilter map[string]*prefixSet
|
||||
|
||||
func NewPrefixFilter(prefixes map[string][]string) PrefixFilter {
|
||||
p := maps.Clone(pionIgnoredPrefixes)
|
||||
for scope, set := range prefixes {
|
||||
if prev, ok := p[scope]; ok {
|
||||
p[scope] = pointer.To(slices.Concat(*prev, prefixSet(set)))
|
||||
} else {
|
||||
p[scope] = pointer.To(prefixSet(set))
|
||||
}
|
||||
}
|
||||
return &loggerFactory{l}
|
||||
return p
|
||||
}
|
||||
|
||||
type FilterFunc func(msg string) bool
|
||||
|
||||
type Options struct {
|
||||
PrefixFilter PrefixFilter
|
||||
}
|
||||
|
||||
type Option func(o *Options)
|
||||
|
||||
func WithPrefixFilter(f PrefixFilter) Option {
|
||||
return func(o *Options) {
|
||||
o.PrefixFilter = f
|
||||
}
|
||||
}
|
||||
|
||||
func NewLoggerFactory(l logger.Logger, opts ...Option) logging.LoggerFactory {
|
||||
o := Options{
|
||||
PrefixFilter: pionIgnoredPrefixes,
|
||||
}
|
||||
options.Apply(&o, opts)
|
||||
|
||||
if zl, ok := l.(logger.ZapLogger); ok {
|
||||
return &zapLoggerFactory{zl, o}
|
||||
}
|
||||
return &loggerFactory{l, o}
|
||||
}
|
||||
|
||||
// zapLoggerFactory implements logging.LoggerFactory interface for zap loggers
|
||||
type zapLoggerFactory struct {
|
||||
logger logger.ZapLogger
|
||||
logger logger.ZapLogger
|
||||
options Options
|
||||
}
|
||||
|
||||
func (f *zapLoggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
@@ -82,19 +120,20 @@ func (f *zapLoggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
logger: f.logger,
|
||||
level: f.logger.ComponentLeveler().ComponentLevel(formatComponent(scope)),
|
||||
scope: scope,
|
||||
ignoredPrefixes: pionIgnoredPrefixes[scope],
|
||||
ignoredPrefixes: f.options.PrefixFilter[scope],
|
||||
}
|
||||
}
|
||||
|
||||
// loggerFactory implements logging.LoggerFactory interface for generic loggers
|
||||
type loggerFactory struct {
|
||||
logger logger.Logger
|
||||
logger logger.Logger
|
||||
options Options
|
||||
}
|
||||
|
||||
func (f *loggerFactory) NewLogger(scope string) logging.LeveledLogger {
|
||||
return &logAdapter{
|
||||
logger: f.logger.WithComponent(formatComponent(scope)).WithCallDepth(1),
|
||||
ignoredPrefixes: pionIgnoredPrefixes[scope],
|
||||
ignoredPrefixes: f.options.PrefixFilter[scope],
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
32
logger/pionlogger/logger_test.go
Normal file
32
logger/pionlogger/logger_test.go
Normal file
@@ -0,0 +1,32 @@
|
||||
// Copyright 2023 LiveKit, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package pionlogger
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestPrefixFilter(t *testing.T) {
|
||||
f := NewPrefixFilter(map[string][]string{
|
||||
"tcp_mux": {
|
||||
"test",
|
||||
},
|
||||
})
|
||||
|
||||
require.True(t, f["tcp_mux"].Match("error closing connection"))
|
||||
require.True(t, f["tcp_mux"].Match("test"))
|
||||
}
|
||||
@@ -53,29 +53,25 @@ func TestDeferredLogger(t *testing.T) {
|
||||
dc := NewDeferredValueCore(c, d)
|
||||
s := zap.New(dc).Sugar()
|
||||
|
||||
type testLogOutput struct {
|
||||
testutil.TestLogOutput
|
||||
A string
|
||||
B string
|
||||
type testLog struct {
|
||||
A, B string
|
||||
}
|
||||
|
||||
cases := []struct {
|
||||
a, b string
|
||||
}{
|
||||
cases := []testLog{
|
||||
{"foo", "bar"},
|
||||
{"baz", "qux"},
|
||||
}
|
||||
for _, c := range cases {
|
||||
resolve("a", c.a, "b", c.b)
|
||||
resolve("a", c.A, "b", c.B)
|
||||
s.Infow("test")
|
||||
s.Sync()
|
||||
|
||||
var log testLogOutput
|
||||
var log testLog
|
||||
require.NoError(t, ws.Unmarshal(&log))
|
||||
ws.Reset()
|
||||
|
||||
require.Equal(t, c.a, log.A)
|
||||
require.Equal(t, c.b, log.B)
|
||||
require.Equal(t, c.A, log.A)
|
||||
require.Equal(t, c.B, log.B)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "github.com/livekit/protocol",
|
||||
"private": true,
|
||||
"version": "1.37.1",
|
||||
"version": "1.38.0",
|
||||
"scripts": {
|
||||
"changeset": "changeset",
|
||||
"ci:publish": "pnpm --filter @livekit/protocol run build && changeset publish"
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @livekit/protocol
|
||||
|
||||
## 1.38.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- feat: MoveParticipant API - [#1065](https://github.com/livekit/protocol/pull/1065) ([@cnderrauber](https://github.com/cnderrauber))
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- fix memory path for cgroups v2 - [#1060](https://github.com/livekit/protocol/pull/1060) ([@boks1971](https://github.com/boks1971))
|
||||
|
||||
- Fix paths and simplify. - [#1062](https://github.com/livekit/protocol/pull/1062) ([@boks1971](https://github.com/boks1971))
|
||||
|
||||
## 1.37.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@livekit/protocol",
|
||||
"version": "1.37.1",
|
||||
"version": "1.38.0",
|
||||
"description": "",
|
||||
"type": "module",
|
||||
"require": "dist/index.cjs",
|
||||
|
||||
@@ -61,10 +61,17 @@ service RoomService {
|
||||
// Update room metadata, will cause updates to be broadcasted to everyone in the room, Requires `roomAdmin`
|
||||
rpc UpdateRoomMetadata (UpdateRoomMetadataRequest) returns (Room);
|
||||
|
||||
// Forward a participant's track(s) to another room. Requires `roomAdmin` and `destinationRoom`. The forwarding will
|
||||
// Cloud-only
|
||||
// a connected participant's track(s) to another room. Requires `roomAdmin` and `destinationRoom`. The forwarding will
|
||||
// stop when the participant leaves the room or `RemoveParticipant` has been called in the destination room.
|
||||
// A participant can be forwarded to multiple rooms. The destination room will be created if it does not exist.
|
||||
rpc ForwardParticipant(ForwardParticipantRequest) returns (ForwardParticipantResponse);
|
||||
|
||||
// Cloud-only
|
||||
// Move a connected participant to a different room. Requires `roomAdmin` and `destinationRoom`.
|
||||
// The participant will be removed from the current room and added to the destination room.
|
||||
// From the other observers' perspective, the participant would've disconnected from the previous room and joined the new one.
|
||||
rpc MoveParticipant(MoveParticipantRequest) returns (MoveParticipantResponse);
|
||||
}
|
||||
|
||||
message CreateRoomRequest {
|
||||
@@ -245,3 +252,15 @@ message ForwardParticipantRequest {
|
||||
|
||||
message ForwardParticipantResponse {
|
||||
}
|
||||
|
||||
message MoveParticipantRequest {
|
||||
// room to move participant from
|
||||
string room = 1;
|
||||
// identity of the participant to move to
|
||||
string identity = 2;
|
||||
// room to move participant to
|
||||
string destination_room = 3;
|
||||
}
|
||||
|
||||
message MoveParticipantResponse {
|
||||
}
|
||||
|
||||
@@ -105,6 +105,8 @@ message SignalResponse {
|
||||
RequestResponse request_response = 22;
|
||||
// notify to the publisher when a published track has been subscribed for the first time
|
||||
TrackSubscribed track_subscribed = 23;
|
||||
// notify to the participant when they have been moved to a new room
|
||||
RoomMovedResponse room_moved = 24;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -359,6 +361,15 @@ message SubscriptionPermissionUpdate {
|
||||
bool allowed = 3;
|
||||
}
|
||||
|
||||
message RoomMovedResponse {
|
||||
// information about the new room
|
||||
Room room = 1;
|
||||
// new reconnect token that can be used to reconnect to the new room
|
||||
string token = 2;
|
||||
ParticipantInfo participant = 3;
|
||||
repeated ParticipantInfo other_participants = 4;
|
||||
}
|
||||
|
||||
message SyncState {
|
||||
// last subscribe answer before reconnecting
|
||||
SessionDescription answer = 1;
|
||||
|
||||
@@ -73,4 +73,14 @@ service Participant {
|
||||
};
|
||||
};
|
||||
};
|
||||
rpc MoveParticipant(livekit.MoveParticipantRequest) returns (livekit.MoveParticipantResponse) {
|
||||
option (psrpc.options) = {
|
||||
topics: true
|
||||
topic_params: {
|
||||
group: "participant"
|
||||
names: ["participant"]
|
||||
typed: true
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ var File_rpc_participant_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_rpc_participant_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x15rpc/participant.proto\x12\x03rpc\x1a\roptions.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto2\x90\x05\n" +
|
||||
"\x15rpc/participant.proto\x12\x03rpc\x1a\roptions.proto\x1a\x14livekit_models.proto\x1a\x12livekit_room.proto2\x8c\x06\n" +
|
||||
"\vParticipant\x12\x7f\n" +
|
||||
"\x11RemoveParticipant\x12 .livekit.RoomParticipantIdentity\x1a\".livekit.RemoveParticipantResponse\"$\xb2\x89\x01 \x10\x01\x1a\x1c\n" +
|
||||
"\vparticipant\x12\vparticipant\x18\x01\x12y\n" +
|
||||
@@ -51,6 +51,8 @@ const file_rpc_participant_proto_rawDesc = "" +
|
||||
"\x13UpdateSubscriptions\x12#.livekit.UpdateSubscriptionsRequest\x1a$.livekit.UpdateSubscriptionsResponse\"$\xb2\x89\x01 \x10\x01\x1a\x1c\n" +
|
||||
"\vparticipant\x12\vparticipant\x18\x01\x12\x83\x01\n" +
|
||||
"\x12ForwardParticipant\x12\".livekit.ForwardParticipantRequest\x1a#.livekit.ForwardParticipantResponse\"$\xb2\x89\x01 \x10\x01\x1a\x1c\n" +
|
||||
"\vparticipant\x12\vparticipant\x18\x01\x12z\n" +
|
||||
"\x0fMoveParticipant\x12\x1f.livekit.MoveParticipantRequest\x1a .livekit.MoveParticipantResponse\"$\xb2\x89\x01 \x10\x01\x1a\x1c\n" +
|
||||
"\vparticipant\x12\vparticipant\x18\x01B!Z\x1fgithub.com/livekit/protocol/rpcb\x06proto3"
|
||||
|
||||
var file_rpc_participant_proto_goTypes = []any{
|
||||
@@ -59,28 +61,32 @@ var file_rpc_participant_proto_goTypes = []any{
|
||||
(*livekit.UpdateParticipantRequest)(nil), // 2: livekit.UpdateParticipantRequest
|
||||
(*livekit.UpdateSubscriptionsRequest)(nil), // 3: livekit.UpdateSubscriptionsRequest
|
||||
(*livekit.ForwardParticipantRequest)(nil), // 4: livekit.ForwardParticipantRequest
|
||||
(*livekit.RemoveParticipantResponse)(nil), // 5: livekit.RemoveParticipantResponse
|
||||
(*livekit.MuteRoomTrackResponse)(nil), // 6: livekit.MuteRoomTrackResponse
|
||||
(*livekit.ParticipantInfo)(nil), // 7: livekit.ParticipantInfo
|
||||
(*livekit.UpdateSubscriptionsResponse)(nil), // 8: livekit.UpdateSubscriptionsResponse
|
||||
(*livekit.ForwardParticipantResponse)(nil), // 9: livekit.ForwardParticipantResponse
|
||||
(*livekit.MoveParticipantRequest)(nil), // 5: livekit.MoveParticipantRequest
|
||||
(*livekit.RemoveParticipantResponse)(nil), // 6: livekit.RemoveParticipantResponse
|
||||
(*livekit.MuteRoomTrackResponse)(nil), // 7: livekit.MuteRoomTrackResponse
|
||||
(*livekit.ParticipantInfo)(nil), // 8: livekit.ParticipantInfo
|
||||
(*livekit.UpdateSubscriptionsResponse)(nil), // 9: livekit.UpdateSubscriptionsResponse
|
||||
(*livekit.ForwardParticipantResponse)(nil), // 10: livekit.ForwardParticipantResponse
|
||||
(*livekit.MoveParticipantResponse)(nil), // 11: livekit.MoveParticipantResponse
|
||||
}
|
||||
var file_rpc_participant_proto_depIdxs = []int32{
|
||||
0, // 0: rpc.Participant.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity
|
||||
1, // 1: rpc.Participant.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest
|
||||
2, // 2: rpc.Participant.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest
|
||||
3, // 3: rpc.Participant.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest
|
||||
4, // 4: rpc.Participant.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest
|
||||
5, // 5: rpc.Participant.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse
|
||||
6, // 6: rpc.Participant.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse
|
||||
7, // 7: rpc.Participant.UpdateParticipant:output_type -> livekit.ParticipantInfo
|
||||
8, // 8: rpc.Participant.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse
|
||||
9, // 9: rpc.Participant.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse
|
||||
5, // [5:10] is the sub-list for method output_type
|
||||
0, // [0:5] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
0, // 0: rpc.Participant.RemoveParticipant:input_type -> livekit.RoomParticipantIdentity
|
||||
1, // 1: rpc.Participant.MutePublishedTrack:input_type -> livekit.MuteRoomTrackRequest
|
||||
2, // 2: rpc.Participant.UpdateParticipant:input_type -> livekit.UpdateParticipantRequest
|
||||
3, // 3: rpc.Participant.UpdateSubscriptions:input_type -> livekit.UpdateSubscriptionsRequest
|
||||
4, // 4: rpc.Participant.ForwardParticipant:input_type -> livekit.ForwardParticipantRequest
|
||||
5, // 5: rpc.Participant.MoveParticipant:input_type -> livekit.MoveParticipantRequest
|
||||
6, // 6: rpc.Participant.RemoveParticipant:output_type -> livekit.RemoveParticipantResponse
|
||||
7, // 7: rpc.Participant.MutePublishedTrack:output_type -> livekit.MuteRoomTrackResponse
|
||||
8, // 8: rpc.Participant.UpdateParticipant:output_type -> livekit.ParticipantInfo
|
||||
9, // 9: rpc.Participant.UpdateSubscriptions:output_type -> livekit.UpdateSubscriptionsResponse
|
||||
10, // 10: rpc.Participant.ForwardParticipant:output_type -> livekit.ForwardParticipantResponse
|
||||
11, // 11: rpc.Participant.MoveParticipant:output_type -> livekit.MoveParticipantResponse
|
||||
6, // [6:12] is the sub-list for method output_type
|
||||
0, // [0:6] is the sub-list for method input_type
|
||||
0, // [0:0] is the sub-list for extension type_name
|
||||
0, // [0:0] is the sub-list for extension extendee
|
||||
0, // [0:0] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_rpc_participant_proto_init() }
|
||||
|
||||
@@ -33,6 +33,8 @@ type ParticipantClient[ParticipantTopicType ~string] interface {
|
||||
|
||||
ForwardParticipant(ctx context.Context, participant ParticipantTopicType, req *livekit6.ForwardParticipantRequest, opts ...psrpc.RequestOption) (*livekit6.ForwardParticipantResponse, error)
|
||||
|
||||
MoveParticipant(ctx context.Context, participant ParticipantTopicType, req *livekit6.MoveParticipantRequest, opts ...psrpc.RequestOption) (*livekit6.MoveParticipantResponse, error)
|
||||
|
||||
// Close immediately, without waiting for pending RPCs
|
||||
Close()
|
||||
}
|
||||
@@ -51,6 +53,8 @@ type ParticipantServerImpl interface {
|
||||
UpdateSubscriptions(context.Context, *livekit6.UpdateSubscriptionsRequest) (*livekit6.UpdateSubscriptionsResponse, error)
|
||||
|
||||
ForwardParticipant(context.Context, *livekit6.ForwardParticipantRequest) (*livekit6.ForwardParticipantResponse, error)
|
||||
|
||||
MoveParticipant(context.Context, *livekit6.MoveParticipantRequest) (*livekit6.MoveParticipantResponse, error)
|
||||
}
|
||||
|
||||
// ============================
|
||||
@@ -68,6 +72,8 @@ type ParticipantServer[ParticipantTopicType ~string] interface {
|
||||
DeregisterUpdateSubscriptionsTopic(participant ParticipantTopicType)
|
||||
RegisterForwardParticipantTopic(participant ParticipantTopicType) error
|
||||
DeregisterForwardParticipantTopic(participant ParticipantTopicType)
|
||||
RegisterMoveParticipantTopic(participant ParticipantTopicType) error
|
||||
DeregisterMoveParticipantTopic(participant ParticipantTopicType)
|
||||
RegisterAllParticipantTopics(participant ParticipantTopicType) error
|
||||
DeregisterAllParticipantTopics(participant ParticipantTopicType)
|
||||
|
||||
@@ -98,6 +104,7 @@ func NewParticipantClient[ParticipantTopicType ~string](bus psrpc.MessageBus, op
|
||||
sd.RegisterMethod("UpdateParticipant", false, false, true, true)
|
||||
sd.RegisterMethod("UpdateSubscriptions", false, false, true, true)
|
||||
sd.RegisterMethod("ForwardParticipant", false, false, true, true)
|
||||
sd.RegisterMethod("MoveParticipant", false, false, true, true)
|
||||
|
||||
rpcClient, err := client.NewRPCClient(sd, bus, opts...)
|
||||
if err != nil {
|
||||
@@ -129,6 +136,10 @@ func (c *participantClient[ParticipantTopicType]) ForwardParticipant(ctx context
|
||||
return client.RequestSingle[*livekit6.ForwardParticipantResponse](ctx, c.client, "ForwardParticipant", []string{string(participant)}, req, opts...)
|
||||
}
|
||||
|
||||
func (c *participantClient[ParticipantTopicType]) MoveParticipant(ctx context.Context, participant ParticipantTopicType, req *livekit6.MoveParticipantRequest, opts ...psrpc.RequestOption) (*livekit6.MoveParticipantResponse, error) {
|
||||
return client.RequestSingle[*livekit6.MoveParticipantResponse](ctx, c.client, "MoveParticipant", []string{string(participant)}, req, opts...)
|
||||
}
|
||||
|
||||
func (s *participantClient[ParticipantTopicType]) Close() {
|
||||
s.client.Close()
|
||||
}
|
||||
@@ -157,6 +168,7 @@ func NewParticipantServer[ParticipantTopicType ~string](svc ParticipantServerImp
|
||||
sd.RegisterMethod("UpdateParticipant", false, false, true, true)
|
||||
sd.RegisterMethod("UpdateSubscriptions", false, false, true, true)
|
||||
sd.RegisterMethod("ForwardParticipant", false, false, true, true)
|
||||
sd.RegisterMethod("MoveParticipant", false, false, true, true)
|
||||
return &participantServer[ParticipantTopicType]{
|
||||
svc: svc,
|
||||
rpc: s,
|
||||
@@ -203,6 +215,14 @@ func (s *participantServer[ParticipantTopicType]) DeregisterForwardParticipantTo
|
||||
s.rpc.DeregisterHandler("ForwardParticipant", []string{string(participant)})
|
||||
}
|
||||
|
||||
func (s *participantServer[ParticipantTopicType]) RegisterMoveParticipantTopic(participant ParticipantTopicType) error {
|
||||
return server.RegisterHandler(s.rpc, "MoveParticipant", []string{string(participant)}, s.svc.MoveParticipant, nil)
|
||||
}
|
||||
|
||||
func (s *participantServer[ParticipantTopicType]) DeregisterMoveParticipantTopic(participant ParticipantTopicType) {
|
||||
s.rpc.DeregisterHandler("MoveParticipant", []string{string(participant)})
|
||||
}
|
||||
|
||||
func (s *participantServer[ParticipantTopicType]) allParticipantTopicRegisterers() server.RegistererSlice {
|
||||
return server.RegistererSlice{
|
||||
server.NewRegisterer(s.RegisterRemoveParticipantTopic, s.DeregisterRemoveParticipantTopic),
|
||||
@@ -210,6 +230,7 @@ func (s *participantServer[ParticipantTopicType]) allParticipantTopicRegisterers
|
||||
server.NewRegisterer(s.RegisterUpdateParticipantTopic, s.DeregisterUpdateParticipantTopic),
|
||||
server.NewRegisterer(s.RegisterUpdateSubscriptionsTopic, s.DeregisterUpdateSubscriptionsTopic),
|
||||
server.NewRegisterer(s.RegisterForwardParticipantTopic, s.DeregisterForwardParticipantTopic),
|
||||
server.NewRegisterer(s.RegisterMoveParticipantTopic, s.DeregisterMoveParticipantTopic),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -230,25 +251,27 @@ func (s *participantServer[ParticipantTopicType]) Kill() {
|
||||
}
|
||||
|
||||
var psrpcFileDescriptor6 = []byte{
|
||||
// 316 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x52, 0xcb, 0x4a, 0xc3, 0x40,
|
||||
0x14, 0x25, 0x88, 0x2e, 0xa6, 0x08, 0x76, 0x54, 0x28, 0xc1, 0x47, 0x5f, 0xeb, 0x04, 0xf4, 0x0f,
|
||||
0x5c, 0x08, 0x2e, 0x84, 0x12, 0x75, 0xe3, 0x46, 0x92, 0xc9, 0xd5, 0x0e, 0x4d, 0x72, 0xc7, 0x99,
|
||||
0x9b, 0x4a, 0x57, 0x2e, 0x04, 0xc1, 0x9d, 0xdf, 0xe2, 0x17, 0x4a, 0x9b, 0x26, 0x99, 0xb6, 0x58,
|
||||
0xcc, 0x72, 0xce, 0x39, 0xf7, 0x9c, 0xfb, 0x18, 0x76, 0xac, 0x95, 0xf0, 0x55, 0xa8, 0x49, 0x0a,
|
||||
0xa9, 0xc2, 0x8c, 0x3c, 0xa5, 0x91, 0x90, 0xef, 0x68, 0x25, 0xdc, 0x7d, 0x54, 0x24, 0x31, 0x33,
|
||||
0x05, 0xe6, 0x1e, 0x25, 0x72, 0x0a, 0x13, 0x49, 0x4f, 0x29, 0xc6, 0x90, 0x94, 0x28, 0x2f, 0x51,
|
||||
0x8d, 0x98, 0x16, 0xd8, 0xc5, 0xf7, 0x2e, 0x6b, 0x8d, 0x6a, 0x4f, 0xfe, 0xce, 0xda, 0x01, 0xa4,
|
||||
0x38, 0x05, 0x1b, 0xec, 0x7a, 0xcb, 0x4a, 0x2f, 0x40, 0x4c, 0x2d, 0xe6, 0x26, 0x86, 0x8c, 0x24,
|
||||
0xcd, 0xdc, 0x7e, 0xad, 0x58, 0xaf, 0x0e, 0xc0, 0x28, 0xcc, 0x0c, 0xf4, 0x87, 0x3f, 0x5f, 0x4e,
|
||||
0xf7, 0xc0, 0x71, 0x4f, 0x58, 0xcb, 0x9a, 0x82, 0xdb, 0x8f, 0x8e, 0xc3, 0x67, 0x8c, 0xdf, 0xe6,
|
||||
0x04, 0xa3, 0x3c, 0x4a, 0xa4, 0x19, 0x43, 0x7c, 0xaf, 0x43, 0x31, 0xe1, 0xa7, 0x95, 0xff, 0x9c,
|
||||
0x9c, 0x77, 0xb1, 0xc0, 0x03, 0x78, 0xcd, 0xc1, 0x90, 0x7b, 0xf6, 0x17, 0xdd, 0x28, 0x7a, 0xca,
|
||||
0xda, 0x0f, 0x2a, 0x0e, 0x69, 0x65, 0xf6, 0x5e, 0x65, 0xbd, 0xc1, 0x95, 0xe9, 0x9d, 0x4a, 0x62,
|
||||
0xaf, 0x26, 0x7b, 0xc6, 0x7f, 0xe6, 0x7e, 0x3a, 0xec, 0xb0, 0x30, 0xbf, 0xcb, 0x23, 0x23, 0xb4,
|
||||
0x2c, 0x6e, 0xc9, 0x07, 0x6b, 0xd1, 0x2b, 0x6c, 0x19, 0x3e, 0xdc, 0x2e, 0x6a, 0xb4, 0x80, 0x0f,
|
||||
0x87, 0xf1, 0x6b, 0xd4, 0x6f, 0xa1, 0x8e, 0xed, 0x15, 0xd4, 0xc7, 0xdd, 0x24, 0xcb, 0x36, 0x06,
|
||||
0x5b, 0x35, 0x4d, 0xba, 0xb8, 0xea, 0x3d, 0x9e, 0xbf, 0x48, 0x1a, 0xe7, 0x91, 0x27, 0x30, 0xf5,
|
||||
0x97, 0xb6, 0xfe, 0xe2, 0xbb, 0x0a, 0x4c, 0x7c, 0xad, 0x44, 0xb4, 0xb7, 0x78, 0x5d, 0xfe, 0x06,
|
||||
0x00, 0x00, 0xff, 0xff, 0x09, 0x26, 0xa2, 0x60, 0x13, 0x03, 0x00, 0x00,
|
||||
// 337 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x4f, 0x4b, 0xfb, 0x40,
|
||||
0x10, 0x25, 0xfc, 0xa0, 0x87, 0x2d, 0x3f, 0xb4, 0xab, 0x42, 0x09, 0x6a, 0xff, 0x9e, 0x13, 0xd0,
|
||||
0x6f, 0xe0, 0x41, 0xf0, 0x50, 0x28, 0x51, 0x2f, 0x5e, 0x24, 0xd9, 0xac, 0x76, 0x69, 0x92, 0x59,
|
||||
0x77, 0x27, 0x95, 0x7a, 0xf1, 0x20, 0x08, 0x82, 0x9f, 0xc6, 0x4f, 0x28, 0x4d, 0x9a, 0x64, 0x9b,
|
||||
0xd2, 0x62, 0x8e, 0xfb, 0xde, 0xdb, 0xf7, 0x66, 0x67, 0x66, 0xc9, 0x89, 0x92, 0xcc, 0x95, 0xbe,
|
||||
0x42, 0xc1, 0x84, 0xf4, 0x13, 0x74, 0xa4, 0x02, 0x04, 0xfa, 0x4f, 0x49, 0x66, 0xff, 0x07, 0x89,
|
||||
0x02, 0x12, 0x9d, 0x63, 0xf6, 0x71, 0x24, 0x16, 0x7c, 0x2e, 0xf0, 0x31, 0x86, 0x90, 0x47, 0x05,
|
||||
0x4a, 0x0b, 0x54, 0x01, 0xc4, 0x39, 0x76, 0xf1, 0xdd, 0x22, 0xed, 0x69, 0xe5, 0x49, 0xdf, 0x49,
|
||||
0xc7, 0xe3, 0x31, 0x2c, 0xb8, 0x09, 0xf6, 0x9d, 0xf5, 0x4d, 0xc7, 0x03, 0x88, 0x0d, 0xe6, 0x26,
|
||||
0xe4, 0x09, 0x0a, 0x5c, 0xda, 0xc3, 0x4a, 0x51, 0xbf, 0xed, 0x71, 0x2d, 0x21, 0xd1, 0x7c, 0x38,
|
||||
0xfe, 0xf9, 0xb2, 0xfa, 0x87, 0x96, 0x7d, 0x4a, 0xda, 0xc6, 0x2b, 0xa8, 0x79, 0xe8, 0x5a, 0x74,
|
||||
0x49, 0xe8, 0x24, 0x45, 0x3e, 0x4d, 0x83, 0x48, 0xe8, 0x19, 0x0f, 0xef, 0x94, 0xcf, 0xe6, 0xf4,
|
||||
0xac, 0xf4, 0x5f, 0x91, 0xab, 0x2a, 0x32, 0xdc, 0xe3, 0x2f, 0x29, 0xd7, 0x68, 0x9f, 0xef, 0xa2,
|
||||
0x1b, 0x45, 0x2f, 0x48, 0xe7, 0x5e, 0x86, 0x3e, 0x6e, 0xbc, 0x7d, 0x50, 0x5a, 0x6f, 0x71, 0x45,
|
||||
0x7a, 0xb7, 0x94, 0x98, 0xad, 0x49, 0x9e, 0xe0, 0x8f, 0xb9, 0x9f, 0x16, 0x39, 0xca, 0xcd, 0x6f,
|
||||
0xd3, 0x40, 0x33, 0x25, 0xf2, 0x59, 0xd2, 0x51, 0x2d, 0x7a, 0x83, 0x2d, 0xc2, 0xc7, 0xfb, 0x45,
|
||||
0x8d, 0x1a, 0xf0, 0x61, 0x11, 0x7a, 0x0d, 0xea, 0xd5, 0x57, 0xa1, 0xd9, 0x82, 0x6a, 0xb8, 0xdb,
|
||||
0x64, 0x51, 0xc6, 0x68, 0xaf, 0xa6, 0x51, 0x15, 0x6f, 0xe4, 0x60, 0x52, 0x5b, 0xc0, 0x5e, 0x35,
|
||||
0xdf, 0xfa, 0x72, 0xe5, 0xf1, 0xfd, 0xdd, 0x82, 0x26, 0xd9, 0x57, 0x83, 0x87, 0xde, 0xb3, 0xc0,
|
||||
0x59, 0x1a, 0x38, 0x0c, 0x62, 0x77, 0xed, 0xe9, 0x66, 0x5f, 0x85, 0x41, 0xe4, 0x2a, 0xc9, 0x82,
|
||||
0x56, 0x76, 0xba, 0xfc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x30, 0x94, 0x6b, 0x3a, 0x8f, 0x03, 0x00,
|
||||
0x00,
|
||||
}
|
||||
|
||||
@@ -31,6 +31,22 @@ type FakeTypedParticipantClient struct {
|
||||
result1 *livekit.ForwardParticipantResponse
|
||||
result2 error
|
||||
}
|
||||
MoveParticipantStub func(context.Context, rpc.ParticipantTopic, *livekit.MoveParticipantRequest, ...psrpc.RequestOption) (*livekit.MoveParticipantResponse, error)
|
||||
moveParticipantMutex sync.RWMutex
|
||||
moveParticipantArgsForCall []struct {
|
||||
arg1 context.Context
|
||||
arg2 rpc.ParticipantTopic
|
||||
arg3 *livekit.MoveParticipantRequest
|
||||
arg4 []psrpc.RequestOption
|
||||
}
|
||||
moveParticipantReturns struct {
|
||||
result1 *livekit.MoveParticipantResponse
|
||||
result2 error
|
||||
}
|
||||
moveParticipantReturnsOnCall map[int]struct {
|
||||
result1 *livekit.MoveParticipantResponse
|
||||
result2 error
|
||||
}
|
||||
MutePublishedTrackStub func(context.Context, rpc.ParticipantTopic, *livekit.MuteRoomTrackRequest, ...psrpc.RequestOption) (*livekit.MuteRoomTrackResponse, error)
|
||||
mutePublishedTrackMutex sync.RWMutex
|
||||
mutePublishedTrackArgsForCall []struct {
|
||||
@@ -190,6 +206,73 @@ func (fake *FakeTypedParticipantClient) ForwardParticipantReturnsOnCall(i int, r
|
||||
}{result1, result2}
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipant(arg1 context.Context, arg2 rpc.ParticipantTopic, arg3 *livekit.MoveParticipantRequest, arg4 ...psrpc.RequestOption) (*livekit.MoveParticipantResponse, error) {
|
||||
fake.moveParticipantMutex.Lock()
|
||||
ret, specificReturn := fake.moveParticipantReturnsOnCall[len(fake.moveParticipantArgsForCall)]
|
||||
fake.moveParticipantArgsForCall = append(fake.moveParticipantArgsForCall, struct {
|
||||
arg1 context.Context
|
||||
arg2 rpc.ParticipantTopic
|
||||
arg3 *livekit.MoveParticipantRequest
|
||||
arg4 []psrpc.RequestOption
|
||||
}{arg1, arg2, arg3, arg4})
|
||||
stub := fake.MoveParticipantStub
|
||||
fakeReturns := fake.moveParticipantReturns
|
||||
fake.recordInvocation("MoveParticipant", []interface{}{arg1, arg2, arg3, arg4})
|
||||
fake.moveParticipantMutex.Unlock()
|
||||
if stub != nil {
|
||||
return stub(arg1, arg2, arg3, arg4...)
|
||||
}
|
||||
if specificReturn {
|
||||
return ret.result1, ret.result2
|
||||
}
|
||||
return fakeReturns.result1, fakeReturns.result2
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipantCallCount() int {
|
||||
fake.moveParticipantMutex.RLock()
|
||||
defer fake.moveParticipantMutex.RUnlock()
|
||||
return len(fake.moveParticipantArgsForCall)
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipantCalls(stub func(context.Context, rpc.ParticipantTopic, *livekit.MoveParticipantRequest, ...psrpc.RequestOption) (*livekit.MoveParticipantResponse, error)) {
|
||||
fake.moveParticipantMutex.Lock()
|
||||
defer fake.moveParticipantMutex.Unlock()
|
||||
fake.MoveParticipantStub = stub
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipantArgsForCall(i int) (context.Context, rpc.ParticipantTopic, *livekit.MoveParticipantRequest, []psrpc.RequestOption) {
|
||||
fake.moveParticipantMutex.RLock()
|
||||
defer fake.moveParticipantMutex.RUnlock()
|
||||
argsForCall := fake.moveParticipantArgsForCall[i]
|
||||
return argsForCall.arg1, argsForCall.arg2, argsForCall.arg3, argsForCall.arg4
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipantReturns(result1 *livekit.MoveParticipantResponse, result2 error) {
|
||||
fake.moveParticipantMutex.Lock()
|
||||
defer fake.moveParticipantMutex.Unlock()
|
||||
fake.MoveParticipantStub = nil
|
||||
fake.moveParticipantReturns = struct {
|
||||
result1 *livekit.MoveParticipantResponse
|
||||
result2 error
|
||||
}{result1, result2}
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MoveParticipantReturnsOnCall(i int, result1 *livekit.MoveParticipantResponse, result2 error) {
|
||||
fake.moveParticipantMutex.Lock()
|
||||
defer fake.moveParticipantMutex.Unlock()
|
||||
fake.MoveParticipantStub = nil
|
||||
if fake.moveParticipantReturnsOnCall == nil {
|
||||
fake.moveParticipantReturnsOnCall = make(map[int]struct {
|
||||
result1 *livekit.MoveParticipantResponse
|
||||
result2 error
|
||||
})
|
||||
}
|
||||
fake.moveParticipantReturnsOnCall[i] = struct {
|
||||
result1 *livekit.MoveParticipantResponse
|
||||
result2 error
|
||||
}{result1, result2}
|
||||
}
|
||||
|
||||
func (fake *FakeTypedParticipantClient) MutePublishedTrack(arg1 context.Context, arg2 rpc.ParticipantTopic, arg3 *livekit.MuteRoomTrackRequest, arg4 ...psrpc.RequestOption) (*livekit.MuteRoomTrackResponse, error) {
|
||||
fake.mutePublishedTrackMutex.Lock()
|
||||
ret, specificReturn := fake.mutePublishedTrackReturnsOnCall[len(fake.mutePublishedTrackArgsForCall)]
|
||||
@@ -465,6 +548,8 @@ func (fake *FakeTypedParticipantClient) Invocations() map[string][][]interface{}
|
||||
defer fake.closeMutex.RUnlock()
|
||||
fake.forwardParticipantMutex.RLock()
|
||||
defer fake.forwardParticipantMutex.RUnlock()
|
||||
fake.moveParticipantMutex.RLock()
|
||||
defer fake.moveParticipantMutex.RUnlock()
|
||||
fake.mutePublishedTrackMutex.RLock()
|
||||
defer fake.mutePublishedTrackMutex.RUnlock()
|
||||
fake.removeParticipantMutex.RLock()
|
||||
|
||||
@@ -24,14 +24,11 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
memStatsPathV1 = "/sys/fs/memory/memory.usage_in_bytes"
|
||||
memStatsPathV2 = "/sys/fs/memory/memory.current"
|
||||
|
||||
memUsagePathV1 = "/sys/fs/cgroup/memory/memory.usage_in_bytes"
|
||||
memLimitPathV1 = "/sys/fs/cgroup/memory/memory.limit_in_bytes"
|
||||
|
||||
memCurrentPathV2 = "/sys/fs/cgroup/memory/memory.current"
|
||||
memMaxPathV2 = "/sys/fs/cgroup/memory/memory.max"
|
||||
memCurrentPathV2 = "/sys/fs/cgroup/memory.current"
|
||||
memMaxPathV2 = "/sys/fs/cgroup/memory.max"
|
||||
)
|
||||
|
||||
type memInfoGetter interface {
|
||||
@@ -54,8 +51,8 @@ func newPlatformMemoryGetter() (platformMemoryGetter, error) {
|
||||
// probe for the cgroup version
|
||||
var cg memInfoGetter
|
||||
for k, v := range map[string]func(osStat *osStatMemoryGetter) memInfoGetter{
|
||||
memStatsPathV1: newMemInfoGetterV1,
|
||||
memStatsPathV2: newMemInfoGetterV2,
|
||||
memUsagePathV1: newMemInfoGetterV1,
|
||||
memCurrentPathV2: newMemInfoGetterV2,
|
||||
} {
|
||||
e, err := fileExists(k)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user