@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.
@@ -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:7575',
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.6";
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(from, connections);
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})));
@@ -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:7575',
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.6";
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(from, connections);
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})));
@@ -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:7575',
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.6";
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(from, connections);
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leofcoin/peernet",
3
- "version": "0.9.7",
3
+ "version": "0.9.10",
4
4
  "description": "",
5
5
  "main": "dist/commonjs/peernet.js",
6
6
  "module": "dist/module/peernet.js",
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:7575',
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(from, connections)
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})))