From 6af2a87dc6ba17b89cb193a7dd705695d44650d6 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento <rodrigoknascimento@gmail.com> Date: Fri, 2 Oct 2015 18:32:15 -0300 Subject: [PATCH] Expire connections after 5s trying to connect --- packages/rocketchat-webrtc/WebRTCClass.coffee | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/rocketchat-webrtc/WebRTCClass.coffee b/packages/rocketchat-webrtc/WebRTCClass.coffee index 2c5f0973d54..2d4dbc25970 100644 --- a/packages/rocketchat-webrtc/WebRTCClass.coffee +++ b/packages/rocketchat-webrtc/WebRTCClass.coffee @@ -149,6 +149,8 @@ class WebRTCClass @transport.onRemoteDescription @onRemoteDescription.bind @ @transport.onRemoteStatus @onRemoteStatus.bind @ + Meteor.setInterval @checkPeerConnections.bind(@), 1000 + Meteor.setInterval @broadcastStatus.bind(@), 1000 log: -> @@ -158,6 +160,11 @@ class WebRTCClass onError: -> console.error.apply(console, arguments) + checkPeerConnections: -> + for id, peerConnection of @peerConnections + if peerConnection.iceConnectionState not in ['connected', 'completed'] and peerConnection.createdAt + 5000 < Date.now() + @stopPeerConnection id + updateRemoteItems: -> items = [] itemsById = {} @@ -243,6 +250,7 @@ class WebRTCClass peerConnection = new RTCPeerConnection @config + peerConnection.createdAt = Date.now() peerConnection.remoteMedia = {} @peerConnections[id] = peerConnection -- GitLab