@libp2p/daemon-client 0.0.1 → 0.0.2
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/src/dht.d.ts +5 -8
- package/dist/src/dht.d.ts.map +1 -1
- package/dist/src/dht.js +3 -6
- package/dist/src/dht.js.map +1 -1
- package/dist/src/index.d.ts +16 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -30
- package/dist/src/index.js.map +1 -1
- package/dist/src/pubsub.d.ts +1 -1
- package/dist/src/pubsub.d.ts.map +1 -1
- package/dist/src/pubsub.js +1 -1
- package/dist/src/pubsub.js.map +1 -1
- package/package.json +6 -6
- package/src/dht.ts +8 -11
- package/src/index.ts +23 -40
- package/src/pubsub.ts +2 -2
- package/dist/src/stream-handler.d.ts +0 -28
- package/dist/src/stream-handler.d.ts.map +0 -1
- package/dist/src/stream-handler.js +0 -47
- package/dist/src/stream-handler.js.map +0 -1
- package/dist/src/util/index.d.ts +0 -12
- package/dist/src/util/index.d.ts.map +0 -1
- package/dist/src/util/index.js +0 -24
- package/dist/src/util/index.js.map +0 -1
- package/src/stream-handler.ts +0 -65
- package/src/util/index.ts +0 -27
package/dist/src/dht.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import type { DaemonClient } from './index.js';
|
|
3
3
|
import { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
5
5
|
export declare class DHT {
|
|
6
|
-
private client;
|
|
6
|
+
private readonly client;
|
|
7
7
|
constructor(client: DaemonClient);
|
|
8
8
|
/**
|
|
9
9
|
* Write a value to a key in the DHT
|
|
@@ -15,11 +15,8 @@ export declare class DHT {
|
|
|
15
15
|
get(key: Uint8Array): Promise<Uint8Array>;
|
|
16
16
|
/**
|
|
17
17
|
* Query the DHT for a given peer's known addresses.
|
|
18
|
-
*
|
|
19
|
-
* @param {PeerId} peerId
|
|
20
|
-
* @returns {PeerInfo}
|
|
21
18
|
*/
|
|
22
|
-
findPeer(peerId: PeerId): Promise<
|
|
19
|
+
findPeer(peerId: PeerId): Promise<PeerInfo>;
|
|
23
20
|
/**
|
|
24
21
|
* Announce to the network that the peer have data addressed by the provided CID
|
|
25
22
|
*/
|
|
@@ -27,11 +24,11 @@ export declare class DHT {
|
|
|
27
24
|
/**
|
|
28
25
|
* Query the DHT for peers that have a piece of content, identified by a CID
|
|
29
26
|
*/
|
|
30
|
-
findProviders(cid: CID, count?: number):
|
|
27
|
+
findProviders(cid: CID, count?: number): AsyncIterable<PeerInfo>;
|
|
31
28
|
/**
|
|
32
29
|
* Query the DHT routing table for peers that are closest to a provided key.
|
|
33
30
|
*/
|
|
34
|
-
getClosestPeers(key: Uint8Array): AsyncIterable<
|
|
31
|
+
getClosestPeers(key: Uint8Array): AsyncIterable<PeerInfo>;
|
|
35
32
|
/**
|
|
36
33
|
* Query the DHT routing table for a given peer's public key.
|
|
37
34
|
*/
|
package/dist/src/dht.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAG5D,qBAAa,GAAG;IACd,OAAO,CAAC,MAAM,CAAc;
|
|
1
|
+
{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAStC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAG5D,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B7D;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BhD;;OAEG;IACG,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiClD;;OAEG;IACG,OAAO,CAAE,GAAG,EAAE,GAAG;IAuBvB;;OAEG;IACK,aAAa,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiD5E;;OAEG;IACK,eAAe,CAAE,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC;IAiDlE;;OAEG;IACG,YAAY,CAAE,MAAM,EAAE,MAAM;CA4BnC"}
|
package/dist/src/dht.js
CHANGED
|
@@ -60,9 +60,6 @@ export class DHT {
|
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Query the DHT for a given peer's known addresses.
|
|
63
|
-
*
|
|
64
|
-
* @param {PeerId} peerId
|
|
65
|
-
* @returns {PeerInfo}
|
|
66
63
|
*/
|
|
67
64
|
async findPeer(peerId) {
|
|
68
65
|
if (!isPeerId(peerId)) {
|
|
@@ -128,10 +125,10 @@ export class DHT {
|
|
|
128
125
|
});
|
|
129
126
|
let message = await sh.read();
|
|
130
127
|
// stream begin message
|
|
131
|
-
|
|
128
|
+
const response = Response.decode(message);
|
|
132
129
|
if (response.type !== Response.Type.OK) {
|
|
133
130
|
await sh.close();
|
|
134
|
-
throw errcode(new Error(response.error?.msg
|
|
131
|
+
throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED');
|
|
135
132
|
}
|
|
136
133
|
while (true) {
|
|
137
134
|
message = await sh.read();
|
|
@@ -172,7 +169,7 @@ export class DHT {
|
|
|
172
169
|
});
|
|
173
170
|
// stream begin message
|
|
174
171
|
let message = await sh.read();
|
|
175
|
-
|
|
172
|
+
const response = Response.decode(message);
|
|
176
173
|
if (response.type !== Response.Type.OK) {
|
|
177
174
|
await sh.close();
|
|
178
175
|
throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED');
|
package/dist/src/dht.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../src/dht.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { IRequest } from '@libp2p/daemon-protocol';
|
|
2
|
-
import { StreamHandler } from '
|
|
1
|
+
import { IRequest, PSMessage } from '@libp2p/daemon-protocol';
|
|
2
|
+
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
|
|
3
3
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import { PeerId } from '@libp2p/interfaces/peer-id';
|
|
5
|
+
import type { Duplex } from 'it-stream-types';
|
|
6
|
+
import type { CID } from 'multiformats/cid';
|
|
7
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
5
8
|
export interface IdentifyResult {
|
|
6
9
|
peerId: PeerId;
|
|
7
10
|
addrs: Multiaddr[];
|
|
@@ -9,13 +12,24 @@ export interface IdentifyResult {
|
|
|
9
12
|
export interface DHTClient {
|
|
10
13
|
put: (key: Uint8Array, value: Uint8Array) => Promise<void>;
|
|
11
14
|
get: (key: Uint8Array) => Promise<Uint8Array>;
|
|
15
|
+
provide: (cid: CID) => Promise<void>;
|
|
16
|
+
findProviders: (cid: CID, count?: number) => AsyncIterable<PeerInfo>;
|
|
17
|
+
findPeer: (peerId: PeerId) => Promise<PeerInfo>;
|
|
18
|
+
getClosestPeers: (key: Uint8Array) => AsyncIterable<PeerInfo>;
|
|
19
|
+
}
|
|
20
|
+
export interface PubSubClient {
|
|
21
|
+
publish: (topic: string, data: Uint8Array) => Promise<void>;
|
|
22
|
+
subscribe: (topic: string) => AsyncIterable<PSMessage>;
|
|
23
|
+
getTopics: () => Promise<string[]>;
|
|
12
24
|
}
|
|
13
25
|
export interface DaemonClient {
|
|
14
26
|
identify: () => Promise<IdentifyResult>;
|
|
15
27
|
listPeers: () => Promise<PeerId[]>;
|
|
16
28
|
connect: (peerId: PeerId, addrs: Multiaddr[]) => Promise<void>;
|
|
17
29
|
dht: DHTClient;
|
|
30
|
+
pubsub: PubSubClient;
|
|
18
31
|
send: (request: IRequest) => Promise<StreamHandler>;
|
|
32
|
+
openStream: (peerId: PeerId, protocol: string) => Promise<Duplex<Uint8Array>>;
|
|
19
33
|
}
|
|
20
34
|
export declare function createClient(multiaddr: Multiaddr): DaemonClient;
|
|
21
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAqB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAqB,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAY,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAG7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAwM5D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAA;IACpE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,eAAe,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC,SAAS,CAAC,CAAA;IACtD,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAA;IACvC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;CAC9E;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import errcode from 'err-code';
|
|
2
2
|
import { TCP } from '@libp2p/tcp';
|
|
3
3
|
import { Request, Response } from '@libp2p/daemon-protocol';
|
|
4
|
-
import { StreamHandler } from '
|
|
4
|
+
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
|
|
5
5
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
6
6
|
import { DHT } from './dht.js';
|
|
7
7
|
import { Pubsub } from './pubsub.js';
|
|
8
8
|
import { isPeerId } from '@libp2p/interfaces/peer-id';
|
|
9
|
-
import { passThroughUpgrader } from '
|
|
9
|
+
import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader';
|
|
10
10
|
import { peerIdFromBytes } from '@libp2p/peer-id';
|
|
11
11
|
class Client {
|
|
12
12
|
constructor(addr) {
|
|
@@ -22,29 +22,11 @@ class Client {
|
|
|
22
22
|
* @async
|
|
23
23
|
* @returns {MultiaddrConnection}
|
|
24
24
|
*/
|
|
25
|
-
connectDaemon() {
|
|
26
|
-
return this.tcp.dial(this.multiaddr, {
|
|
25
|
+
async connectDaemon() {
|
|
26
|
+
return await this.tcp.dial(this.multiaddr, {
|
|
27
27
|
upgrader: passThroughUpgrader
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Starts a server listening at `socketPath`. New connections
|
|
32
|
-
* will be sent to the `connectionHandler`.
|
|
33
|
-
*
|
|
34
|
-
* @param {Multiaddr} addr
|
|
35
|
-
* @param {function(Stream)} connectionHandler
|
|
36
|
-
* @returns {Promise}
|
|
37
|
-
*/
|
|
38
|
-
async start(addr, connectionHandler) {
|
|
39
|
-
if (this.listener) {
|
|
40
|
-
await this.close();
|
|
41
|
-
}
|
|
42
|
-
this.listener = this.tcp.createListener({
|
|
43
|
-
handler: maConn => connectionHandler(maConn),
|
|
44
|
-
upgrader: passThroughUpgrader
|
|
45
|
-
});
|
|
46
|
-
await this.listener.listen(addr);
|
|
47
|
-
}
|
|
48
30
|
/**
|
|
49
31
|
* Sends the request to the daemon and returns a stream. This
|
|
50
32
|
* should only be used when sending daemon requests.
|
|
@@ -55,13 +37,6 @@ class Client {
|
|
|
55
37
|
streamHandler.write(Request.encode(request).finish());
|
|
56
38
|
return streamHandler;
|
|
57
39
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Closes the socket
|
|
60
|
-
*/
|
|
61
|
-
async close() {
|
|
62
|
-
this.listener && await this.listener.close();
|
|
63
|
-
this.listener = undefined;
|
|
64
|
-
}
|
|
65
40
|
/**
|
|
66
41
|
* Connect requests a connection to a known peer on a given set of addresses
|
|
67
42
|
*
|
|
@@ -88,7 +63,7 @@ class Client {
|
|
|
88
63
|
}
|
|
89
64
|
});
|
|
90
65
|
const message = await sh.read();
|
|
91
|
-
if (
|
|
66
|
+
if (message == null) {
|
|
92
67
|
throw errcode(new Error('unspecified'), 'ERR_CONNECT_FAILED');
|
|
93
68
|
}
|
|
94
69
|
const response = Response.decode(message);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/pubsub.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PSMessage } from '@libp2p/daemon-protocol';
|
|
2
2
|
import type { DaemonClient } from './index.js';
|
|
3
3
|
export declare class Pubsub {
|
|
4
|
-
private client;
|
|
4
|
+
private readonly client;
|
|
5
5
|
constructor(client: DaemonClient);
|
|
6
6
|
/**
|
|
7
7
|
* Get a list of topics the node is subscribed to.
|
package/dist/src/pubsub.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAc;
|
|
1
|
+
{"version":3,"file":"pubsub.d.ts","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,SAAS,EACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAExB,MAAM,EAAE,YAAY;IAIjC;;;;OAIG;IACG,SAAS,IAAK,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBrC;;OAEG;IACG,OAAO,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IA4B9C;;OAEG;IACK,SAAS,CAAE,KAAK,EAAE,MAAM;CA0BjC"}
|
package/dist/src/pubsub.js
CHANGED
|
@@ -67,7 +67,7 @@ export class Pubsub {
|
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
let message = await sh.read();
|
|
70
|
-
|
|
70
|
+
const response = Response.decode(message);
|
|
71
71
|
if (response.type !== Response.Type.OK) {
|
|
72
72
|
throw errcode(new Error(response.error?.msg ?? 'Pubsub publish failed'), 'ERR_PUBSUB_PUBLISH_FAILED');
|
|
73
73
|
}
|
package/dist/src/pubsub.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../../src/pubsub.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/daemon-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "libp2p-daemon client implementation",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/master/packages/libp2p-daemon-client#readme",
|
|
@@ -128,25 +128,25 @@
|
|
|
128
128
|
"release": "semantic-release"
|
|
129
129
|
},
|
|
130
130
|
"dependencies": {
|
|
131
|
-
"@libp2p/daemon-protocol": "^0.0.
|
|
131
|
+
"@libp2p/daemon-protocol": "^0.0.1",
|
|
132
132
|
"@libp2p/interfaces": "^1.3.17",
|
|
133
133
|
"@libp2p/logger": "^1.1.2",
|
|
134
134
|
"@libp2p/peer-id": "^1.1.8",
|
|
135
135
|
"@libp2p/tcp": "^1.0.6",
|
|
136
136
|
"@multiformats/multiaddr": "^10.1.8",
|
|
137
137
|
"err-code": "^3.0.1",
|
|
138
|
-
"it-handshake": "^3.0.1",
|
|
139
|
-
"it-length-prefixed": "^7.0.1",
|
|
140
138
|
"it-stream-types": "^1.0.4",
|
|
141
139
|
"multiformats": "^9.4.2"
|
|
142
140
|
},
|
|
143
141
|
"devDependencies": {
|
|
142
|
+
"@libp2p/interface-compliance-tests": "^1.1.20",
|
|
143
|
+
"@libp2p/daemon-server": "^0.0.2",
|
|
144
144
|
"@libp2p/peer-id-factory": "^1.0.8",
|
|
145
145
|
"aegir": "^36.0.0",
|
|
146
|
-
"it-
|
|
146
|
+
"it-all": "^1.0.6",
|
|
147
147
|
"it-pipe": "^2.0.3",
|
|
148
|
-
"it-pushable": "^2.0.1",
|
|
149
148
|
"sinon": "^13.0.1",
|
|
149
|
+
"ts-sinon": "^2.0.2",
|
|
150
150
|
"uint8arrays": "^3.0.0"
|
|
151
151
|
}
|
|
152
152
|
}
|
package/src/dht.ts
CHANGED
|
@@ -9,11 +9,11 @@ import {
|
|
|
9
9
|
} from '@libp2p/daemon-protocol'
|
|
10
10
|
import type { DaemonClient } from './index.js'
|
|
11
11
|
import { isPeerId, PeerId } from '@libp2p/interfaces/peer-id'
|
|
12
|
-
import type {
|
|
12
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info'
|
|
13
13
|
import { peerIdFromBytes } from '@libp2p/peer-id'
|
|
14
14
|
|
|
15
15
|
export class DHT {
|
|
16
|
-
private client: DaemonClient
|
|
16
|
+
private readonly client: DaemonClient
|
|
17
17
|
|
|
18
18
|
constructor (client: DaemonClient) {
|
|
19
19
|
this.client = client
|
|
@@ -84,11 +84,8 @@ export class DHT {
|
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Query the DHT for a given peer's known addresses.
|
|
87
|
-
*
|
|
88
|
-
* @param {PeerId} peerId
|
|
89
|
-
* @returns {PeerInfo}
|
|
90
87
|
*/
|
|
91
|
-
async findPeer (peerId: PeerId): Promise<
|
|
88
|
+
async findPeer (peerId: PeerId): Promise<PeerInfo> {
|
|
92
89
|
if (!isPeerId(peerId)) {
|
|
93
90
|
throw errcode(new Error('invalid peer id received'), 'ERR_INVALID_PEER_ID')
|
|
94
91
|
}
|
|
@@ -150,7 +147,7 @@ export class DHT {
|
|
|
150
147
|
/**
|
|
151
148
|
* Query the DHT for peers that have a piece of content, identified by a CID
|
|
152
149
|
*/
|
|
153
|
-
async * findProviders (cid: CID, count: number = 1):
|
|
150
|
+
async * findProviders (cid: CID, count: number = 1): AsyncIterable<PeerInfo> {
|
|
154
151
|
if (cid == null || CID.asCID(cid) == null) {
|
|
155
152
|
throw errcode(new Error('invalid cid received'), 'ERR_INVALID_CID')
|
|
156
153
|
}
|
|
@@ -167,11 +164,11 @@ export class DHT {
|
|
|
167
164
|
let message = await sh.read()
|
|
168
165
|
|
|
169
166
|
// stream begin message
|
|
170
|
-
|
|
167
|
+
const response = Response.decode(message)
|
|
171
168
|
|
|
172
169
|
if (response.type !== Response.Type.OK) {
|
|
173
170
|
await sh.close()
|
|
174
|
-
throw errcode(new Error(response.error?.msg
|
|
171
|
+
throw errcode(new Error(response.error?.msg ?? 'DHT find providers failed'), 'ERR_DHT_FIND_PROVIDERS_FAILED')
|
|
175
172
|
}
|
|
176
173
|
|
|
177
174
|
while (true) {
|
|
@@ -202,7 +199,7 @@ export class DHT {
|
|
|
202
199
|
/**
|
|
203
200
|
* Query the DHT routing table for peers that are closest to a provided key.
|
|
204
201
|
*/
|
|
205
|
-
async * getClosestPeers (key: Uint8Array): AsyncIterable<
|
|
202
|
+
async * getClosestPeers (key: Uint8Array): AsyncIterable<PeerInfo> {
|
|
206
203
|
if (!(key instanceof Uint8Array)) {
|
|
207
204
|
throw errcode(new Error('invalid key received'), 'ERR_INVALID_KEY')
|
|
208
205
|
}
|
|
@@ -217,7 +214,7 @@ export class DHT {
|
|
|
217
214
|
|
|
218
215
|
// stream begin message
|
|
219
216
|
let message = await sh.read()
|
|
220
|
-
|
|
217
|
+
const response = Response.decode(message)
|
|
221
218
|
|
|
222
219
|
if (response.type !== Response.Type.OK) {
|
|
223
220
|
await sh.close()
|
package/src/index.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import errcode from 'err-code'
|
|
2
2
|
import { TCP } from '@libp2p/tcp'
|
|
3
|
-
import { IRequest, Request, Response } from '@libp2p/daemon-protocol'
|
|
4
|
-
import { StreamHandler } from '
|
|
3
|
+
import { IRequest, PSMessage, Request, Response } from '@libp2p/daemon-protocol'
|
|
4
|
+
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'
|
|
5
5
|
import { Multiaddr } from '@multiformats/multiaddr'
|
|
6
6
|
import { DHT } from './dht.js'
|
|
7
7
|
import { Pubsub } from './pubsub.js'
|
|
8
8
|
import { isPeerId, PeerId } from '@libp2p/interfaces/peer-id'
|
|
9
|
-
import { passThroughUpgrader } from '
|
|
10
|
-
import type { ConnectionHandler, Listener } from '@libp2p/interfaces/transport'
|
|
9
|
+
import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader'
|
|
11
10
|
import { peerIdFromBytes } from '@libp2p/peer-id'
|
|
12
11
|
import type { Duplex } from 'it-stream-types'
|
|
12
|
+
import type { CID } from 'multiformats/cid'
|
|
13
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info'
|
|
13
14
|
|
|
14
15
|
class Client implements DaemonClient {
|
|
15
|
-
private multiaddr: Multiaddr
|
|
16
|
+
private readonly multiaddr: Multiaddr
|
|
16
17
|
public dht: DHT
|
|
17
18
|
public pubsub: Pubsub
|
|
18
|
-
private tcp: TCP
|
|
19
|
-
private listener?: Listener
|
|
19
|
+
private readonly tcp: TCP
|
|
20
20
|
|
|
21
21
|
constructor (addr: Multiaddr) {
|
|
22
22
|
this.multiaddr = addr
|
|
@@ -33,33 +33,12 @@ class Client implements DaemonClient {
|
|
|
33
33
|
* @async
|
|
34
34
|
* @returns {MultiaddrConnection}
|
|
35
35
|
*/
|
|
36
|
-
connectDaemon () {
|
|
37
|
-
return this.tcp.dial(this.multiaddr, {
|
|
36
|
+
async connectDaemon () {
|
|
37
|
+
return await this.tcp.dial(this.multiaddr, {
|
|
38
38
|
upgrader: passThroughUpgrader
|
|
39
39
|
})
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
/**
|
|
43
|
-
* Starts a server listening at `socketPath`. New connections
|
|
44
|
-
* will be sent to the `connectionHandler`.
|
|
45
|
-
*
|
|
46
|
-
* @param {Multiaddr} addr
|
|
47
|
-
* @param {function(Stream)} connectionHandler
|
|
48
|
-
* @returns {Promise}
|
|
49
|
-
*/
|
|
50
|
-
async start (addr: Multiaddr, connectionHandler: ConnectionHandler) {
|
|
51
|
-
if (this.listener) {
|
|
52
|
-
await this.close()
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
this.listener = this.tcp.createListener({
|
|
56
|
-
handler: maConn => connectionHandler(maConn),
|
|
57
|
-
upgrader: passThroughUpgrader
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
await this.listener.listen(addr)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
42
|
/**
|
|
64
43
|
* Sends the request to the daemon and returns a stream. This
|
|
65
44
|
* should only be used when sending daemon requests.
|
|
@@ -72,14 +51,6 @@ class Client implements DaemonClient {
|
|
|
72
51
|
return streamHandler
|
|
73
52
|
}
|
|
74
53
|
|
|
75
|
-
/**
|
|
76
|
-
* Closes the socket
|
|
77
|
-
*/
|
|
78
|
-
async close () {
|
|
79
|
-
this.listener && await this.listener.close()
|
|
80
|
-
this.listener = undefined
|
|
81
|
-
}
|
|
82
|
-
|
|
83
54
|
/**
|
|
84
55
|
* Connect requests a connection to a known peer on a given set of addresses
|
|
85
56
|
*
|
|
@@ -110,13 +81,13 @@ class Client implements DaemonClient {
|
|
|
110
81
|
})
|
|
111
82
|
|
|
112
83
|
const message = await sh.read()
|
|
113
|
-
if (
|
|
84
|
+
if (message == null) {
|
|
114
85
|
throw errcode(new Error('unspecified'), 'ERR_CONNECT_FAILED')
|
|
115
86
|
}
|
|
116
87
|
|
|
117
88
|
const response = Response.decode(message)
|
|
118
89
|
if (response.type !== Response.Type.OK) {
|
|
119
|
-
const errResponse = response.error ??
|
|
90
|
+
const errResponse = response.error ?? { msg: 'unspecified' }
|
|
120
91
|
throw errcode(new Error(errResponse.msg ?? 'unspecified'), 'ERR_CONNECT_FAILED')
|
|
121
92
|
}
|
|
122
93
|
|
|
@@ -247,6 +218,16 @@ export interface IdentifyResult {
|
|
|
247
218
|
export interface DHTClient {
|
|
248
219
|
put: (key: Uint8Array, value: Uint8Array) => Promise<void>
|
|
249
220
|
get: (key: Uint8Array) => Promise<Uint8Array>
|
|
221
|
+
provide: (cid: CID) => Promise<void>
|
|
222
|
+
findProviders: (cid: CID, count?: number) => AsyncIterable<PeerInfo>
|
|
223
|
+
findPeer: (peerId: PeerId) => Promise<PeerInfo>
|
|
224
|
+
getClosestPeers: (key: Uint8Array) => AsyncIterable<PeerInfo>
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface PubSubClient {
|
|
228
|
+
publish: (topic: string, data: Uint8Array) => Promise<void>
|
|
229
|
+
subscribe: (topic: string) => AsyncIterable<PSMessage>
|
|
230
|
+
getTopics: () => Promise<string[]>
|
|
250
231
|
}
|
|
251
232
|
|
|
252
233
|
export interface DaemonClient {
|
|
@@ -254,8 +235,10 @@ export interface DaemonClient {
|
|
|
254
235
|
listPeers: () => Promise<PeerId[]>
|
|
255
236
|
connect: (peerId: PeerId, addrs: Multiaddr[]) => Promise<void>
|
|
256
237
|
dht: DHTClient
|
|
238
|
+
pubsub: PubSubClient
|
|
257
239
|
|
|
258
240
|
send: (request: IRequest) => Promise<StreamHandler>
|
|
241
|
+
openStream: (peerId: PeerId, protocol: string) => Promise<Duplex<Uint8Array>>
|
|
259
242
|
}
|
|
260
243
|
|
|
261
244
|
export function createClient (multiaddr: Multiaddr): DaemonClient {
|
package/src/pubsub.ts
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import type { DaemonClient } from './index.js'
|
|
9
9
|
|
|
10
10
|
export class Pubsub {
|
|
11
|
-
private client: DaemonClient
|
|
11
|
+
private readonly client: DaemonClient
|
|
12
12
|
|
|
13
13
|
constructor (client: DaemonClient) {
|
|
14
14
|
this.client = client
|
|
@@ -91,7 +91,7 @@ export class Pubsub {
|
|
|
91
91
|
})
|
|
92
92
|
|
|
93
93
|
let message = await sh.read()
|
|
94
|
-
|
|
94
|
+
const response = Response.decode(message)
|
|
95
95
|
|
|
96
96
|
if (response.type !== Response.Type.OK) {
|
|
97
97
|
throw errcode(new Error(response.error?.msg ?? 'Pubsub publish failed'), 'ERR_PUBSUB_PUBLISH_FAILED')
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { Duplex } from 'it-stream-types';
|
|
2
|
-
export interface StreamHandlerOptions {
|
|
3
|
-
stream: Duplex<Uint8Array>;
|
|
4
|
-
maxLength?: number;
|
|
5
|
-
}
|
|
6
|
-
export declare class StreamHandler {
|
|
7
|
-
private stream;
|
|
8
|
-
private shake;
|
|
9
|
-
private decoder;
|
|
10
|
-
/**
|
|
11
|
-
* Create a stream handler for connection
|
|
12
|
-
*/
|
|
13
|
-
constructor(opts: StreamHandlerOptions);
|
|
14
|
-
/**
|
|
15
|
-
* Read and decode message
|
|
16
|
-
*/
|
|
17
|
-
read(): Promise<any>;
|
|
18
|
-
write(msg: Uint8Array): void;
|
|
19
|
-
/**
|
|
20
|
-
* Return the handshake rest stream and invalidate handler
|
|
21
|
-
*/
|
|
22
|
-
rest(): Duplex<Uint8Array, Uint8Array, Promise<void>>;
|
|
23
|
-
/**
|
|
24
|
-
* Close the stream
|
|
25
|
-
*/
|
|
26
|
-
close(): void;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=stream-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-handler.d.ts","sourceRoot":"","sources":["../../src/stream-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAU,MAAM,iBAAiB,CAAA;AAKrD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAoB;IACnC;;OAEG;gBACU,IAAI,EAAE,oBAAoB;IAQvC;;OAEG;IACG,IAAI;IAWV,KAAK,CAAE,GAAG,EAAE,UAAU;IAOtB;;OAEG;IACH,IAAI;IAKJ;;OAEG;IACH,KAAK;CAIN"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import * as lp from 'it-length-prefixed';
|
|
2
|
-
import { handshake } from 'it-handshake';
|
|
3
|
-
import { logger } from '@libp2p/logger';
|
|
4
|
-
const log = logger('libp2p:daemon-client:stream-handler');
|
|
5
|
-
export class StreamHandler {
|
|
6
|
-
/**
|
|
7
|
-
* Create a stream handler for connection
|
|
8
|
-
*/
|
|
9
|
-
constructor(opts) {
|
|
10
|
-
const { stream, maxLength } = opts;
|
|
11
|
-
this.stream = stream;
|
|
12
|
-
this.shake = handshake(this.stream);
|
|
13
|
-
this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength ?? 4096 });
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Read and decode message
|
|
17
|
-
*/
|
|
18
|
-
async read() {
|
|
19
|
-
// @ts-expect-error decoder is really a generator
|
|
20
|
-
const msg = await this.decoder.next();
|
|
21
|
-
if (msg.value) {
|
|
22
|
-
return msg.value.slice();
|
|
23
|
-
}
|
|
24
|
-
log('read received no value, closing stream');
|
|
25
|
-
// End the stream, we didn't get data
|
|
26
|
-
this.close();
|
|
27
|
-
}
|
|
28
|
-
write(msg) {
|
|
29
|
-
log('write message');
|
|
30
|
-
this.shake.write(lp.encode.single(msg).slice());
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Return the handshake rest stream and invalidate handler
|
|
34
|
-
*/
|
|
35
|
-
rest() {
|
|
36
|
-
this.shake.rest();
|
|
37
|
-
return this.shake.stream;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Close the stream
|
|
41
|
-
*/
|
|
42
|
-
close() {
|
|
43
|
-
log('closing the stream');
|
|
44
|
-
this.rest().sink([]);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=stream-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream-handler.js","sourceRoot":"","sources":["../../src/stream-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,MAAM,GAAG,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAA;AAOzD,MAAM,OAAO,aAAa;IAIxB;;OAEG;IACH,YAAa,IAA0B;QACrC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAElC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,iDAAiD;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,GAAG,CAAC,KAAK,EAAE;YACb,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;SACzB;QACD,GAAG,CAAC,wCAAwC,CAAC,CAAA;QAC7C,qCAAqC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,KAAK,CAAE,GAAe;QACpB,GAAG,CAAC,eAAe,CAAC,CAAA;QACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CACd,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAC9B,CAAA;IACH,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,CAAC;CACF"}
|
package/dist/src/util/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Upgrader } from '@libp2p/interfaces/transport';
|
|
2
|
-
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
3
|
-
export declare const passThroughUpgrader: Upgrader;
|
|
4
|
-
/**
|
|
5
|
-
* Converts the multiaddr to a nodejs NET compliant option
|
|
6
|
-
* for .connect or .listen
|
|
7
|
-
*
|
|
8
|
-
* @param {Multiaddr} addr
|
|
9
|
-
* @returns {string|object} A nodejs NET compliant option
|
|
10
|
-
*/
|
|
11
|
-
export declare function multiaddrToNetConfig(addr: Multiaddr): string | import("@multiformats/multiaddr").NodeAddress;
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGxD,eAAO,MAAM,mBAAmB,EAAE,QAKjC,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAE,IAAI,EAAE,SAAS,0DAQpD"}
|
package/dist/src/util/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { resolve } from 'path';
|
|
2
|
-
export const passThroughUpgrader = {
|
|
3
|
-
// @ts-expect-error
|
|
4
|
-
upgradeInbound: maConn => maConn,
|
|
5
|
-
// @ts-expect-error
|
|
6
|
-
upgradeOutbound: maConn => maConn
|
|
7
|
-
};
|
|
8
|
-
/**
|
|
9
|
-
* Converts the multiaddr to a nodejs NET compliant option
|
|
10
|
-
* for .connect or .listen
|
|
11
|
-
*
|
|
12
|
-
* @param {Multiaddr} addr
|
|
13
|
-
* @returns {string|object} A nodejs NET compliant option
|
|
14
|
-
*/
|
|
15
|
-
export function multiaddrToNetConfig(addr) {
|
|
16
|
-
const listenPath = addr.getPath();
|
|
17
|
-
// unix socket listening
|
|
18
|
-
if (listenPath) {
|
|
19
|
-
return resolve(listenPath);
|
|
20
|
-
}
|
|
21
|
-
// tcp listening
|
|
22
|
-
return addr.nodeAddress();
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/util/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,MAAM,CAAC,MAAM,mBAAmB,GAAa;IAC3C,mBAAmB;IACnB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM;IAChC,mBAAmB;IACnB,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM;CAClC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAE,IAAe;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IACjC,wBAAwB;IACxB,IAAI,UAAU,EAAE;QACd,OAAO,OAAO,CAAC,UAAU,CAAC,CAAA;KAC3B;IACD,gBAAgB;IAChB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;AAC3B,CAAC"}
|
package/src/stream-handler.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as lp from 'it-length-prefixed'
|
|
2
|
-
import { handshake } from 'it-handshake'
|
|
3
|
-
import { logger } from '@libp2p/logger'
|
|
4
|
-
import type { Duplex, Source } from 'it-stream-types'
|
|
5
|
-
import type { Handshake } from 'it-handshake'
|
|
6
|
-
|
|
7
|
-
const log = logger('libp2p:daemon-client:stream-handler')
|
|
8
|
-
|
|
9
|
-
export interface StreamHandlerOptions {
|
|
10
|
-
stream: Duplex<Uint8Array>
|
|
11
|
-
maxLength?: number
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export class StreamHandler {
|
|
15
|
-
private stream: Duplex<Uint8Array>
|
|
16
|
-
private shake: Handshake
|
|
17
|
-
private decoder: Source<Uint8Array>
|
|
18
|
-
/**
|
|
19
|
-
* Create a stream handler for connection
|
|
20
|
-
*/
|
|
21
|
-
constructor (opts: StreamHandlerOptions) {
|
|
22
|
-
const { stream, maxLength } = opts
|
|
23
|
-
|
|
24
|
-
this.stream = stream
|
|
25
|
-
this.shake = handshake(this.stream)
|
|
26
|
-
this.decoder = lp.decode.fromReader(this.shake.reader, { maxDataLength: maxLength ?? 4096 })
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Read and decode message
|
|
31
|
-
*/
|
|
32
|
-
async read () {
|
|
33
|
-
// @ts-expect-error decoder is really a generator
|
|
34
|
-
const msg = await this.decoder.next()
|
|
35
|
-
if (msg.value) {
|
|
36
|
-
return msg.value.slice()
|
|
37
|
-
}
|
|
38
|
-
log('read received no value, closing stream')
|
|
39
|
-
// End the stream, we didn't get data
|
|
40
|
-
this.close()
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
write (msg: Uint8Array) {
|
|
44
|
-
log('write message')
|
|
45
|
-
this.shake.write(
|
|
46
|
-
lp.encode.single(msg).slice()
|
|
47
|
-
)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Return the handshake rest stream and invalidate handler
|
|
52
|
-
*/
|
|
53
|
-
rest () {
|
|
54
|
-
this.shake.rest()
|
|
55
|
-
return this.shake.stream
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Close the stream
|
|
60
|
-
*/
|
|
61
|
-
close () {
|
|
62
|
-
log('closing the stream')
|
|
63
|
-
this.rest().sink([])
|
|
64
|
-
}
|
|
65
|
-
}
|
package/src/util/index.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Upgrader } from '@libp2p/interfaces/transport'
|
|
2
|
-
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
3
|
-
import { resolve } from 'path'
|
|
4
|
-
|
|
5
|
-
export const passThroughUpgrader: Upgrader = {
|
|
6
|
-
// @ts-expect-error
|
|
7
|
-
upgradeInbound: maConn => maConn,
|
|
8
|
-
// @ts-expect-error
|
|
9
|
-
upgradeOutbound: maConn => maConn
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Converts the multiaddr to a nodejs NET compliant option
|
|
14
|
-
* for .connect or .listen
|
|
15
|
-
*
|
|
16
|
-
* @param {Multiaddr} addr
|
|
17
|
-
* @returns {string|object} A nodejs NET compliant option
|
|
18
|
-
*/
|
|
19
|
-
export function multiaddrToNetConfig (addr: Multiaddr) {
|
|
20
|
-
const listenPath = addr.getPath()
|
|
21
|
-
// unix socket listening
|
|
22
|
-
if (listenPath) {
|
|
23
|
-
return resolve(listenPath)
|
|
24
|
-
}
|
|
25
|
-
// tcp listening
|
|
26
|
-
return addr.nodeAddress()
|
|
27
|
-
}
|