@leofcoin/peernet 1.1.19 → 1.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/exports/browser/{client-b33e3834.js → client-de444350.js} +25 -16
- package/exports/browser/{index-f8466989.js → index-712688fc.js} +1 -1
- package/exports/browser/{messages-3ad9622e.js → messages-3f370680.js} +1 -1
- package/exports/browser/{peernet-173d15f5.js → peernet-83538246.js} +4247 -144
- package/exports/browser/peernet.js +1 -1
- package/exports/peernet.js +18 -9
- package/package.json +1 -1
- package/src/peernet.ts +17 -9
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { P as default } from './peernet-
|
|
1
|
+
export { P as default } from './peernet-83538246.js';
|
|
2
2
|
import './value-157ab062.js';
|
package/exports/peernet.js
CHANGED
|
@@ -559,18 +559,19 @@ class Peernet {
|
|
|
559
559
|
pubsub.publish('peer:connected', peer);
|
|
560
560
|
// todo: cleanup discovered
|
|
561
561
|
});
|
|
562
|
+
pubsub.subscribe('peer:left', this.#peerLeft.bind(this));
|
|
562
563
|
/**
|
|
563
564
|
* converts data -> message -> proto
|
|
564
565
|
* @see DataHandler
|
|
565
566
|
*/
|
|
566
567
|
pubsub.subscribe('peer:data', dataHandler);
|
|
567
568
|
if (globalThis.navigator) {
|
|
568
|
-
globalThis.addEventListener('beforeunload', async () => this.client.
|
|
569
|
+
globalThis.addEventListener('beforeunload', async () => this.client.destroy());
|
|
569
570
|
}
|
|
570
571
|
else {
|
|
571
572
|
process.on('SIGTERM', async () => {
|
|
572
573
|
process.stdin.resume();
|
|
573
|
-
await this.client.
|
|
574
|
+
await this.client.destroy();
|
|
574
575
|
process.exit();
|
|
575
576
|
});
|
|
576
577
|
}
|
|
@@ -591,16 +592,24 @@ class Peernet {
|
|
|
591
592
|
this.#started = true;
|
|
592
593
|
this.#starting = false;
|
|
593
594
|
}
|
|
595
|
+
#peerLeft(peer) {
|
|
596
|
+
for (const [id, _peer] of Object.entries(this.#connections)) {
|
|
597
|
+
if (peer.id === peer.id) {
|
|
598
|
+
delete this.#connections[id];
|
|
599
|
+
this.removePeer(_peer);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
}
|
|
594
603
|
addRequestHandler(name, method) {
|
|
595
604
|
this.requestProtos[name] = method;
|
|
596
605
|
}
|
|
597
606
|
async sendMessage(peer, id, data) {
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
607
|
+
if (peer.connected) {
|
|
608
|
+
await peer.send(data, id);
|
|
609
|
+
this.bw.up += data.length;
|
|
610
|
+
}
|
|
611
|
+
else
|
|
612
|
+
this.removePeer(peer);
|
|
604
613
|
}
|
|
605
614
|
async handleDHT(peer, id, proto) {
|
|
606
615
|
let { hash, store } = proto.decoded;
|
|
@@ -1004,7 +1013,7 @@ class Peernet {
|
|
|
1004
1013
|
globalSub.subscribe(topic, callback);
|
|
1005
1014
|
}
|
|
1006
1015
|
async removePeer(peer) {
|
|
1007
|
-
return this.client.
|
|
1016
|
+
return this.client._removePeer(peer);
|
|
1008
1017
|
}
|
|
1009
1018
|
get Buffer() {
|
|
1010
1019
|
return Buffer;
|
package/package.json
CHANGED
package/src/peernet.ts
CHANGED
|
@@ -242,6 +242,8 @@ export default class Peernet {
|
|
|
242
242
|
// todo: cleanup discovered
|
|
243
243
|
})
|
|
244
244
|
|
|
245
|
+
pubsub.subscribe('peer:left', this.#peerLeft.bind(this))
|
|
246
|
+
|
|
245
247
|
/**
|
|
246
248
|
* converts data -> message -> proto
|
|
247
249
|
* @see DataHandler
|
|
@@ -249,11 +251,11 @@ export default class Peernet {
|
|
|
249
251
|
pubsub.subscribe('peer:data', dataHandler)
|
|
250
252
|
|
|
251
253
|
if (globalThis.navigator) {
|
|
252
|
-
globalThis.addEventListener('beforeunload', async () => this.client.
|
|
254
|
+
globalThis.addEventListener('beforeunload', async () => this.client.destroy());
|
|
253
255
|
} else {
|
|
254
256
|
process.on('SIGTERM', async () => {
|
|
255
257
|
process.stdin.resume();
|
|
256
|
-
await this.client.
|
|
258
|
+
await this.client.destroy()
|
|
257
259
|
process.exit()
|
|
258
260
|
});
|
|
259
261
|
}
|
|
@@ -275,19 +277,25 @@ export default class Peernet {
|
|
|
275
277
|
this.#starting = false
|
|
276
278
|
}
|
|
277
279
|
|
|
280
|
+
#peerLeft(peer) {
|
|
281
|
+
for (const [id, _peer] of Object.entries(this.#connections)) {
|
|
282
|
+
if (peer.id === peer.id) {
|
|
283
|
+
delete this.#connections[id]
|
|
284
|
+
this.removePeer(_peer)
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
}
|
|
289
|
+
|
|
278
290
|
addRequestHandler(name, method) {
|
|
279
291
|
this.requestProtos[name] = method
|
|
280
292
|
}
|
|
281
293
|
|
|
282
294
|
async sendMessage(peer, id, data) {
|
|
283
|
-
|
|
284
|
-
// if (peer.readyState === 'open') {
|
|
295
|
+
if (peer.connected) {
|
|
285
296
|
await peer.send(data, id)
|
|
286
297
|
this.bw.up += data.length
|
|
287
|
-
|
|
288
|
-
// this.removePeer(peer)
|
|
289
|
-
// }
|
|
290
|
-
|
|
298
|
+
} else this.removePeer(peer)
|
|
291
299
|
}
|
|
292
300
|
|
|
293
301
|
async handleDHT(peer, id, proto) {
|
|
@@ -712,7 +720,7 @@ export default class Peernet {
|
|
|
712
720
|
}
|
|
713
721
|
|
|
714
722
|
async removePeer(peer) {
|
|
715
|
-
return this.client.
|
|
723
|
+
return this.client._removePeer(peer)
|
|
716
724
|
}
|
|
717
725
|
|
|
718
726
|
get Buffer() {
|