From 69d9cc19bccd3b076ed449e420a4640b09eddac0 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Thu, 7 Apr 2022 23:11:11 -0700 Subject: [PATCH] Switch back to reconnecting only on failure. (#604) Sometimes peerconnection jumps to disconnected periodically even when the underlying connection is ok. In these cases we are triggering unnecessary connection restarts. Given this, we'll leave the responsibility of early-detecting disconnections to clients, where they have more control/knowledge of networking conditions. --- pkg/rtc/participant.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/rtc/participant.go b/pkg/rtc/participant.go index 1767cb0c3..84ad4fb76 100644 --- a/pkg/rtc/participant.go +++ b/pkg/rtc/participant.go @@ -1024,7 +1024,7 @@ func (p *ParticipantImpl) handlePrimaryStateChange(state webrtc.PeerConnectionSt p.SetMigrateState(types.MigrateStateComplete) } p.incActiveCounter() - } else if state == webrtc.PeerConnectionStateDisconnected { + } else if state == webrtc.PeerConnectionStateFailed { // clients support resuming of connections when websocket becomes disconnected p.closeSignalConnection() @@ -1060,7 +1060,7 @@ func (p *ParticipantImpl) handlePrimaryStateChange(state webrtc.PeerConnectionSt // for the secondary peer connection, we still need to handle when they become disconnected // instead of allowing them to silently fail. func (p *ParticipantImpl) handleSecondaryStateChange(state webrtc.PeerConnectionState) { - if state == webrtc.PeerConnectionStateDisconnected { + if state == webrtc.PeerConnectionStateFailed { // clients support resuming of connections when websocket becomes disconnected p.closeSignalConnection() }