Skip to content

Commit ef12d5e

Browse files
committed
Clear potential connections if a connection succeeded
1 parent b26df75 commit ef12d5e

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

packages/p2p-media-loader-core/src/p2p/tracker-client.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,23 +97,29 @@ export class P2PTrackerClient {
9797
) => {
9898
const itemId = Peer.getPeerIdFromConnection(peerConnection);
9999
let peerItem = this._peers.get(itemId);
100+
100101
if (peerItem?.peer) {
101102
peerConnection.destroy();
102103
return;
103-
} else if (!peerItem) {
104+
}
105+
106+
if (!peerItem) {
104107
peerItem = { potentialConnections: new Set() };
105108
peerConnection.idUtf8 = itemId;
106-
peerItem.potentialConnections.add(peerConnection);
107109
this._peers.set(itemId, peerItem);
108110
}
109111

112+
peerItem.potentialConnections.add(peerConnection);
113+
110114
peerConnection.on("connect", () => {
111115
if (peerItem.peer) return;
112116

113117
for (const connection of peerItem.potentialConnections) {
114118
if (connection !== peerConnection) connection.destroy();
115119
}
120+
116121
peerItem.potentialConnections.clear();
122+
117123
peerItem.peer = new Peer(
118124
peerConnection,
119125
{

0 commit comments

Comments
 (0)