*Store the listenConnections connection so don't create duplicates incase init/ready is called multiple times
This commit is contained in:
parent
14a71cffd9
commit
290ca18c4b
11
src/index.ts
11
src/index.ts
|
@ -15,6 +15,10 @@ export class SwarmClient extends Client {
|
||||||
private _connectBackoff: any;
|
private _connectBackoff: any;
|
||||||
|
|
||||||
private _ready?: Promise<void>;
|
private _ready?: Promise<void>;
|
||||||
|
private _connectionListener?: [
|
||||||
|
sendUpdate: DataFn,
|
||||||
|
response: Promise<ErrTuple>
|
||||||
|
];
|
||||||
|
|
||||||
private _topics: Set<Uint8Array> = new Set<Uint8Array>();
|
private _topics: Set<Uint8Array> = new Set<Uint8Array>();
|
||||||
private _sockets: Map<number, Socket> = new Map<number, Socket>();
|
private _sockets: Map<number, Socket> = new Map<number, Socket>();
|
||||||
|
@ -87,7 +91,8 @@ export class SwarmClient extends Client {
|
||||||
}
|
}
|
||||||
|
|
||||||
private async _listen() {
|
private async _listen() {
|
||||||
const connect = this.connectModule(
|
if (!this._connectionListener) {
|
||||||
|
this._connectionListener = this.connectModule(
|
||||||
"listenConnections",
|
"listenConnections",
|
||||||
{ swarm: this.swarm },
|
{ swarm: this.swarm },
|
||||||
async (socketId: any) => {
|
async (socketId: any) => {
|
||||||
|
@ -105,8 +110,10 @@ export class SwarmClient extends Client {
|
||||||
this.emit("connection", socket);
|
this.emit("connection", socket);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
await connect[1];
|
await this._connectionListener[1];
|
||||||
|
this._connectionListener = undefined;
|
||||||
this.start();
|
this.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue