Skip to content

Commit 2b89100

Browse files
committed
Do not use lambda debug
Such lambdas increase memory usage
1 parent cf98a8c commit 2b89100

3 files changed

Lines changed: 32 additions & 34 deletions

File tree

lib/fast-tracker.ts

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616

1717
import { Tracker, PeerContext, TrackerError } from "./tracker";
1818

19-
import * as DebugModule from "debug";
20-
import { ldebug as ldebugConstructor } from "./lambda-debug";
19+
import * as Debug from "debug";
2120

22-
const debug = DebugModule("wt-tracker:fast-tracker");
23-
const ldebug = ldebugConstructor(debug);
21+
const debug = Debug("wt-tracker:fast-tracker");
22+
const debugEnabled = debug.enabled;
2423

2524
export class FastTracker implements Tracker {
2625
private _swarms = new Map<string, Swarm>();
@@ -71,13 +70,17 @@ export class FastTracker implements Tracker {
7170
return;
7271
}
7372

74-
ldebug(() => ["disconnect peer:", Buffer.from(peerId).toString("hex")]);
73+
if (debugEnabled) {
74+
debug("disconnect peer:", Buffer.from(peerId).toString("hex"));
75+
}
7576

7677
for (const swarmContext of (peer as InternalPeerContext).swarms!) {
7778
const swarm = swarmContext.swarm;
7879
swarm.removePeer(peer);
7980
if (swarm.peers.size === 0) {
80-
ldebug(() => ["swarm removed (empty)", Buffer.from(swarm.infoHash).toString("hex")]);
81+
if (debugEnabled) {
82+
debug("swarm removed (empty)", Buffer.from(swarm.infoHash).toString("hex"));
83+
}
8184
this._swarms.delete(swarm.infoHash);
8285
} else if (swarmContext.completed) {
8386
swarm.completedCount--;
@@ -139,12 +142,16 @@ export class FastTracker implements Tracker {
139142
throw new TrackerError("announce: info_hash field is missing or wrong");
140143
}
141144

142-
ldebug(() => ["announce: swarm created:", Buffer.from(infoHash).toString("hex")]);
145+
if (debugEnabled) {
146+
debug("announce: swarm created:", Buffer.from(infoHash).toString("hex"));
147+
}
143148
swarm = new Swarm(infoHash);
144149
this._swarms.set(infoHash, swarm);
145150
}
146151

147-
ldebug(() => ["announce: peer", Buffer.from(peer.id!).toString("hex"), "added to swarm", Buffer.from(infoHash).toString("hex")]);
152+
if (debugEnabled) {
153+
debug("announce: peer", Buffer.from(peer.id!).toString("hex"), "added to swarm", Buffer.from(infoHash).toString("hex"));
154+
}
148155

149156
const previousPeer = swarm.peers.get(peer.id!);
150157
if (previousPeer !== undefined) {
@@ -233,7 +240,9 @@ export class FastTracker implements Tracker {
233240
delete json.to_peer_id;
234241
toPeer.sendMessage(json);
235242

236-
ldebug(() => ["answer: from peer", Buffer.from(peer.id!).toString("hex"), "to peer", Buffer.from(toPeerId).toString("hex")]);
243+
if (debugEnabled) {
244+
debug("answer: from peer", Buffer.from(peer.id!).toString("hex"), "to peer", Buffer.from(toPeerId).toString("hex"));
245+
}
237246
}
238247

239248
private processStop(json: any, peer: InternalPeerContext) {
@@ -255,10 +264,14 @@ export class FastTracker implements Tracker {
255264
return;
256265
}
257266

258-
ldebug(() => ["stop event: peer", Buffer.from(peerId).toString("hex"), "remove from swarm", Buffer.from(infoHash).toString("hex")]);
267+
if (debugEnabled) {
268+
debug("stop event: peer", Buffer.from(peerId).toString("hex"), "remove from swarm", Buffer.from(infoHash).toString("hex"));
269+
}
259270

260271
if (swarm.peers.size === 0) {
261-
ldebug(() => ["stop event: swarm removed (empty)", Buffer.from(infoHash).toString("hex")]);
272+
if (debugEnabled) {
273+
debug("stop event: swarm removed (empty)", Buffer.from(infoHash).toString("hex"));
274+
}
262275
this._swarms.delete(infoHash);
263276
}
264277
}

lib/lambda-debug.ts

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/uws-tracker.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import { Tracker, PeerContext, TrackerError } from "./tracker";
1919
import { StringDecoder } from "string_decoder";
2020

2121
import * as Debug from "debug";
22-
import { ldebug } from "./lambda-debug";
2322

2423
const debugWebSockets = Debug("wt-tracker:uws-tracker");
25-
const ldebugMessages = ldebug(Debug("wt-tracker:uws-tracker-messages"));
24+
const debugMessages = Debug("wt-tracker:uws-tracker-messages");
25+
const debugMessagesEnabled = debugMessages.enabled;
2626
const decoder = new StringDecoder();
2727

2828
export class UWebSocketsTracker {
@@ -106,13 +106,17 @@ export class UWebSocketsTracker {
106106

107107
let peer: PeerContext | undefined = (ws as any).peer;
108108

109-
ldebugMessages(() => ["in", (peer && peer.id) ? Buffer.from(peer.id).toString("hex") : "unknown peer", json]);
109+
if (debugMessagesEnabled) {
110+
debugMessages("in", (peer && peer.id) ? Buffer.from(peer.id).toString("hex") : "unknown peer", json);
111+
}
110112

111113
if (peer === undefined) {
112114
peer = {
113115
sendMessage: (jsonToSend: any) => {
114116
ws.send(JSON.stringify(jsonToSend), false, false);
115-
ldebugMessages(() => ["out", peer!.id ? Buffer.from(peer!.id).toString("hex") : "unknown peer", jsonToSend]);
117+
if (debugMessagesEnabled) {
118+
debugMessages("out", peer!.id ? Buffer.from(peer!.id).toString("hex") : "unknown peer", jsonToSend);
119+
}
116120
},
117121
};
118122
(ws as any).peer = peer;

0 commit comments

Comments
 (0)