@libp2p/kad-dht 0.28.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.
Files changed (166) hide show
  1. package/LICENSE +4 -0
  2. package/README.md +105 -0
  3. package/dist/src/constants.d.ts +20 -0
  4. package/dist/src/constants.d.ts.map +1 -0
  5. package/dist/src/constants.js +34 -0
  6. package/dist/src/constants.js.map +1 -0
  7. package/dist/src/content-fetching/index.d.ts +55 -0
  8. package/dist/src/content-fetching/index.d.ts.map +1 -0
  9. package/dist/src/content-fetching/index.js +190 -0
  10. package/dist/src/content-fetching/index.js.map +1 -0
  11. package/dist/src/content-routing/index.d.ts +42 -0
  12. package/dist/src/content-routing/index.d.ts.map +1 -0
  13. package/dist/src/content-routing/index.js +129 -0
  14. package/dist/src/content-routing/index.js.map +1 -0
  15. package/dist/src/dual-kad-dht.d.ts +65 -0
  16. package/dist/src/dual-kad-dht.d.ts.map +1 -0
  17. package/dist/src/dual-kad-dht.js +191 -0
  18. package/dist/src/dual-kad-dht.js.map +1 -0
  19. package/dist/src/index.d.ts +4 -0
  20. package/dist/src/index.d.ts.map +1 -0
  21. package/dist/src/index.js +15 -0
  22. package/dist/src/index.js.map +1 -0
  23. package/dist/src/kad-dht.d.ts +131 -0
  24. package/dist/src/kad-dht.d.ts.map +1 -0
  25. package/dist/src/kad-dht.js +268 -0
  26. package/dist/src/kad-dht.js.map +1 -0
  27. package/dist/src/message/dht.d.ts +297 -0
  28. package/dist/src/message/dht.js +921 -0
  29. package/dist/src/message/index.d.ts +32 -0
  30. package/dist/src/message/index.d.ts.map +1 -0
  31. package/dist/src/message/index.js +81 -0
  32. package/dist/src/message/index.js.map +1 -0
  33. package/dist/src/network.d.ts +60 -0
  34. package/dist/src/network.d.ts.map +1 -0
  35. package/dist/src/network.js +124 -0
  36. package/dist/src/network.js.map +1 -0
  37. package/dist/src/peer-list/index.d.ts +29 -0
  38. package/dist/src/peer-list/index.d.ts.map +1 -0
  39. package/dist/src/peer-list/index.js +44 -0
  40. package/dist/src/peer-list/index.js.map +1 -0
  41. package/dist/src/peer-list/peer-distance-list.d.ts +34 -0
  42. package/dist/src/peer-list/peer-distance-list.d.ts.map +1 -0
  43. package/dist/src/peer-list/peer-distance-list.js +64 -0
  44. package/dist/src/peer-list/peer-distance-list.js.map +1 -0
  45. package/dist/src/peer-routing/index.d.ts +71 -0
  46. package/dist/src/peer-routing/index.d.ts.map +1 -0
  47. package/dist/src/peer-routing/index.js +256 -0
  48. package/dist/src/peer-routing/index.js.map +1 -0
  49. package/dist/src/providers.d.ts +64 -0
  50. package/dist/src/providers.d.ts.map +1 -0
  51. package/dist/src/providers.js +208 -0
  52. package/dist/src/providers.js.map +1 -0
  53. package/dist/src/query/events.d.ts +46 -0
  54. package/dist/src/query/events.d.ts.map +1 -0
  55. package/dist/src/query/events.js +73 -0
  56. package/dist/src/query/events.js.map +1 -0
  57. package/dist/src/query/manager.d.ts +40 -0
  58. package/dist/src/query/manager.d.ts.map +1 -0
  59. package/dist/src/query/manager.js +140 -0
  60. package/dist/src/query/manager.js.map +1 -0
  61. package/dist/src/query/query-path.d.ts +58 -0
  62. package/dist/src/query/query-path.d.ts.map +1 -0
  63. package/dist/src/query/query-path.js +171 -0
  64. package/dist/src/query/query-path.js.map +1 -0
  65. package/dist/src/query/types.d.ts +16 -0
  66. package/dist/src/query/types.d.ts.map +1 -0
  67. package/dist/src/query/types.js +2 -0
  68. package/dist/src/query/types.js.map +1 -0
  69. package/dist/src/query-self.d.ts +31 -0
  70. package/dist/src/query-self.d.ts.map +1 -0
  71. package/dist/src/query-self.js +73 -0
  72. package/dist/src/query-self.js.map +1 -0
  73. package/dist/src/routing-table/generated-prefix-list-browser.d.ts +3 -0
  74. package/dist/src/routing-table/generated-prefix-list-browser.d.ts.map +1 -0
  75. package/dist/src/routing-table/generated-prefix-list-browser.js +1027 -0
  76. package/dist/src/routing-table/generated-prefix-list-browser.js.map +1 -0
  77. package/dist/src/routing-table/generated-prefix-list.d.ts +3 -0
  78. package/dist/src/routing-table/generated-prefix-list.d.ts.map +1 -0
  79. package/dist/src/routing-table/generated-prefix-list.js +4099 -0
  80. package/dist/src/routing-table/generated-prefix-list.js.map +1 -0
  81. package/dist/src/routing-table/index.d.ts +91 -0
  82. package/dist/src/routing-table/index.d.ts.map +1 -0
  83. package/dist/src/routing-table/index.js +183 -0
  84. package/dist/src/routing-table/index.js.map +1 -0
  85. package/dist/src/routing-table/refresh.d.ts +50 -0
  86. package/dist/src/routing-table/refresh.d.ts.map +1 -0
  87. package/dist/src/routing-table/refresh.js +204 -0
  88. package/dist/src/routing-table/refresh.js.map +1 -0
  89. package/dist/src/routing-table/types.d.ts +24 -0
  90. package/dist/src/routing-table/types.d.ts.map +1 -0
  91. package/dist/src/rpc/handlers/add-provider.d.ts +13 -0
  92. package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -0
  93. package/dist/src/rpc/handlers/add-provider.js +42 -0
  94. package/dist/src/rpc/handlers/add-provider.js.map +1 -0
  95. package/dist/src/rpc/handlers/find-node.d.ts +18 -0
  96. package/dist/src/rpc/handlers/find-node.d.ts.map +1 -0
  97. package/dist/src/rpc/handlers/find-node.js +32 -0
  98. package/dist/src/rpc/handlers/find-node.js.map +1 -0
  99. package/dist/src/rpc/handlers/get-providers.d.ts +24 -0
  100. package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -0
  101. package/dist/src/rpc/handlers/get-providers.js +60 -0
  102. package/dist/src/rpc/handlers/get-providers.js.map +1 -0
  103. package/dist/src/rpc/handlers/get-value.d.ts +27 -0
  104. package/dist/src/rpc/handlers/get-value.d.ts.map +1 -0
  105. package/dist/src/rpc/handlers/get-value.js +94 -0
  106. package/dist/src/rpc/handlers/get-value.js.map +1 -0
  107. package/dist/src/rpc/handlers/index.d.ts +13 -0
  108. package/dist/src/rpc/handlers/index.d.ts.map +1 -0
  109. package/dist/src/rpc/handlers/ping.d.ts +7 -0
  110. package/dist/src/rpc/handlers/ping.d.ts.map +1 -0
  111. package/dist/src/rpc/handlers/ping.js +9 -0
  112. package/dist/src/rpc/handlers/ping.js.map +1 -0
  113. package/dist/src/rpc/handlers/put-value.d.ts +18 -0
  114. package/dist/src/rpc/handlers/put-value.d.ts.map +1 -0
  115. package/dist/src/rpc/handlers/put-value.js +35 -0
  116. package/dist/src/rpc/handlers/put-value.js.map +1 -0
  117. package/dist/src/rpc/index.d.ts +38 -0
  118. package/dist/src/rpc/index.d.ts.map +1 -0
  119. package/dist/src/rpc/index.js +75 -0
  120. package/dist/src/rpc/index.js.map +1 -0
  121. package/dist/src/rpc/types.d.ts +6 -0
  122. package/dist/src/rpc/types.d.ts.map +1 -0
  123. package/dist/src/topology-listener.d.ts +33 -0
  124. package/dist/src/topology-listener.d.ts.map +1 -0
  125. package/dist/src/topology-listener.js +50 -0
  126. package/dist/src/topology-listener.js.map +1 -0
  127. package/dist/src/types.d.ts +143 -0
  128. package/dist/src/types.d.ts.map +1 -0
  129. package/dist/src/utils.d.ts +33 -0
  130. package/dist/src/utils.d.ts.map +1 -0
  131. package/dist/src/utils.js +89 -0
  132. package/dist/src/utils.js.map +1 -0
  133. package/package.json +200 -0
  134. package/src/constants.ts +50 -0
  135. package/src/content-fetching/index.ts +276 -0
  136. package/src/content-routing/index.ts +202 -0
  137. package/src/dual-kad-dht.ts +257 -0
  138. package/src/index.ts +21 -0
  139. package/src/kad-dht.ts +396 -0
  140. package/src/message/dht.d.ts +297 -0
  141. package/src/message/dht.js +921 -0
  142. package/src/message/dht.proto +75 -0
  143. package/src/message/index.ts +111 -0
  144. package/src/network.ts +185 -0
  145. package/src/peer-list/index.ts +54 -0
  146. package/src/peer-list/peer-distance-list.ts +93 -0
  147. package/src/peer-routing/index.ts +332 -0
  148. package/src/providers.ts +278 -0
  149. package/src/query/events.ts +126 -0
  150. package/src/query/manager.ts +188 -0
  151. package/src/query/query-path.ts +263 -0
  152. package/src/query/types.ts +22 -0
  153. package/src/query-self.ts +106 -0
  154. package/src/routing-table/generated-prefix-list-browser.ts +1026 -0
  155. package/src/routing-table/generated-prefix-list.ts +4098 -0
  156. package/src/routing-table/index.ts +265 -0
  157. package/src/routing-table/refresh.ts +263 -0
  158. package/src/rpc/handlers/add-provider.ts +63 -0
  159. package/src/rpc/handlers/find-node.ts +57 -0
  160. package/src/rpc/handlers/get-providers.ts +95 -0
  161. package/src/rpc/handlers/get-value.ts +130 -0
  162. package/src/rpc/handlers/ping.ts +13 -0
  163. package/src/rpc/handlers/put-value.ts +58 -0
  164. package/src/rpc/index.ts +118 -0
  165. package/src/topology-listener.ts +78 -0
  166. package/src/utils.ts +108 -0
