Closed DamonOehlman closed 10 years ago
Having a look at the primus docs on how reconnections are handled this may require implementation at the rtc-signaller
level rather than the switchboard. Primarily this is because the client has more awareness of when reconnection is being attempted than the server.
One rtc-switchboard
only option is to start a leave timer when the disconnection is detected, and after a certain time actually send the /leave
messages throughout the room. This would be a pretty hit and miss strategy, however, and using a combination of the iceConnectionState
of a peer connection in conjunction with the signaling connection status probably makes more sense...
This has been implemented at the rtc-signaller
module layer.
Currently when a socket is closed switchboard takes this as an indication that the client has left. This is not correct as a websocket connection (like any other network connection) is susceptible to dropping out. Primus handles this case and automatically reconnects "sparks" - we need to ensure that this is handled correctly by the switchboard.