Skip to content

Commit 89b9fb7

Browse files
committed
prevent two reconnect timers for running at same time
1 parent 49025c1 commit 89b9fb7

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

lib/client/websocket-tracker.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ function WebSocketTracker (client, announceUrl, opts) {
2929

3030
self.peers = {} // peers (offer id -> peer)
3131
self.socket = null
32+
3233
self.reconnecting = false
3334
self.retries = 0
3435
self.reconnectTimer = null
@@ -91,7 +92,9 @@ WebSocketTracker.prototype.destroy = function (cb) {
9192
var self = this
9293
if (!cb) cb = noop
9394
if (self.destroyed) return cb(null)
95+
9496
self.destroyed = true
97+
9598
clearInterval(self.interval)
9699
clearTimeout(self.reconnectTimer)
97100

@@ -319,6 +322,7 @@ WebSocketTracker.prototype._startReconnectTimer = function () {
319322
var ms = Math.floor(Math.random() * RECONNECT_VARIANCE) + Math.min(Math.pow(2, self.retries) * RECONNECT_MINIMUM, RECONNECT_MAXIMUM)
320323

321324
self.reconnecting = true
325+
clearTimeout(self.reconnectTimer)
322326
self.reconnectTimer = setTimeout(function () {
323327
self.retries++
324328
self._openSocket()

0 commit comments

Comments
 (0)