From f80e87b2167da68486afa0c4369f0b9efa2d9fb2 Mon Sep 17 00:00:00 2001 From: Paul Wells Date: Tue, 24 Oct 2023 11:41:52 -0700 Subject: [PATCH] skip psrpc service registration unless the config is enabled (#2181) --- pkg/service/roommanager.go | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/pkg/service/roommanager.go b/pkg/service/roommanager.go index 8a21933dd..14caa049e 100644 --- a/pkg/service/roommanager.go +++ b/pkg/service/roommanager.go @@ -433,10 +433,12 @@ func (r *RoomManager) StartSession( _ = participant.Close(true, types.ParticipantCloseReasonJoinFailed, false) return err } - if err := r.roomServer.RegisterAllParticipantTopics(rpc.FormatParticipantTopic(roomName, participant.Identity())); err != nil { - pLogger.Errorw("could not join register participant topic", err) - _ = participant.Close(true, types.ParticipantCloseReasonMessageBusFailed, false) - return err + if r.config.PSRPC.Enabled { + if err := r.roomServer.RegisterAllParticipantTopics(rpc.FormatParticipantTopic(roomName, participant.Identity())); err != nil { + pLogger.Errorw("could not join register participant topic", err) + _ = participant.Close(true, types.ParticipantCloseReasonMessageBusFailed, false) + return err + } } if err = r.roomStore.StoreParticipant(ctx, roomName, participant.ToProto()); err != nil { pLogger.Errorw("could not store participant", err) @@ -461,7 +463,9 @@ func (r *RoomManager) StartSession( pLogger.Errorw("could not delete participant", err) } - r.roomServer.DeregisterAllParticipantTopics(rpc.FormatParticipantTopic(roomName, participant.Identity())) + if r.config.PSRPC.Enabled { + r.roomServer.DeregisterAllParticipantTopics(rpc.FormatParticipantTopic(roomName, participant.Identity())) + } // update room store with new numParticipants proto := room.ToProto() @@ -503,8 +507,10 @@ func (r *RoomManager) getOrCreateRoom(ctx context.Context, roomName livekit.Room return nil, err } - if err := r.roomServer.RegisterAllRoomTopics(rpc.FormatRoomTopic(roomName)); err != nil { - return nil, err + if r.config.PSRPC.Enabled { + if err := r.roomServer.RegisterAllRoomTopics(rpc.FormatRoomTopic(roomName)); err != nil { + return nil, err + } } r.lock.Lock() @@ -525,7 +531,9 @@ func (r *RoomManager) getOrCreateRoom(ctx context.Context, roomName livekit.Room newRoom := rtc.NewRoom(ri, internal, *r.rtcConfig, &r.config.Audio, r.serverInfo, r.telemetry, r.egressLauncher) newRoom.OnClose(func() { - r.roomServer.DeregisterAllRoomTopics(rpc.FormatRoomTopic(roomName)) + if r.config.PSRPC.Enabled { + r.roomServer.DeregisterAllRoomTopics(rpc.FormatRoomTopic(roomName)) + } roomInfo := newRoom.ToProto() r.telemetry.RoomEnded(ctx, roomInfo)