Skip to content

Commit 3b5e79e

Browse files
refactor: remove useless references
Those timers are only used during the upgrade, so there is no need to keep those references in memory.
1 parent f27a6c3 commit 3b5e79e

File tree

1 file changed

+7
-15
lines changed

1 file changed

+7
-15
lines changed

lib/socket.ts

+7-15
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ export class Socket extends EventEmitter {
2828
private packetsFn: Array<() => void>;
2929
private sentCallbackFn: any[];
3030
private cleanupFn: any[];
31-
private checkIntervalTimer;
32-
private upgradeTimeoutTimer;
3331
private pingTimeoutTimer;
3432
private pingIntervalTimer;
3533

@@ -81,8 +79,6 @@ export class Socket extends EventEmitter {
8179
// see https://github.com/fails-components/webtransport/issues/114
8280
}
8381

84-
this.checkIntervalTimer = null;
85-
this.upgradeTimeoutTimer = null;
8682
this.pingTimeoutTimer = null;
8783
this.pingIntervalTimer = null;
8884

@@ -265,21 +261,23 @@ export class Socket extends EventEmitter {
265261
this.upgrading = true;
266262

267263
// set transport upgrade timer
268-
this.upgradeTimeoutTimer = setTimeout(() => {
264+
const upgradeTimeoutTimer = setTimeout(() => {
269265
debug("client did not complete upgrade - closing transport");
270266
cleanup();
271267
if ("open" === transport.readyState) {
272268
transport.close();
273269
}
274270
}, this.server.opts.upgradeTimeout);
275271

272+
let checkIntervalTimer;
273+
276274
const onPacket = (packet) => {
277275
if ("ping" === packet.type && "probe" === packet.data) {
278276
debug("got probe ping packet, sending pong");
279277
transport.send([{ type: "pong", data: "probe" }]);
280278
this.emit("upgrading", transport);
281-
clearInterval(this.checkIntervalTimer);
282-
this.checkIntervalTimer = setInterval(check, 100);
279+
clearInterval(checkIntervalTimer);
280+
checkIntervalTimer = setInterval(check, 100);
283281
} else if ("upgrade" === packet.type && this.readyState !== "closed") {
284282
debug("got upgrade packet - upgrading");
285283
cleanup();
@@ -311,11 +309,8 @@ export class Socket extends EventEmitter {
311309
const cleanup = () => {
312310
this.upgrading = false;
313311

314-
clearInterval(this.checkIntervalTimer);
315-
this.checkIntervalTimer = null;
316-
317-
clearTimeout(this.upgradeTimeoutTimer);
318-
this.upgradeTimeoutTimer = null;
312+
clearInterval(checkIntervalTimer);
313+
clearTimeout(upgradeTimeoutTimer);
319314

320315
transport.removeListener("packet", onPacket);
321316
transport.removeListener("close", onTransportClose);
@@ -384,9 +379,6 @@ export class Socket extends EventEmitter {
384379
clearTimeout(this.pingIntervalTimer);
385380
clearTimeout(this.pingTimeoutTimer);
386381

387-
clearInterval(this.checkIntervalTimer);
388-
this.checkIntervalTimer = null;
389-
clearTimeout(this.upgradeTimeoutTimer);
390382
// clean writeBuffer in next tick, so developers can still
391383
// grab the writeBuffer on 'close' event
392384
process.nextTick(() => {

0 commit comments

Comments
 (0)