@libp2p/kad-dht 0.28.7 → 1.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/content-fetching/index.d.ts +6 -9
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +14 -11
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +6 -9
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +15 -13
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/dual-kad-dht.d.ts +6 -6
- package/dist/src/dual-kad-dht.d.ts.map +1 -1
- package/dist/src/dual-kad-dht.js +9 -4
- package/dist/src/dual-kad-dht.js.map +1 -1
- package/dist/src/index.d.ts +14 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/kad-dht.d.ts +12 -52
- package/dist/src/kad-dht.d.ts.map +1 -1
- package/dist/src/kad-dht.js +45 -48
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/network.d.ts +7 -7
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +10 -6
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +6 -8
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +18 -16
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/providers.d.ts +6 -6
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +11 -7
- package/dist/src/providers.js.map +1 -1
- package/dist/src/query/manager.d.ts +6 -8
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +10 -7
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +2 -3
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/query-self.d.ts +6 -6
- package/dist/src/query-self.d.ts.map +1 -1
- package/dist/src/query-self.js +8 -4
- package/dist/src/query-self.js.map +1 -1
- package/dist/src/routing-table/index.d.ts +10 -14
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +12 -10
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/routing-table/refresh.d.ts +5 -3
- package/dist/src/routing-table/refresh.d.ts.map +1 -1
- package/dist/src/routing-table/refresh.js +4 -2
- package/dist/src/routing-table/refresh.js.map +1 -1
- package/dist/src/rpc/handlers/add-provider.d.ts +5 -3
- package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -1
- package/dist/src/rpc/handlers/add-provider.js +4 -2
- package/dist/src/rpc/handlers/add-provider.js.map +1 -1
- package/dist/src/rpc/handlers/find-node.d.ts +5 -3
- package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
- package/dist/src/rpc/handlers/find-node.js +4 -2
- package/dist/src/rpc/handlers/find-node.js.map +1 -1
- package/dist/src/rpc/handlers/get-providers.d.ts +6 -6
- package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-providers.js +8 -4
- package/dist/src/rpc/handlers/get-providers.js.map +1 -1
- package/dist/src/rpc/handlers/get-value.d.ts +6 -9
- package/dist/src/rpc/handlers/get-value.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-value.js +10 -7
- package/dist/src/rpc/handlers/get-value.js.map +1 -1
- package/dist/src/rpc/handlers/ping.d.ts +3 -1
- package/dist/src/rpc/handlers/ping.d.ts.map +1 -1
- package/dist/src/rpc/handlers/ping.js +2 -0
- package/dist/src/rpc/handlers/ping.js.map +1 -1
- package/dist/src/rpc/handlers/put-value.d.ts +7 -8
- package/dist/src/rpc/handlers/put-value.d.ts.map +1 -1
- package/dist/src/rpc/handlers/put-value.js +10 -7
- package/dist/src/rpc/handlers/put-value.js.map +1 -1
- package/dist/src/rpc/index.d.ts +6 -10
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/dist/src/rpc/index.js +14 -9
- package/dist/src/rpc/index.js.map +1 -1
- package/dist/src/topology-listener.d.ts +6 -6
- package/dist/src/topology-listener.d.ts.map +1 -1
- package/dist/src/topology-listener.js +9 -5
- package/dist/src/topology-listener.js.map +1 -1
- package/package.json +21 -21
- package/src/content-fetching/index.ts +17 -19
- package/src/content-routing/index.ts +18 -21
- package/src/dual-kad-dht.ts +12 -9
- package/src/index.ts +22 -14
- package/src/kad-dht.ts +59 -117
- package/src/network.ts +14 -12
- package/src/peer-routing/index.ts +21 -23
- package/src/providers.ts +14 -11
- package/src/query/manager.ts +13 -14
- package/src/query/query-path.ts +2 -3
- package/src/query-self.ts +11 -9
- package/src/routing-table/index.ts +20 -23
- package/src/routing-table/refresh.ts +9 -4
- package/src/rpc/handlers/add-provider.ts +9 -4
- package/src/rpc/handlers/find-node.ts +9 -4
- package/src/rpc/handlers/get-providers.ts +11 -9
- package/src/rpc/handlers/get-value.ts +13 -15
- package/src/rpc/handlers/ping.ts +6 -1
- package/src/rpc/handlers/put-value.ts +14 -15
- package/src/rpc/index.ts +19 -18
- package/src/topology-listener.ts +12 -10
- package/dist/src/routing-table/types.d.ts +0 -24
- package/dist/src/routing-table/types.d.ts.map +0 -1
- package/dist/src/rpc/handlers/index.d.ts +0 -13
- package/dist/src/rpc/handlers/index.d.ts.map +0 -1
- package/dist/src/rpc/types.d.ts +0 -6
- package/dist/src/rpc/types.d.ts.map +0 -1
- package/dist/src/types.d.ts +0 -143
- package/dist/src/types.d.ts.map +0 -1
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type PeerId from 'peer-id';
|
|
2
|
-
export interface KBucketPeer {
|
|
3
|
-
id: Uint8Array;
|
|
4
|
-
peer: PeerId;
|
|
5
|
-
}
|
|
6
|
-
export interface KBucket {
|
|
7
|
-
id: Uint8Array;
|
|
8
|
-
contacts: KBucketPeer[];
|
|
9
|
-
dontSplit: boolean;
|
|
10
|
-
left: KBucket;
|
|
11
|
-
right: KBucket;
|
|
12
|
-
}
|
|
13
|
-
export interface KBucketTree {
|
|
14
|
-
root: KBucket;
|
|
15
|
-
localNodeId: Uint8Array;
|
|
16
|
-
on: (event: 'ping', callback: (oldContacts: KBucketPeer[], newContact: KBucketPeer) => void) => void;
|
|
17
|
-
closest: (key: Uint8Array, count: number) => KBucketPeer[];
|
|
18
|
-
closestPeer: (key: Uint8Array) => KBucketPeer;
|
|
19
|
-
remove: (key: Uint8Array) => void;
|
|
20
|
-
add: (peer: KBucketPeer) => void;
|
|
21
|
-
count: () => number;
|
|
22
|
-
toIterable: () => Iterable<KBucket>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routing-table/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AAEjC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,UAAU,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,UAAU,CAAA;IACd,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,UAAU,CAAA;IACvB,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,WAAW,KAAK,IAAI,KAAK,IAAI,CAAA;IACpG,OAAO,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,EAAE,CAAA;IAC1D,WAAW,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,WAAW,CAAA;IAC7C,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAA;IACjC,GAAG,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;CACpC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare function _exports({ peerId, providers, peerStore, addressable, peerRouting, records, validators, lan }: {
|
|
2
|
-
peerId: import('peer-id');
|
|
3
|
-
providers: import('../../providers').Providers;
|
|
4
|
-
peerStore: import('libp2p/src/peer-store/types').PeerStore;
|
|
5
|
-
addressable: import('../../types').Addressable;
|
|
6
|
-
peerRouting: import('../../peer-routing').PeerRouting;
|
|
7
|
-
records: import('interface-datastore').Datastore;
|
|
8
|
-
validators: import('libp2p-interfaces/src/types').DhtValidators;
|
|
9
|
-
lan?: boolean | undefined;
|
|
10
|
-
}): (type: number) => import("../types").DHTMessageHandler;
|
|
11
|
-
export = _exports;
|
|
12
|
-
export type DHTMessageHandler = import('../types').DHTMessageHandler;
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/rpc/handlers/index.js"],"names":[],"mappings":"AAyBiB;IAToB,MAAM,EAAhC,OAAO,SAAS,CAAC;IAC2B,SAAS,EAArD,OAAO,iBAAiB,EAAE,SAAS;IACqB,SAAS,EAAjE,OAAO,6BAA6B,EAAE,SAAS;IACL,WAAW,EAArD,OAAO,aAAa,EAAE,WAAW;IACgB,WAAW,EAA5D,OAAO,oBAAoB,EAAE,WAAW;IACQ,OAAO,EAAvD,OAAO,qBAAqB,EAAE,SAAS;IACqB,UAAU,EAAtE,OAAO,6BAA6B,EAAE,aAAa;IAClC,GAAG;WAgBlB,MAAM,0CAOlB;;gCAnCY,OAAO,UAAU,EAAE,iBAAiB"}
|
package/dist/src/rpc/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/rpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,SAAS,CAAA;AACjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEzC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;CACvE"}
|
package/dist/src/types.d.ts
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import type PeerId from 'peer-id';
|
|
2
|
-
import type { Multiaddr } from 'multiaddr';
|
|
3
|
-
import type { CID } from 'multiformats/cid';
|
|
4
|
-
import type { MuxedStream } from 'libp2p/src/upgrader';
|
|
5
|
-
import type { PublicKey } from 'libp2p-crypto';
|
|
6
|
-
import type { Message } from './message/dht';
|
|
7
|
-
export declare enum EventTypes {
|
|
8
|
-
SENDING_QUERY = 0,
|
|
9
|
-
PEER_RESPONSE = 1,
|
|
10
|
-
FINAL_PEER = 2,
|
|
11
|
-
QUERY_ERROR = 3,
|
|
12
|
-
PROVIDER = 4,
|
|
13
|
-
VALUE = 5,
|
|
14
|
-
ADDING_PEER = 6,
|
|
15
|
-
DIALING_PEER = 7
|
|
16
|
-
}
|
|
17
|
-
export declare type MessageName = keyof typeof Message.MessageType;
|
|
18
|
-
export interface PeerData {
|
|
19
|
-
id: PeerId;
|
|
20
|
-
multiaddrs: Multiaddr[];
|
|
21
|
-
}
|
|
22
|
-
export interface DHTRecord {
|
|
23
|
-
key: Uint8Array;
|
|
24
|
-
value: Uint8Array;
|
|
25
|
-
timeReceived?: Date;
|
|
26
|
-
}
|
|
27
|
-
export interface AbortOptions {
|
|
28
|
-
signal?: AbortSignal;
|
|
29
|
-
}
|
|
30
|
-
export interface QueryOptions extends AbortOptions {
|
|
31
|
-
queryFuncTimeout?: number;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Emitted when sending queries to remote peers
|
|
35
|
-
*/
|
|
36
|
-
export interface SendingQueryEvent {
|
|
37
|
-
to: PeerId;
|
|
38
|
-
type: EventTypes.SENDING_QUERY;
|
|
39
|
-
name: 'SENDING_QUERY';
|
|
40
|
-
messageName: keyof typeof Message.MessageType;
|
|
41
|
-
messageType: Message.MessageType;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Emitted when query responses are received form remote peers. Depending on the query
|
|
45
|
-
* these events may be followed by a `FinalPeerEvent`, a `ValueEvent` or a `ProviderEvent`.
|
|
46
|
-
*/
|
|
47
|
-
export interface PeerResponseEvent {
|
|
48
|
-
from: PeerId;
|
|
49
|
-
type: EventTypes.PEER_RESPONSE;
|
|
50
|
-
name: 'PEER_RESPONSE';
|
|
51
|
-
messageName: keyof typeof Message.MessageType;
|
|
52
|
-
messageType: Message.MessageType;
|
|
53
|
-
closer: PeerData[];
|
|
54
|
-
providers: PeerData[];
|
|
55
|
-
record?: DHTRecord;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Emitted at the end of a `findPeer` query
|
|
59
|
-
*/
|
|
60
|
-
export interface FinalPeerEvent {
|
|
61
|
-
from: PeerId;
|
|
62
|
-
peer: PeerData;
|
|
63
|
-
type: EventTypes.FINAL_PEER;
|
|
64
|
-
name: 'FINAL_PEER';
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Something went wrong with the query
|
|
68
|
-
*/
|
|
69
|
-
export interface QueryErrorEvent {
|
|
70
|
-
from: PeerId;
|
|
71
|
-
type: EventTypes.QUERY_ERROR;
|
|
72
|
-
name: 'QUERY_ERROR';
|
|
73
|
-
error: Error;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Emitted when providers are found
|
|
77
|
-
*/
|
|
78
|
-
export interface ProviderEvent {
|
|
79
|
-
from: PeerId;
|
|
80
|
-
type: EventTypes.PROVIDER;
|
|
81
|
-
name: 'PROVIDER';
|
|
82
|
-
providers: PeerData[];
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Emitted when values are found
|
|
86
|
-
*/
|
|
87
|
-
export interface ValueEvent {
|
|
88
|
-
from: PeerId;
|
|
89
|
-
type: EventTypes.VALUE;
|
|
90
|
-
name: 'VALUE';
|
|
91
|
-
value: Uint8Array;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Emitted when peers are added to a query
|
|
95
|
-
*/
|
|
96
|
-
export interface AddingPeerEvent {
|
|
97
|
-
type: EventTypes.ADDING_PEER;
|
|
98
|
-
name: 'ADDING_PEER';
|
|
99
|
-
peer: PeerId;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Emitted when peers are dialled as part of a query
|
|
103
|
-
*/
|
|
104
|
-
export interface DialingPeerEvent {
|
|
105
|
-
peer: PeerId;
|
|
106
|
-
type: EventTypes.DIALING_PEER;
|
|
107
|
-
name: 'DIALING_PEER';
|
|
108
|
-
}
|
|
109
|
-
export declare type QueryEvent = SendingQueryEvent | PeerResponseEvent | FinalPeerEvent | QueryErrorEvent | ProviderEvent | ValueEvent | AddingPeerEvent | DialingPeerEvent;
|
|
110
|
-
export interface DHT {
|
|
111
|
-
/**
|
|
112
|
-
* Get a value from the DHT, the final ValueEvent will be the best value
|
|
113
|
-
*/
|
|
114
|
-
get: (key: Uint8Array, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
115
|
-
findProviders: (key: CID, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
116
|
-
findPeer: (id: PeerId, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
117
|
-
getClosestPeers: (key: Uint8Array, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
118
|
-
getPublicKey: (peer: PeerId, options?: QueryOptions) => Promise<PublicKey>;
|
|
119
|
-
provide: (key: CID, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
120
|
-
put: (key: Uint8Array, value: Uint8Array, options?: QueryOptions) => AsyncIterable<QueryEvent>;
|
|
121
|
-
enableServerMode: () => Promise<void>;
|
|
122
|
-
enableClientMode: () => Promise<void>;
|
|
123
|
-
refreshRoutingTable: () => Promise<void>;
|
|
124
|
-
on: (event: 'peer', handler: (peerData: PeerData) => void) => this;
|
|
125
|
-
}
|
|
126
|
-
export interface Dialer {
|
|
127
|
-
dialProtocol: (peer: PeerId, protocol: string, options?: {
|
|
128
|
-
signal?: AbortSignal;
|
|
129
|
-
}) => Promise<{
|
|
130
|
-
stream: MuxedStream;
|
|
131
|
-
}>;
|
|
132
|
-
}
|
|
133
|
-
export interface Addressable {
|
|
134
|
-
multiaddrs: Multiaddr[];
|
|
135
|
-
}
|
|
136
|
-
export interface Metrics {
|
|
137
|
-
updateComponentMetric: (options: {
|
|
138
|
-
component: string;
|
|
139
|
-
metric: string;
|
|
140
|
-
value: number;
|
|
141
|
-
}) => void;
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/src/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|