@@ -0,0 +1,297 @@
1
+ import * as $protobuf from "protobufjs";
2
+ /** Properties of a Record. */
3
+ export interface IRecord {
4
+
5
+ /** Record key */
6
+ key?: (Uint8Array|null);
7
+
8
+ /** Record value */
9
+ value?: (Uint8Array|null);
10
+
11
+ /** Record author */
12
+ author?: (Uint8Array|null);
13
+
14
+ /** Record signature */
15
+ signature?: (Uint8Array|null);
16
+
17
+ /** Record timeReceived */
18
+ timeReceived?: (string|null);
19
+ }
20
+
21
+ /** Represents a Record. */
22
+ export class Record implements IRecord {
23
+
24
+ /**
25
+ * Constructs a new Record.
26
+ * @param [p] Properties to set
27
+ */
28
+ constructor(p?: IRecord);
29
+
30
+ /** Record key. */
31
+ public key?: (Uint8Array|null);
32
+
33
+ /** Record value. */
34
+ public value?: (Uint8Array|null);
35
+
36
+ /** Record author. */
37
+ public author?: (Uint8Array|null);
38
+
39
+ /** Record signature. */
40
+ public signature?: (Uint8Array|null);
41
+
42
+ /** Record timeReceived. */
43
+ public timeReceived?: (string|null);
44
+
45
+ /** Record _key. */
46
+ public _key?: "key";
47
+
48
+ /** Record _value. */
49
+ public _value?: "value";
50
+
51
+ /** Record _author. */
52
+ public _author?: "author";
53
+
54
+ /** Record _signature. */
55
+ public _signature?: "signature";
56
+
57
+ /** Record _timeReceived. */
58
+ public _timeReceived?: "timeReceived";
59
+
60
+ /**
61
+ * Encodes the specified Record message. Does not implicitly {@link Record.verify|verify} messages.
62
+ * @param m Record message or plain object to encode
63
+ * @param [w] Writer to encode to
64
+ * @returns Writer
65
+ */
66
+ public static encode(m: IRecord, w?: $protobuf.Writer): $protobuf.Writer;
67
+
68
+ /**
69
+ * Decodes a Record message from the specified reader or buffer.
70
+ * @param r Reader or buffer to decode from
71
+ * @param [l] Message length if known beforehand
72
+ * @returns Record
73
+ * @throws {Error} If the payload is not a reader or valid buffer
74
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
75
+ */
76
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Record;
77
+
78
+ /**
79
+ * Creates a Record message from a plain object. Also converts values to their respective internal types.
80
+ * @param d Plain object
81
+ * @returns Record
82
+ */
83
+ public static fromObject(d: { [k: string]: any }): Record;
84
+
85
+ /**
86
+ * Creates a plain object from a Record message. Also converts values to other types if specified.
87
+ * @param m Record
88
+ * @param [o] Conversion options
89
+ * @returns Plain object
90
+ */
91
+ public static toObject(m: Record, o?: $protobuf.IConversionOptions): { [k: string]: any };
92
+
93
+ /**
94
+ * Converts this Record to JSON.
95
+ * @returns JSON object
96
+ */
97
+ public toJSON(): { [k: string]: any };
98
+ }
99
+
100
+ /** Properties of a Message. */
101
+ export interface IMessage {
102
+
103
+ /** Message type */
104
+ type?: (Message.MessageType|null);
105
+
106
+ /** Message clusterLevelRaw */
107
+ clusterLevelRaw?: (number|null);
108
+
109
+ /** Message key */
110
+ key?: (Uint8Array|null);
111
+
112
+ /** Message record */
113
+ record?: (Uint8Array|null);
114
+
115
+ /** Message closerPeers */
116
+ closerPeers?: (Message.IPeer[]|null);
117
+
118
+ /** Message providerPeers */
119
+ providerPeers?: (Message.IPeer[]|null);
120
+ }
121
+
122
+ /** Represents a Message. */
123
+ export class Message implements IMessage {
124
+
125
+ /**
126
+ * Constructs a new Message.
127
+ * @param [p] Properties to set
128
+ */
129
+ constructor(p?: IMessage);
130
+
131
+ /** Message type. */
132
+ public type?: (Message.MessageType|null);
133
+
134
+ /** Message clusterLevelRaw. */
135
+ public clusterLevelRaw?: (number|null);
136
+
137
+ /** Message key. */
138
+ public key?: (Uint8Array|null);
139
+
140
+ /** Message record. */
141
+ public record?: (Uint8Array|null);
142
+
143
+ /** Message closerPeers. */
144
+ public closerPeers: Message.IPeer[];
145
+
146
+ /** Message providerPeers. */
147
+ public providerPeers: Message.IPeer[];
148
+
149
+ /** Message _type. */
150
+ public _type?: "type";
151
+
152
+ /** Message _clusterLevelRaw. */
153
+ public _clusterLevelRaw?: "clusterLevelRaw";
154
+
155
+ /** Message _key. */
156
+ public _key?: "key";
157
+
158
+ /** Message _record. */
159
+ public _record?: "record";
160
+
161
+ /**
162
+ * Encodes the specified Message message. Does not implicitly {@link Message.verify|verify} messages.
163
+ * @param m Message message or plain object to encode
164
+ * @param [w] Writer to encode to
165
+ * @returns Writer
166
+ */
167
+ public static encode(m: IMessage, w?: $protobuf.Writer): $protobuf.Writer;
168
+
169
+ /**
170
+ * Decodes a Message message from the specified reader or buffer.
171
+ * @param r Reader or buffer to decode from
172
+ * @param [l] Message length if known beforehand
173
+ * @returns Message
174
+ * @throws {Error} If the payload is not a reader or valid buffer
175
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
176
+ */
177
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Message;
178
+
179
+ /**
180
+ * Creates a Message message from a plain object. Also converts values to their respective internal types.
181
+ * @param d Plain object
182
+ * @returns Message
183
+ */
184
+ public static fromObject(d: { [k: string]: any }): Message;
185
+
186
+ /**
187
+ * Creates a plain object from a Message message. Also converts values to other types if specified.
188
+ * @param m Message
189
+ * @param [o] Conversion options
190
+ * @returns Plain object
191
+ */
192
+ public static toObject(m: Message, o?: $protobuf.IConversionOptions): { [k: string]: any };
193
+
194
+ /**
195
+ * Converts this Message to JSON.
196
+ * @returns JSON object
197
+ */
198
+ public toJSON(): { [k: string]: any };
199
+ }
200
+
201
+ export namespace Message {
202
+
203
+ /** MessageType enum. */
204
+ enum MessageType {
205
+ PUT_VALUE = 0,
206
+ GET_VALUE = 1,
207
+ ADD_PROVIDER = 2,
208
+ GET_PROVIDERS = 3,
209
+ FIND_NODE = 4,
210
+ PING = 5
211
+ }
212
+
213
+ /** ConnectionType enum. */
214
+ enum ConnectionType {
215
+ NOT_CONNECTED = 0,
216
+ CONNECTED = 1,
217
+ CAN_CONNECT = 2,
218
+ CANNOT_CONNECT = 3
219
+ }
220
+
221
+ /** Properties of a Peer. */
222
+ interface IPeer {
223
+
224
+ /** Peer id */
225
+ id?: (Uint8Array|null);
226
+
227
+ /** Peer addrs */
228
+ addrs?: (Uint8Array[]|null);
229
+
230
+ /** Peer connection */
231
+ connection?: (Message.ConnectionType|null);
232
+ }
233
+
234
+ /** Represents a Peer. */
235
+ class Peer implements IPeer {
236
+
237
+ /**
238
+ * Constructs a new Peer.
239
+ * @param [p] Properties to set
240
+ */
241
+ constructor(p?: Message.IPeer);
242
+
243
+ /** Peer id. */
244
+ public id?: (Uint8Array|null);
245
+
246
+ /** Peer addrs. */
247
+ public addrs: Uint8Array[];
248
+
249
+ /** Peer connection. */
250
+ public connection?: (Message.ConnectionType|null);
251
+
252
+ /** Peer _id. */
253
+ public _id?: "id";
254
+
255
+ /** Peer _connection. */
256
+ public _connection?: "connection";
257
+
258
+ /**
259
+ * Encodes the specified Peer message. Does not implicitly {@link Message.Peer.verify|verify} messages.
260
+ * @param m Peer message or plain object to encode
261
+ * @param [w] Writer to encode to
262
+ * @returns Writer
263
+ */
264
+ public static encode(m: Message.IPeer, w?: $protobuf.Writer): $protobuf.Writer;
265
+
266
+ /**
267
+ * Decodes a Peer message from the specified reader or buffer.
268
+ * @param r Reader or buffer to decode from
269
+ * @param [l] Message length if known beforehand
270
+ * @returns Peer
271
+ * @throws {Error} If the payload is not a reader or valid buffer
272
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
273
+ */
274
+ public static decode(r: ($protobuf.Reader|Uint8Array), l?: number): Message.Peer;
275
+
276
+ /**
277
+ * Creates a Peer message from a plain object. Also converts values to their respective internal types.
278
+ * @param d Plain object
279
+ * @returns Peer
280
+ */
281
+ public static fromObject(d: { [k: string]: any }): Message.Peer;
282
+
283
+ /**
284
+ * Creates a plain object from a Peer message. Also converts values to other types if specified.
285
+ * @param m Peer
286
+ * @param [o] Conversion options
287
+ * @returns Plain object
288
+ */
289
+ public static toObject(m: Message.Peer, o?: $protobuf.IConversionOptions): { [k: string]: any };
290
+
291
+ /**
292
+ * Converts this Peer to JSON.
293
+ * @returns JSON object
294
+ */
295
+ public toJSON(): { [k: string]: any };
296
+ }
297
+ }