@libp2p/kad-dht 10.0.15-9c67c5b3d → 10.0.15-adea7bbbf
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/index.min.js +19 -19
- package/dist/src/message/index.d.ts +2 -0
- package/dist/src/message/index.d.ts.map +1 -1
- package/dist/src/message/index.js +6 -0
- package/dist/src/message/index.js.map +1 -1
- package/dist/src/network.d.ts +3 -4
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +10 -23
- package/dist/src/network.js.map +1 -1
- package/package.json +11 -12
- package/src/message/index.ts +8 -0
- package/src/network.ts +12 -40
|
@@ -29,5 +29,7 @@ export declare class Message {
|
|
|
29
29
|
* Decode from protobuf
|
|
30
30
|
*/
|
|
31
31
|
static deserialize(raw: Uint8ArrayList | Uint8Array): Message;
|
|
32
|
+
static encode(message: Message): Uint8Array;
|
|
33
|
+
static decode(buf: Uint8Array | Uint8ArrayList): Message;
|
|
32
34
|
}
|
|
33
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/message/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,YAAY,8BAAwB,CAAA;AACjD,eAAO,MAAM,eAAe,iCAA2B,CAAA;AACvD,eAAO,MAAM,mBAAmB,UAA4B,CAAA;AAQ5D;;GAEG;AACH,qBAAa,OAAO;IACX,IAAI,EAAE,SAAS,CAAC,WAAW,CAAA;IAC3B,GAAG,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,eAAe,CAAQ;IACxB,WAAW,EAAE,QAAQ,EAAE,CAAA;IACvB,aAAa,EAAE,QAAQ,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;gBAEf,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;IAaxE;;OAEG;IACH,IAAI,YAAY,IAAK,MAAM,CAO1B;IAED,IAAI,YAAY,CAAE,KAAK,EATF,MASE,EAEtB;IAED;;OAEG;IACH,SAAS,IAAK,UAAU;IAWxB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,cAAc,GAAG,UAAU,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/message/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,eAAO,MAAM,YAAY,8BAAwB,CAAA;AACjD,eAAO,MAAM,eAAe,iCAA2B,CAAA;AACvD,eAAO,MAAM,mBAAmB,UAA4B,CAAA;AAQ5D;;GAEG;AACH,qBAAa,OAAO;IACX,IAAI,EAAE,SAAS,CAAC,WAAW,CAAA;IAC3B,GAAG,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,eAAe,CAAQ;IACxB,WAAW,EAAE,QAAQ,EAAE,CAAA;IACvB,aAAa,EAAE,QAAQ,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;gBAEf,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM;IAaxE;;OAEG;IACH,IAAI,YAAY,IAAK,MAAM,CAO1B;IAED,IAAI,YAAY,CAAE,KAAK,EATF,MASE,EAEtB;IAED;;OAEG;IACH,SAAS,IAAK,UAAU;IAWxB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAE,GAAG,EAAE,cAAc,GAAG,UAAU,GAAG,OAAO;IAc9D,MAAM,CAAC,MAAM,CAAE,OAAO,EAAE,OAAO,GAAG,UAAU;IAI5C,MAAM,CAAC,MAAM,CAAE,GAAG,EAAE,UAAU,GAAG,cAAc,GAAG,OAAO;CAG1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/message/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/message/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/network.d.ts
CHANGED
|
@@ -2,11 +2,10 @@ import { TypedEventEmitter } from '@libp2p/interface/events';
|
|
|
2
2
|
import { Message } from './message/index.js';
|
|
3
3
|
import type { KadDHTComponents, QueryEvent, QueryOptions } from './index.js';
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interface';
|
|
5
|
+
import type { Stream } from '@libp2p/interface/connection';
|
|
5
6
|
import type { PeerId } from '@libp2p/interface/peer-id';
|
|
6
7
|
import type { PeerInfo } from '@libp2p/interface/peer-info';
|
|
7
8
|
import type { Startable } from '@libp2p/interface/startable';
|
|
8
|
-
import type { Duplex, Source } from 'it-stream-types';
|
|
9
|
-
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
10
9
|
export interface NetworkInit {
|
|
11
10
|
protocol: string;
|
|
12
11
|
lan: boolean;
|
|
@@ -49,13 +48,13 @@ export declare class Network extends TypedEventEmitter<NetworkEvents> implements
|
|
|
49
48
|
/**
|
|
50
49
|
* Write a message to the given stream
|
|
51
50
|
*/
|
|
52
|
-
_writeMessage(stream:
|
|
51
|
+
_writeMessage(stream: Stream, msg: Message, options: AbortOptions): Promise<void>;
|
|
53
52
|
/**
|
|
54
53
|
* Write a message and read its response.
|
|
55
54
|
* If no response is received after the specified timeout
|
|
56
55
|
* this will error out.
|
|
57
56
|
*/
|
|
58
|
-
_writeReadMessage(stream:
|
|
57
|
+
_writeReadMessage(stream: Stream, msg: Message, options: AbortOptions): Promise<Message>;
|
|
59
58
|
}
|
|
60
59
|
export {};
|
|
61
60
|
//# sourceMappingURL=network.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAe,MAAM,0BAA0B,CAAA;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAO5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAE5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,OAAO,CAAA;CACb;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;CAC9B;AAED;;GAEG;AACH,qBAAa,OAAQ,SAAQ,iBAAiB,CAAC,aAAa,CAAE,YAAW,SAAS;IAChF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE7C;;OAEG;gBACU,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW;IAU5D;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAQ7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,SAAS,IAAK,OAAO;IAIrB;;OAEG;IACK,WAAW,CAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,UAAU,CAAC;IAiCtG;;OAEG;IACK,WAAW,CAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,UAAU,CAAC;IA2BtG;;OAEG;IACG,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF;;;;OAIG;IACG,iBAAiB,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAuBhG"}
|
package/dist/src/network.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/interface/errors';
|
|
2
1
|
import { TypedEventEmitter, CustomEvent } from '@libp2p/interface/events';
|
|
3
|
-
import {
|
|
4
|
-
import drain from 'it-drain';
|
|
5
|
-
import first from 'it-first';
|
|
6
|
-
import * as lp from 'it-length-prefixed';
|
|
7
|
-
import { pipe } from 'it-pipe';
|
|
2
|
+
import { pbStream } from 'it-protobuf-stream';
|
|
8
3
|
import { Message } from './message/index.js';
|
|
9
4
|
import { dialPeerEvent, sendQueryEvent, peerResponseEvent, queryErrorEvent } from './query/events.js';
|
|
10
5
|
/**
|
|
@@ -61,7 +56,7 @@ export class Network extends TypedEventEmitter {
|
|
|
61
56
|
try {
|
|
62
57
|
const connection = await this.components.connectionManager.openConnection(to, options);
|
|
63
58
|
const stream = await connection.newStream(this.protocol, options);
|
|
64
|
-
const response = await this._writeReadMessage(stream, msg
|
|
59
|
+
const response = await this._writeReadMessage(stream, msg, options);
|
|
65
60
|
yield peerResponseEvent({
|
|
66
61
|
from: to,
|
|
67
62
|
messageType: response.type,
|
|
@@ -93,7 +88,7 @@ export class Network extends TypedEventEmitter {
|
|
|
93
88
|
try {
|
|
94
89
|
const connection = await this.components.connectionManager.openConnection(to, options);
|
|
95
90
|
const stream = await connection.newStream(this.protocol, options);
|
|
96
|
-
await this._writeMessage(stream, msg
|
|
91
|
+
await this._writeMessage(stream, msg, options);
|
|
97
92
|
yield peerResponseEvent({ from: to, messageType: msg.type }, options);
|
|
98
93
|
}
|
|
99
94
|
catch (err) {
|
|
@@ -109,10 +104,9 @@ export class Network extends TypedEventEmitter {
|
|
|
109
104
|
* Write a message to the given stream
|
|
110
105
|
*/
|
|
111
106
|
async _writeMessage(stream, msg, options) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
await pipe([msg], (source) => lp.encode(source), stream, drain);
|
|
107
|
+
const pb = pbStream(stream);
|
|
108
|
+
await pb.write(msg, Message, options);
|
|
109
|
+
await pb.unwrap().close(options);
|
|
116
110
|
}
|
|
117
111
|
/**
|
|
118
112
|
* Write a message and read its response.
|
|
@@ -120,17 +114,10 @@ export class Network extends TypedEventEmitter {
|
|
|
120
114
|
* this will error out.
|
|
121
115
|
*/
|
|
122
116
|
async _writeReadMessage(stream, msg, options) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
const buf = await first(source);
|
|
128
|
-
if (buf != null) {
|
|
129
|
-
return buf;
|
|
130
|
-
}
|
|
131
|
-
throw new CodeError('No message received', 'ERR_NO_MESSAGE_RECEIVED');
|
|
132
|
-
});
|
|
133
|
-
const message = Message.deserialize(res);
|
|
117
|
+
const pb = pbStream(stream);
|
|
118
|
+
await pb.write(msg, Message, options);
|
|
119
|
+
const message = await pb.read(Message, options);
|
|
120
|
+
await pb.unwrap().close(options);
|
|
134
121
|
// tell any listeners about new peers we've seen
|
|
135
122
|
message.closerPeers.forEach(peerData => {
|
|
136
123
|
this.dispatchEvent(new CustomEvent('peer', {
|
package/dist/src/network.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/kad-dht",
|
|
3
|
-
"version": "10.0.15-
|
|
3
|
+
"version": "10.0.15-adea7bbbf",
|
|
4
4
|
"description": "JavaScript implementation of the Kad-DHT for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/kad-dht#readme",
|
|
@@ -52,27 +52,26 @@
|
|
|
52
52
|
"dep-check": "aegir dep-check"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@libp2p/crypto": "2.0.8-
|
|
56
|
-
"@libp2p/interface": "0.1.6-
|
|
57
|
-
"@libp2p/interface-internal": "0.1.9-
|
|
58
|
-
"@libp2p/peer-collections": "4.0.8-
|
|
59
|
-
"@libp2p/peer-id": "3.0.6-
|
|
55
|
+
"@libp2p/crypto": "2.0.8-adea7bbbf",
|
|
56
|
+
"@libp2p/interface": "0.1.6-adea7bbbf",
|
|
57
|
+
"@libp2p/interface-internal": "0.1.9-adea7bbbf",
|
|
58
|
+
"@libp2p/peer-collections": "4.0.8-adea7bbbf",
|
|
59
|
+
"@libp2p/peer-id": "3.0.6-adea7bbbf",
|
|
60
60
|
"@multiformats/multiaddr": "^12.1.10",
|
|
61
61
|
"@types/sinon": "^17.0.0",
|
|
62
|
-
"abortable-iterator": "^5.0.1",
|
|
63
62
|
"any-signal": "^4.1.1",
|
|
64
63
|
"datastore-core": "^9.0.1",
|
|
65
64
|
"hashlru": "^2.3.0",
|
|
66
65
|
"interface-datastore": "^8.2.0",
|
|
67
66
|
"it-all": "^3.0.2",
|
|
68
67
|
"it-drain": "^3.0.2",
|
|
69
|
-
"it-first": "^3.0.3",
|
|
70
68
|
"it-length": "^3.0.1",
|
|
71
69
|
"it-length-prefixed": "^9.0.3",
|
|
72
70
|
"it-map": "^3.0.4",
|
|
73
71
|
"it-merge": "^3.0.0",
|
|
74
72
|
"it-parallel": "^3.0.0",
|
|
75
73
|
"it-pipe": "^3.0.1",
|
|
74
|
+
"it-protobuf-stream": "^1.0.2",
|
|
76
75
|
"it-pushable": "^3.2.1",
|
|
77
76
|
"it-stream-types": "^2.0.1",
|
|
78
77
|
"it-take": "^3.0.1",
|
|
@@ -88,10 +87,10 @@
|
|
|
88
87
|
"uint8arrays": "^4.0.6"
|
|
89
88
|
},
|
|
90
89
|
"devDependencies": {
|
|
91
|
-
"@libp2p/interface-compliance-tests": "4.1.5-
|
|
92
|
-
"@libp2p/logger": "3.1.0-
|
|
93
|
-
"@libp2p/peer-id-factory": "3.0.8-
|
|
94
|
-
"@libp2p/peer-store": "9.0.9-
|
|
90
|
+
"@libp2p/interface-compliance-tests": "4.1.5-adea7bbbf",
|
|
91
|
+
"@libp2p/logger": "3.1.0-adea7bbbf",
|
|
92
|
+
"@libp2p/peer-id-factory": "3.0.8-adea7bbbf",
|
|
93
|
+
"@libp2p/peer-store": "9.0.9-adea7bbbf",
|
|
95
94
|
"@types/lodash.random": "^3.2.6",
|
|
96
95
|
"@types/lodash.range": "^3.2.6",
|
|
97
96
|
"@types/which": "^3.0.0",
|
package/src/message/index.ts
CHANGED
|
@@ -85,6 +85,14 @@ export class Message {
|
|
|
85
85
|
|
|
86
86
|
return msg
|
|
87
87
|
}
|
|
88
|
+
|
|
89
|
+
static encode (message: Message): Uint8Array {
|
|
90
|
+
return message.serialize()
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static decode (buf: Uint8Array | Uint8ArrayList): Message {
|
|
94
|
+
return Message.deserialize(buf)
|
|
95
|
+
}
|
|
88
96
|
}
|
|
89
97
|
|
|
90
98
|
function toPbPeer (peer: PeerInfo): PBPeer {
|
package/src/network.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/interface/errors'
|
|
2
1
|
import { TypedEventEmitter, CustomEvent } from '@libp2p/interface/events'
|
|
3
|
-
import {
|
|
4
|
-
import drain from 'it-drain'
|
|
5
|
-
import first from 'it-first'
|
|
6
|
-
import * as lp from 'it-length-prefixed'
|
|
7
|
-
import { pipe } from 'it-pipe'
|
|
2
|
+
import { pbStream } from 'it-protobuf-stream'
|
|
8
3
|
import { Message } from './message/index.js'
|
|
9
4
|
import {
|
|
10
5
|
dialPeerEvent,
|
|
@@ -18,8 +13,6 @@ import type { Stream } from '@libp2p/interface/connection'
|
|
|
18
13
|
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
19
14
|
import type { PeerInfo } from '@libp2p/interface/peer-info'
|
|
20
15
|
import type { Startable } from '@libp2p/interface/startable'
|
|
21
|
-
import type { Duplex, Source } from 'it-stream-types'
|
|
22
|
-
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
23
16
|
|
|
24
17
|
export interface NetworkInit {
|
|
25
18
|
protocol: string
|
|
@@ -95,7 +88,7 @@ export class Network extends TypedEventEmitter<NetworkEvents> implements Startab
|
|
|
95
88
|
const connection = await this.components.connectionManager.openConnection(to, options)
|
|
96
89
|
const stream = await connection.newStream(this.protocol, options)
|
|
97
90
|
|
|
98
|
-
const response = await this._writeReadMessage(stream, msg
|
|
91
|
+
const response = await this._writeReadMessage(stream, msg, options)
|
|
99
92
|
|
|
100
93
|
yield peerResponseEvent({
|
|
101
94
|
from: to,
|
|
@@ -131,7 +124,7 @@ export class Network extends TypedEventEmitter<NetworkEvents> implements Startab
|
|
|
131
124
|
const connection = await this.components.connectionManager.openConnection(to, options)
|
|
132
125
|
const stream = await connection.newStream(this.protocol, options)
|
|
133
126
|
|
|
134
|
-
await this._writeMessage(stream, msg
|
|
127
|
+
await this._writeMessage(stream, msg, options)
|
|
135
128
|
|
|
136
129
|
yield peerResponseEvent({ from: to, messageType: msg.type }, options)
|
|
137
130
|
} catch (err: any) {
|
|
@@ -146,17 +139,10 @@ export class Network extends TypedEventEmitter<NetworkEvents> implements Startab
|
|
|
146
139
|
/**
|
|
147
140
|
* Write a message to the given stream
|
|
148
141
|
*/
|
|
149
|
-
async _writeMessage (stream:
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
await pipe(
|
|
155
|
-
[msg],
|
|
156
|
-
(source) => lp.encode(source),
|
|
157
|
-
stream,
|
|
158
|
-
drain
|
|
159
|
-
)
|
|
142
|
+
async _writeMessage (stream: Stream, msg: Message, options: AbortOptions): Promise<void> {
|
|
143
|
+
const pb = pbStream(stream)
|
|
144
|
+
await pb.write(msg, Message, options)
|
|
145
|
+
await pb.unwrap().close(options)
|
|
160
146
|
}
|
|
161
147
|
|
|
162
148
|
/**
|
|
@@ -164,28 +150,14 @@ export class Network extends TypedEventEmitter<NetworkEvents> implements Startab
|
|
|
164
150
|
* If no response is received after the specified timeout
|
|
165
151
|
* this will error out.
|
|
166
152
|
*/
|
|
167
|
-
async _writeReadMessage (stream:
|
|
168
|
-
|
|
169
|
-
stream = abortableDuplex(stream, options.signal)
|
|
170
|
-
}
|
|
153
|
+
async _writeReadMessage (stream: Stream, msg: Message, options: AbortOptions): Promise<Message> {
|
|
154
|
+
const pb = pbStream(stream)
|
|
171
155
|
|
|
172
|
-
|
|
173
|
-
[msg],
|
|
174
|
-
(source) => lp.encode(source),
|
|
175
|
-
stream,
|
|
176
|
-
(source) => lp.decode(source),
|
|
177
|
-
async source => {
|
|
178
|
-
const buf = await first(source)
|
|
156
|
+
await pb.write(msg, Message, options)
|
|
179
157
|
|
|
180
|
-
|
|
181
|
-
return buf
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
throw new CodeError('No message received', 'ERR_NO_MESSAGE_RECEIVED')
|
|
185
|
-
}
|
|
186
|
-
)
|
|
158
|
+
const message = await pb.read(Message, options)
|
|
187
159
|
|
|
188
|
-
|
|
160
|
+
await pb.unwrap().close(options)
|
|
189
161
|
|
|
190
162
|
// tell any listeners about new peers we've seen
|
|
191
163
|
message.closerPeers.forEach(peerData => {
|