@leofcoin/peernet 0.9.7 → 0.9.10
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/dist/browser/peernet.js +23 -4
- package/dist/commonjs/peernet.js +23 -4
- package/dist/module/peernet.js +23 -4
- package/package.json +1 -1
- package/src/client.js +5 -1
- package/src/discovery/peer-discovery.js +1 -1
- package/src/peer.js +15 -0
- package/src/peernet.js +1 -1
package/dist/browser/peernet.js
CHANGED
|
@@ -32,6 +32,7 @@ var MultiWallet__default = /*#__PURE__*/_interopDefaultLegacy(MultiWallet);
|
|
|
32
32
|
|
|
33
33
|
class PeernetPeer {
|
|
34
34
|
constructor(id, connection) {
|
|
35
|
+
this._events = {};
|
|
35
36
|
this.id = id;
|
|
36
37
|
this.connection = connection;
|
|
37
38
|
|
|
@@ -65,13 +66,27 @@ class PeernetPeer {
|
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
on(event = 'peernet.data', cb) {
|
|
69
|
+
this._events[event] = cb;
|
|
68
70
|
pubsub.subscribe(event, cb);
|
|
69
71
|
// this.connection.on(event, cb)
|
|
70
72
|
}
|
|
71
73
|
|
|
72
74
|
removeListener(event = 'data', cb) {
|
|
75
|
+
delete this._events[event];
|
|
73
76
|
pubsub.unsubscribe(event, cb);
|
|
74
77
|
}
|
|
78
|
+
|
|
79
|
+
close() {
|
|
80
|
+
for (const event of Object.keys(this._events)) {
|
|
81
|
+
pubsub.unsubscribe(event, this._events[event]);
|
|
82
|
+
}
|
|
83
|
+
this._events = [];
|
|
84
|
+
|
|
85
|
+
for (const event of this.connection._events.data) {
|
|
86
|
+
this.connection.removeListener('data', event);
|
|
87
|
+
}
|
|
88
|
+
this.connection.destroy();
|
|
89
|
+
}
|
|
75
90
|
}
|
|
76
91
|
|
|
77
92
|
/**
|
|
@@ -93,7 +108,7 @@ class PeernetClient {
|
|
|
93
108
|
this.topic = Buffer.from(sha256__default['default'](`${options.networkName}-${options.networkVersion}`).toString());
|
|
94
109
|
|
|
95
110
|
const trackers = [
|
|
96
|
-
'wss://star.leofcoin.org
|
|
111
|
+
'wss://star.leofcoin.org',
|
|
97
112
|
'wss://tracker.openwebtorrent.com',
|
|
98
113
|
// 'wss://tracker.sloppyta.co:443/announce',
|
|
99
114
|
];
|
|
@@ -106,6 +121,10 @@ class PeernetClient {
|
|
|
106
121
|
|
|
107
122
|
this.p2p.on('peerclose', (peer) => {
|
|
108
123
|
// TODO: close peernetPeer
|
|
124
|
+
const peernetPeer = connections.get(peer.id);
|
|
125
|
+
if (peernetPeer) {
|
|
126
|
+
peernetPeer.close();
|
|
127
|
+
}
|
|
109
128
|
connections.delete(peer.id);
|
|
110
129
|
pubsub.publish('peer:disconnected', peer);
|
|
111
130
|
});
|
|
@@ -261,7 +280,7 @@ class LeofcoinStorage$1 {
|
|
|
261
280
|
|
|
262
281
|
}
|
|
263
282
|
|
|
264
|
-
var version = "0.9.
|
|
283
|
+
var version = "0.9.9";
|
|
265
284
|
|
|
266
285
|
var api$1 = {
|
|
267
286
|
version: ({send}) => send({client: '@peernet/api/http', version}),
|
|
@@ -1689,7 +1708,7 @@ class PeerDiscovery {
|
|
|
1689
1708
|
const connections = peernet.peerMap.get(id);
|
|
1690
1709
|
if (connections.indexOf(peer.id) === -1) {
|
|
1691
1710
|
connections.push(peer.id);
|
|
1692
|
-
peernet.peerMap.set(
|
|
1711
|
+
peernet.peerMap.set(peer.id, connections);
|
|
1693
1712
|
}
|
|
1694
1713
|
}
|
|
1695
1714
|
return id
|
|
@@ -2271,7 +2290,7 @@ class Peernet {
|
|
|
2271
2290
|
}
|
|
2272
2291
|
|
|
2273
2292
|
if (data) {
|
|
2274
|
-
data = new DataMessageResponse({hash, data: Buffer.from(data)});
|
|
2293
|
+
data = new DataMessageResponse({hash, data: data.decoded ? Buffer.from(JSON.stringify(data)) : Buffer.from(data)});
|
|
2275
2294
|
|
|
2276
2295
|
const node = await this.prepareMessage(from, data.encoded);
|
|
2277
2296
|
peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
|
package/dist/commonjs/peernet.js
CHANGED
|
@@ -35,6 +35,7 @@ var MultiWallet__default = /*#__PURE__*/_interopDefaultLegacy(MultiWallet);
|
|
|
35
35
|
|
|
36
36
|
class PeernetPeer {
|
|
37
37
|
constructor(id, connection) {
|
|
38
|
+
this._events = {};
|
|
38
39
|
this.id = id;
|
|
39
40
|
this.connection = connection;
|
|
40
41
|
|
|
@@ -68,13 +69,27 @@ class PeernetPeer {
|
|
|
68
69
|
}
|
|
69
70
|
|
|
70
71
|
on(event = 'peernet.data', cb) {
|
|
72
|
+
this._events[event] = cb;
|
|
71
73
|
pubsub.subscribe(event, cb);
|
|
72
74
|
// this.connection.on(event, cb)
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
removeListener(event = 'data', cb) {
|
|
78
|
+
delete this._events[event];
|
|
76
79
|
pubsub.unsubscribe(event, cb);
|
|
77
80
|
}
|
|
81
|
+
|
|
82
|
+
close() {
|
|
83
|
+
for (const event of Object.keys(this._events)) {
|
|
84
|
+
pubsub.unsubscribe(event, this._events[event]);
|
|
85
|
+
}
|
|
86
|
+
this._events = [];
|
|
87
|
+
|
|
88
|
+
for (const event of this.connection._events.data) {
|
|
89
|
+
this.connection.removeListener('data', event);
|
|
90
|
+
}
|
|
91
|
+
this.connection.destroy();
|
|
92
|
+
}
|
|
78
93
|
}
|
|
79
94
|
|
|
80
95
|
/**
|
|
@@ -96,7 +111,7 @@ class PeernetClient {
|
|
|
96
111
|
this.topic = Buffer.from(sha256__default['default'](`${options.networkName}-${options.networkVersion}`).toString());
|
|
97
112
|
|
|
98
113
|
const trackers = [
|
|
99
|
-
'wss://star.leofcoin.org
|
|
114
|
+
'wss://star.leofcoin.org',
|
|
100
115
|
'wss://tracker.openwebtorrent.com',
|
|
101
116
|
// 'wss://tracker.sloppyta.co:443/announce',
|
|
102
117
|
];
|
|
@@ -109,6 +124,10 @@ class PeernetClient {
|
|
|
109
124
|
|
|
110
125
|
this.p2p.on('peerclose', (peer) => {
|
|
111
126
|
// TODO: close peernetPeer
|
|
127
|
+
const peernetPeer = connections.get(peer.id);
|
|
128
|
+
if (peernetPeer) {
|
|
129
|
+
peernetPeer.close();
|
|
130
|
+
}
|
|
112
131
|
connections.delete(peer.id);
|
|
113
132
|
pubsub.publish('peer:disconnected', peer);
|
|
114
133
|
});
|
|
@@ -264,7 +283,7 @@ class LeofcoinStorage$1 {
|
|
|
264
283
|
|
|
265
284
|
}
|
|
266
285
|
|
|
267
|
-
var version = "0.9.
|
|
286
|
+
var version = "0.9.9";
|
|
268
287
|
|
|
269
288
|
var api$1 = {
|
|
270
289
|
version: ({send}) => send({client: '@peernet/api/http', version}),
|
|
@@ -1124,7 +1143,7 @@ class PeerDiscovery {
|
|
|
1124
1143
|
const connections = peernet.peerMap.get(id);
|
|
1125
1144
|
if (connections.indexOf(peer.id) === -1) {
|
|
1126
1145
|
connections.push(peer.id);
|
|
1127
|
-
peernet.peerMap.set(
|
|
1146
|
+
peernet.peerMap.set(peer.id, connections);
|
|
1128
1147
|
}
|
|
1129
1148
|
}
|
|
1130
1149
|
return id
|
|
@@ -1706,7 +1725,7 @@ class Peernet {
|
|
|
1706
1725
|
}
|
|
1707
1726
|
|
|
1708
1727
|
if (data) {
|
|
1709
|
-
data = new DataMessageResponse({hash, data: Buffer.from(data)});
|
|
1728
|
+
data = new DataMessageResponse({hash, data: data.decoded ? Buffer.from(JSON.stringify(data)) : Buffer.from(data)});
|
|
1710
1729
|
|
|
1711
1730
|
const node = await this.prepareMessage(from, data.encoded);
|
|
1712
1731
|
peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
|
package/dist/module/peernet.js
CHANGED
|
@@ -15,6 +15,7 @@ import MultiWallet from '@leofcoin/multi-wallet';
|
|
|
15
15
|
|
|
16
16
|
class PeernetPeer {
|
|
17
17
|
constructor(id, connection) {
|
|
18
|
+
this._events = {};
|
|
18
19
|
this.id = id;
|
|
19
20
|
this.connection = connection;
|
|
20
21
|
|
|
@@ -48,13 +49,27 @@ class PeernetPeer {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
on(event = 'peernet.data', cb) {
|
|
52
|
+
this._events[event] = cb;
|
|
51
53
|
pubsub.subscribe(event, cb);
|
|
52
54
|
// this.connection.on(event, cb)
|
|
53
55
|
}
|
|
54
56
|
|
|
55
57
|
removeListener(event = 'data', cb) {
|
|
58
|
+
delete this._events[event];
|
|
56
59
|
pubsub.unsubscribe(event, cb);
|
|
57
60
|
}
|
|
61
|
+
|
|
62
|
+
close() {
|
|
63
|
+
for (const event of Object.keys(this._events)) {
|
|
64
|
+
pubsub.unsubscribe(event, this._events[event]);
|
|
65
|
+
}
|
|
66
|
+
this._events = [];
|
|
67
|
+
|
|
68
|
+
for (const event of this.connection._events.data) {
|
|
69
|
+
this.connection.removeListener('data', event);
|
|
70
|
+
}
|
|
71
|
+
this.connection.destroy();
|
|
72
|
+
}
|
|
58
73
|
}
|
|
59
74
|
|
|
60
75
|
/**
|
|
@@ -76,7 +91,7 @@ class PeernetClient {
|
|
|
76
91
|
this.topic = Buffer.from(sha256(`${options.networkName}-${options.networkVersion}`).toString());
|
|
77
92
|
|
|
78
93
|
const trackers = [
|
|
79
|
-
'wss://star.leofcoin.org
|
|
94
|
+
'wss://star.leofcoin.org',
|
|
80
95
|
'wss://tracker.openwebtorrent.com',
|
|
81
96
|
// 'wss://tracker.sloppyta.co:443/announce',
|
|
82
97
|
];
|
|
@@ -89,6 +104,10 @@ class PeernetClient {
|
|
|
89
104
|
|
|
90
105
|
this.p2p.on('peerclose', (peer) => {
|
|
91
106
|
// TODO: close peernetPeer
|
|
107
|
+
const peernetPeer = connections.get(peer.id);
|
|
108
|
+
if (peernetPeer) {
|
|
109
|
+
peernetPeer.close();
|
|
110
|
+
}
|
|
92
111
|
connections.delete(peer.id);
|
|
93
112
|
pubsub.publish('peer:disconnected', peer);
|
|
94
113
|
});
|
|
@@ -244,7 +263,7 @@ class LeofcoinStorage$1 {
|
|
|
244
263
|
|
|
245
264
|
}
|
|
246
265
|
|
|
247
|
-
var version = "0.9.
|
|
266
|
+
var version = "0.9.9";
|
|
248
267
|
|
|
249
268
|
var api$1 = {
|
|
250
269
|
version: ({send}) => send({client: '@peernet/api/http', version}),
|
|
@@ -1672,7 +1691,7 @@ class PeerDiscovery {
|
|
|
1672
1691
|
const connections = peernet.peerMap.get(id);
|
|
1673
1692
|
if (connections.indexOf(peer.id) === -1) {
|
|
1674
1693
|
connections.push(peer.id);
|
|
1675
|
-
peernet.peerMap.set(
|
|
1694
|
+
peernet.peerMap.set(peer.id, connections);
|
|
1676
1695
|
}
|
|
1677
1696
|
}
|
|
1678
1697
|
return id
|
|
@@ -2254,7 +2273,7 @@ class Peernet {
|
|
|
2254
2273
|
}
|
|
2255
2274
|
|
|
2256
2275
|
if (data) {
|
|
2257
|
-
data = new DataMessageResponse({hash, data: Buffer.from(data)});
|
|
2276
|
+
data = new DataMessageResponse({hash, data: data.decoded ? Buffer.from(JSON.stringify(data)) : Buffer.from(data)});
|
|
2258
2277
|
|
|
2259
2278
|
const node = await this.prepareMessage(from, data.encoded);
|
|
2260
2279
|
peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})));
|
package/package.json
CHANGED
package/src/client.js
CHANGED
|
@@ -24,7 +24,7 @@ export default class PeernetClient {
|
|
|
24
24
|
this.topic = Buffer.from(sha256(`${options.networkName}-${options.networkVersion}`).toString())
|
|
25
25
|
|
|
26
26
|
const trackers = [
|
|
27
|
-
'wss://star.leofcoin.org
|
|
27
|
+
'wss://star.leofcoin.org',
|
|
28
28
|
'wss://tracker.openwebtorrent.com',
|
|
29
29
|
// 'wss://tracker.sloppyta.co:443/announce',
|
|
30
30
|
]
|
|
@@ -37,6 +37,10 @@ export default class PeernetClient {
|
|
|
37
37
|
|
|
38
38
|
this.p2p.on('peerclose', (peer) => {
|
|
39
39
|
// TODO: close peernetPeer
|
|
40
|
+
const peernetPeer = connections.get(peer.id)
|
|
41
|
+
if (peernetPeer) {
|
|
42
|
+
peernetPeer.close()
|
|
43
|
+
}
|
|
40
44
|
connections.delete(peer.id)
|
|
41
45
|
pubsub.publish('peer:disconnected', peer)
|
|
42
46
|
})
|
|
@@ -33,7 +33,7 @@ export default class PeerDiscovery {
|
|
|
33
33
|
const connections = peernet.peerMap.get(id)
|
|
34
34
|
if (connections.indexOf(peer.id) === -1) {
|
|
35
35
|
connections.push(peer.id)
|
|
36
|
-
peernet.peerMap.set(
|
|
36
|
+
peernet.peerMap.set(peer.id, connections)
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
return id
|
package/src/peer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export default class PeernetPeer {
|
|
2
2
|
constructor(id, connection) {
|
|
3
|
+
this._events = {}
|
|
3
4
|
this.id = id
|
|
4
5
|
this.connection = connection
|
|
5
6
|
|
|
@@ -33,11 +34,25 @@ export default class PeernetPeer {
|
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
on(event = 'peernet.data', cb) {
|
|
37
|
+
this._events[event] = cb
|
|
36
38
|
pubsub.subscribe(event, cb)
|
|
37
39
|
// this.connection.on(event, cb)
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
removeListener(event = 'data', cb) {
|
|
43
|
+
delete this._events[event]
|
|
41
44
|
pubsub.unsubscribe(event, cb)
|
|
42
45
|
}
|
|
46
|
+
|
|
47
|
+
close() {
|
|
48
|
+
for (const event of Object.keys(this._events)) {
|
|
49
|
+
pubsub.unsubscribe(event, this._events[event])
|
|
50
|
+
}
|
|
51
|
+
this._events = []
|
|
52
|
+
|
|
53
|
+
for (const event of this.connection._events.data) {
|
|
54
|
+
this.connection.removeListener('data', event)
|
|
55
|
+
}
|
|
56
|
+
this.connection.destroy()
|
|
57
|
+
}
|
|
43
58
|
}
|
package/src/peernet.js
CHANGED
|
@@ -345,7 +345,7 @@ export default class Peernet {
|
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
if (data) {
|
|
348
|
-
data = new DataMessageResponse({hash, data: Buffer.from(data)})
|
|
348
|
+
data = new DataMessageResponse({hash, data: data.decoded ? Buffer.from(JSON.stringify(data)) : Buffer.from(data)});
|
|
349
349
|
|
|
350
350
|
const node = await this.prepareMessage(from, data.encoded)
|
|
351
351
|
peer.write(Buffer.from(JSON.stringify({id, data: node.encoded})))
|