@leofcoin/peernet 0.9.3 → 0.9.6
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 +651 -646
- package/dist/commonjs/codec-73adfc0f.js +205 -0
- package/dist/commonjs/codec-format-interface.js +5 -5
- package/dist/commonjs/codec.js +6 -199
- package/dist/commonjs/dht-response.js +1 -1
- package/dist/commonjs/dht.js +1 -1
- package/dist/commonjs/hash.js +4 -4
- package/dist/commonjs/peernet-message.js +1 -1
- package/dist/commonjs/peernet.js +653 -648
- package/dist/commonjs/request.js +1 -1
- package/dist/commonjs/response.js +1 -1
- package/dist/module/peernet.js +10 -4
- package/package.json +1 -1
- package/src/client.js +71 -0
- package/src/codec/codec-format-interface.js +139 -0
- package/src/codec/codec.js +114 -0
- package/src/codec/codecs.js +79 -0
- package/src/dht/dht.js +125 -0
- package/src/discovery/peer-discovery.js +75 -0
- package/src/errors/errors.js +12 -0
- package/src/handlers/message.js +52 -0
- package/src/hash/hash.js +145 -0
- package/src/http/api.js +115 -0
- package/src/http/client/api.js +41 -0
- package/src/http/client/client.js +10 -0
- package/src/http/client/http-client.js +44 -0
- package/src/http/client/storage.js +36 -0
- package/src/http/http.js +28 -0
- package/src/messages/chat-message.js +14 -0
- package/src/messages/data-response.js +14 -0
- package/src/messages/data.js +14 -0
- package/src/messages/dht-response.js +15 -0
- package/src/messages/dht.js +25 -0
- package/src/messages/peer-response.js +14 -0
- package/src/messages/peer.js +14 -0
- package/src/messages/peernet-message.js +14 -0
- package/src/messages/ps.js +14 -0
- package/src/messages/request.js +14 -0
- package/src/messages/response.js +14 -0
- package/src/peer-info.js +9 -0
- package/src/peer.js +43 -0
- package/src/peernet.js +680 -0
- package/src/proto/chat-message.proto.js +7 -0
- package/src/proto/data-response.proto.js +7 -0
- package/src/proto/data.proto.js +7 -0
- package/src/proto/dht-response.proto.js +7 -0
- package/src/proto/dht.proto.js +7 -0
- package/src/proto/peer-response.proto.js +6 -0
- package/src/proto/peer.proto.js +6 -0
- package/src/proto/peernet.proto.js +9 -0
- package/src/proto/ps.proto.js +6 -0
- package/src/proto/request.proto.js +6 -0
- package/src/proto/response.proto.js +6 -0
- package/src/server.js +25 -0
- package/src/utils/utils.js +78 -0
- package/.nyc_output/39a61420-013f-4db1-a597-7c5444da26e7.json +0 -1
- package/.nyc_output/4b387323-32a3-4eee-8f05-d13f2e0a5bf4.json +0 -1
- package/.nyc_output/ef71cf24-d9d9-45dd-814f-8d53cb6769f3.json +0 -1
- package/.nyc_output/processinfo/39a61420-013f-4db1-a597-7c5444da26e7.json +0 -1
- package/.nyc_output/processinfo/4b387323-32a3-4eee-8f05-d13f2e0a5bf4.json +0 -1
- package/.nyc_output/processinfo/ef71cf24-d9d9-45dd-814f-8d53cb6769f3.json +0 -1
- package/.nyc_output/processinfo/index.json +0 -1
package/src/peer.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export default class PeernetPeer {
|
|
2
|
+
constructor(id, connection) {
|
|
3
|
+
this.id = id
|
|
4
|
+
this.connection = connection
|
|
5
|
+
|
|
6
|
+
this.connection.on('data', (message) => pubsub.publish('peernet.data', JSON.parse(message.toString())))
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
request(data) {
|
|
10
|
+
return new Promise((resolve, reject) => {
|
|
11
|
+
const id = Math.random().toString(36).slice(-12)
|
|
12
|
+
data = Buffer.from(JSON.stringify({id, data}))
|
|
13
|
+
const _onData = (message) => {
|
|
14
|
+
if (message.id !== id) return
|
|
15
|
+
|
|
16
|
+
resolve(message.data)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
pubsub.subscribe('peernet.data', _onData)
|
|
20
|
+
|
|
21
|
+
// cleanup subscriptions
|
|
22
|
+
setTimeout(() => {
|
|
23
|
+
pubsub.unsubscribe('peernet.data', _onData)
|
|
24
|
+
}, 5000);
|
|
25
|
+
|
|
26
|
+
this.write(data)
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
write(data) {
|
|
31
|
+
if (!Buffer.isBuffer(data)) data = Buffer.from(data)
|
|
32
|
+
this.connection.write(data)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
on(event = 'peernet.data', cb) {
|
|
36
|
+
pubsub.subscribe(event, cb)
|
|
37
|
+
// this.connection.on(event, cb)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
removeListener(event = 'data', cb) {
|
|
41
|
+
pubsub.unsubscribe(event, cb)
|
|
42
|
+
}
|
|
43
|
+
}
|