Skip to content

Commit dd02cdd

Browse files
committed
ensure that 'peer' is emitted before 'connect' event fires
This is just a defensive code change to ensure that if signal() were somehow able to cause the peer to synchronously emit the 'connect' event that we won't cause the 'error' listener to be unregistered before 'peer' is emitted and the user has a chance to register their own 'error' listener
1 parent ce8ea41 commit dd02cdd

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/client/websocket-tracker.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -278,17 +278,17 @@ class WebSocketTracker extends Tracker {
278278
if (this._trackerId) params.trackerid = this._trackerId
279279
this._send(params)
280280
})
281-
peer.signal(data.offer)
282281
this.client.emit('peer', peer)
282+
peer.signal(data.offer)
283283
}
284284

285285
if (data.answer && data.peer_id) {
286286
const offerId = common.binaryToHex(data.offer_id)
287287
peer = this.peers[offerId]
288288
if (peer) {
289289
peer.id = common.binaryToHex(data.peer_id)
290-
peer.signal(data.answer)
291290
this.client.emit('peer', peer)
291+
peer.signal(data.answer)
292292

293293
clearTimeout(peer.trackerTimeout)
294294
peer.trackerTimeout = null

0 commit comments

Comments
 (0)