@libp2p/interface 0.1.2 → 0.1.3-68504939
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/connection/index.d.ts +13 -13
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection-encrypter/index.d.ts +2 -2
- package/dist/src/connection-encrypter/index.d.ts.map +1 -1
- package/dist/src/connection-gater/index.d.ts +12 -12
- package/dist/src/connection-gater/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.d.ts +4 -4
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +13 -13
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/keychain/index.d.ts +11 -11
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/keys/index.d.ts +10 -10
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/metrics/index.d.ts +16 -16
- package/dist/src/metrics/index.d.ts.map +1 -1
- package/dist/src/peer-id/index.d.ts +4 -4
- package/dist/src/peer-id/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.d.ts +2 -2
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-store/index.d.ts +9 -9
- package/dist/src/peer-store/index.d.ts.map +1 -1
- package/dist/src/pubsub/index.d.ts +10 -10
- package/dist/src/pubsub/index.d.ts.map +1 -1
- package/dist/src/record/index.d.ts +5 -5
- package/dist/src/record/index.d.ts.map +1 -1
- package/dist/src/startable.d.ts +7 -7
- package/dist/src/startable.d.ts.map +1 -1
- package/dist/src/stream-muxer/index.d.ts +6 -6
- package/dist/src/stream-muxer/index.d.ts.map +1 -1
- package/dist/src/stream-muxer/stream.d.ts +13 -7
- package/dist/src/stream-muxer/stream.d.ts.map +1 -1
- package/dist/src/stream-muxer/stream.js +31 -19
- package/dist/src/stream-muxer/stream.js.map +1 -1
- package/dist/src/topology/index.d.ts +2 -2
- package/dist/src/topology/index.d.ts.map +1 -1
- package/dist/src/transport/index.d.ts +7 -7
- package/dist/src/transport/index.d.ts.map +1 -1
- package/package.json +8 -3
- package/src/connection/index.ts +13 -13
- package/src/connection-encrypter/index.ts +2 -2
- package/src/connection-gater/index.ts +12 -12
- package/src/content-routing/index.ts +4 -4
- package/src/index.ts +13 -13
- package/src/keychain/index.ts +11 -11
- package/src/keys/index.ts +10 -10
- package/src/metrics/index.ts +16 -16
- package/src/peer-id/index.ts +4 -4
- package/src/peer-routing/index.ts +2 -2
- package/src/peer-store/index.ts +9 -9
- package/src/pubsub/index.ts +10 -10
- package/src/record/index.ts +5 -5
- package/src/startable.ts +7 -7
- package/src/stream-muxer/index.ts +6 -6
- package/src/stream-muxer/stream.ts +52 -30
- package/src/topology/index.ts +2 -2
- package/src/transport/index.ts +7 -7
- package/dist/typedoc-urls.json +0 -133
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { abortableSource } from 'abortable-iterator'
|
|
2
2
|
import { type Pushable, pushable } from 'it-pushable'
|
|
3
3
|
import defer, { type DeferredPromise } from 'p-defer'
|
|
4
|
+
import { raceSignal } from 'race-signal'
|
|
4
5
|
import { Uint8ArrayList } from 'uint8arraylist'
|
|
5
6
|
import { CodeError } from '../errors.js'
|
|
6
7
|
import type { Direction, ReadStatus, Stream, StreamStatus, StreamTimeline, WriteStatus } from '../connection/index.js'
|
|
7
8
|
import type { AbortOptions } from '../index.js'
|
|
8
9
|
import type { Source } from 'it-stream-types'
|
|
9
10
|
|
|
11
|
+
// copied from @libp2p/logger to break a circular dependency
|
|
10
12
|
interface Logger {
|
|
11
13
|
(formatter: any, ...args: any[]): void
|
|
12
|
-
error
|
|
13
|
-
trace
|
|
14
|
+
error(formatter: any, ...args: any[]): void
|
|
15
|
+
trace(formatter: any, ...args: any[]): void
|
|
14
16
|
enabled: boolean
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
const ERR_STREAM_RESET = 'ERR_STREAM_RESET'
|
|
18
20
|
const ERR_SINK_INVALID_STATE = 'ERR_SINK_INVALID_STATE'
|
|
21
|
+
const DEFAULT_SEND_CLOSE_WRITE_TIMEOUT = 5000
|
|
19
22
|
|
|
20
23
|
export interface AbstractStreamInit {
|
|
21
24
|
/**
|
|
@@ -41,33 +44,39 @@ export interface AbstractStreamInit {
|
|
|
41
44
|
/**
|
|
42
45
|
* Invoked when the stream ends
|
|
43
46
|
*/
|
|
44
|
-
onEnd
|
|
47
|
+
onEnd?(err?: Error | undefined): void
|
|
45
48
|
|
|
46
49
|
/**
|
|
47
50
|
* Invoked when the readable end of the stream is closed
|
|
48
51
|
*/
|
|
49
|
-
onCloseRead
|
|
52
|
+
onCloseRead?(): void
|
|
50
53
|
|
|
51
54
|
/**
|
|
52
55
|
* Invoked when the writable end of the stream is closed
|
|
53
56
|
*/
|
|
54
|
-
onCloseWrite
|
|
57
|
+
onCloseWrite?(): void
|
|
55
58
|
|
|
56
59
|
/**
|
|
57
60
|
* Invoked when the the stream has been reset by the remote
|
|
58
61
|
*/
|
|
59
|
-
onReset
|
|
62
|
+
onReset?(): void
|
|
60
63
|
|
|
61
64
|
/**
|
|
62
65
|
* Invoked when the the stream has errored
|
|
63
66
|
*/
|
|
64
|
-
onAbort
|
|
67
|
+
onAbort?(err: Error): void
|
|
65
68
|
|
|
66
69
|
/**
|
|
67
70
|
* How long to wait in ms for stream data to be written to the underlying
|
|
68
71
|
* connection when closing the writable end of the stream. (default: 500)
|
|
69
72
|
*/
|
|
70
73
|
closeTimeout?: number
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* After the stream sink has closed, a limit on how long it takes to send
|
|
77
|
+
* a close-write message to the remote peer.
|
|
78
|
+
*/
|
|
79
|
+
sendCloseWriteTimeout?: number
|
|
71
80
|
}
|
|
72
81
|
|
|
73
82
|
function isPromise (res?: any): res is Promise<void> {
|
|
@@ -94,6 +103,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
94
103
|
private readonly onCloseWrite?: () => void
|
|
95
104
|
private readonly onReset?: () => void
|
|
96
105
|
private readonly onAbort?: (err: Error) => void
|
|
106
|
+
private readonly sendCloseWriteTimeout: number
|
|
97
107
|
|
|
98
108
|
protected readonly log: Logger
|
|
99
109
|
|
|
@@ -113,6 +123,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
113
123
|
this.timeline = {
|
|
114
124
|
open: Date.now()
|
|
115
125
|
}
|
|
126
|
+
this.sendCloseWriteTimeout = init.sendCloseWriteTimeout ?? DEFAULT_SEND_CLOSE_WRITE_TIMEOUT
|
|
116
127
|
|
|
117
128
|
this.onEnd = init.onEnd
|
|
118
129
|
this.onCloseRead = init?.onCloseRead
|
|
@@ -128,7 +139,6 @@ export abstract class AbstractStream implements Stream {
|
|
|
128
139
|
this.log.trace('source ended')
|
|
129
140
|
}
|
|
130
141
|
|
|
131
|
-
this.readStatus = 'closed'
|
|
132
142
|
this.onSourceEnd(err)
|
|
133
143
|
}
|
|
134
144
|
})
|
|
@@ -173,11 +183,19 @@ export abstract class AbstractStream implements Stream {
|
|
|
173
183
|
}
|
|
174
184
|
}
|
|
175
185
|
|
|
176
|
-
this.log.trace('sink finished reading from source')
|
|
177
|
-
|
|
186
|
+
this.log.trace('sink finished reading from source, write status is "%s"', this.writeStatus)
|
|
187
|
+
|
|
188
|
+
if (this.writeStatus === 'writing') {
|
|
189
|
+
this.writeStatus = 'closing'
|
|
190
|
+
|
|
191
|
+
this.log.trace('send close write to remote')
|
|
192
|
+
await this.sendCloseWrite({
|
|
193
|
+
signal: AbortSignal.timeout(this.sendCloseWriteTimeout)
|
|
194
|
+
})
|
|
195
|
+
|
|
196
|
+
this.writeStatus = 'closed'
|
|
197
|
+
}
|
|
178
198
|
|
|
179
|
-
this.log.trace('sink calling closeWrite')
|
|
180
|
-
await this.closeWrite(options)
|
|
181
199
|
this.onSinkEnd()
|
|
182
200
|
} catch (err: any) {
|
|
183
201
|
this.log.trace('sink ended with error, calling abort with error', err)
|
|
@@ -196,6 +214,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
196
214
|
}
|
|
197
215
|
|
|
198
216
|
this.timeline.closeRead = Date.now()
|
|
217
|
+
this.readStatus = 'closed'
|
|
199
218
|
|
|
200
219
|
if (err != null && this.endErr == null) {
|
|
201
220
|
this.endErr = err
|
|
@@ -207,6 +226,10 @@ export abstract class AbstractStream implements Stream {
|
|
|
207
226
|
this.log.trace('source and sink ended')
|
|
208
227
|
this.timeline.close = Date.now()
|
|
209
228
|
|
|
229
|
+
if (this.status !== 'aborted' && this.status !== 'reset') {
|
|
230
|
+
this.status = 'closed'
|
|
231
|
+
}
|
|
232
|
+
|
|
210
233
|
if (this.onEnd != null) {
|
|
211
234
|
this.onEnd(this.endErr)
|
|
212
235
|
}
|
|
@@ -221,6 +244,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
221
244
|
}
|
|
222
245
|
|
|
223
246
|
this.timeline.closeWrite = Date.now()
|
|
247
|
+
this.writeStatus = 'closed'
|
|
224
248
|
|
|
225
249
|
if (err != null && this.endErr == null) {
|
|
226
250
|
this.endErr = err
|
|
@@ -232,6 +256,10 @@ export abstract class AbstractStream implements Stream {
|
|
|
232
256
|
this.log.trace('sink and source ended')
|
|
233
257
|
this.timeline.close = Date.now()
|
|
234
258
|
|
|
259
|
+
if (this.status !== 'aborted' && this.status !== 'reset') {
|
|
260
|
+
this.status = 'closed'
|
|
261
|
+
}
|
|
262
|
+
|
|
235
263
|
if (this.onEnd != null) {
|
|
236
264
|
this.onEnd(this.endErr)
|
|
237
265
|
}
|
|
@@ -266,16 +294,16 @@ export abstract class AbstractStream implements Stream {
|
|
|
266
294
|
const readStatus = this.readStatus
|
|
267
295
|
this.readStatus = 'closing'
|
|
268
296
|
|
|
269
|
-
if (readStatus === 'ready') {
|
|
270
|
-
this.log.trace('ending internal source queue')
|
|
271
|
-
this.streamSource.end()
|
|
272
|
-
}
|
|
273
|
-
|
|
274
297
|
if (this.status !== 'reset' && this.status !== 'aborted' && this.timeline.closeRead == null) {
|
|
275
298
|
this.log.trace('send close read to remote')
|
|
276
299
|
await this.sendCloseRead(options)
|
|
277
300
|
}
|
|
278
301
|
|
|
302
|
+
if (readStatus === 'ready') {
|
|
303
|
+
this.log.trace('ending internal source queue')
|
|
304
|
+
this.streamSource.end()
|
|
305
|
+
}
|
|
306
|
+
|
|
279
307
|
this.log.trace('closed readable end of stream')
|
|
280
308
|
}
|
|
281
309
|
|
|
@@ -286,16 +314,13 @@ export abstract class AbstractStream implements Stream {
|
|
|
286
314
|
|
|
287
315
|
this.log.trace('closing writable end of stream with starting write status "%s"', this.writeStatus)
|
|
288
316
|
|
|
289
|
-
const writeStatus = this.writeStatus
|
|
290
|
-
|
|
291
317
|
if (this.writeStatus === 'ready') {
|
|
292
318
|
this.log.trace('sink was never sunk, sink an empty array')
|
|
293
|
-
await this.sink([])
|
|
294
|
-
}
|
|
295
319
|
|
|
296
|
-
|
|
320
|
+
await raceSignal(this.sink([]), options.signal)
|
|
321
|
+
}
|
|
297
322
|
|
|
298
|
-
if (writeStatus === 'writing') {
|
|
323
|
+
if (this.writeStatus === 'writing') {
|
|
299
324
|
// stop reading from the source passed to `.sink` in the microtask queue
|
|
300
325
|
// - this lets any data queued by the user in the current tick get read
|
|
301
326
|
// before we exit
|
|
@@ -303,16 +328,12 @@ export abstract class AbstractStream implements Stream {
|
|
|
303
328
|
queueMicrotask(() => {
|
|
304
329
|
this.log.trace('aborting source passed to .sink')
|
|
305
330
|
this.sinkController.abort()
|
|
306
|
-
this.sinkEnd.promise
|
|
331
|
+
raceSignal(this.sinkEnd.promise, options.signal)
|
|
332
|
+
.then(resolve, reject)
|
|
307
333
|
})
|
|
308
334
|
})
|
|
309
335
|
}
|
|
310
336
|
|
|
311
|
-
if (this.status !== 'reset' && this.status !== 'aborted' && this.timeline.closeWrite == null) {
|
|
312
|
-
this.log.trace('send close write to remote')
|
|
313
|
-
await this.sendCloseWrite(options)
|
|
314
|
-
}
|
|
315
|
-
|
|
316
337
|
this.writeStatus = 'closed'
|
|
317
338
|
|
|
318
339
|
this.log.trace('closed writable end of stream')
|
|
@@ -357,6 +378,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
357
378
|
const err = new CodeError('stream reset', ERR_STREAM_RESET)
|
|
358
379
|
|
|
359
380
|
this.status = 'reset'
|
|
381
|
+
this.timeline.reset = Date.now()
|
|
360
382
|
this._closeSinkAndSource(err)
|
|
361
383
|
this.onReset?.()
|
|
362
384
|
}
|
|
@@ -423,7 +445,7 @@ export abstract class AbstractStream implements Stream {
|
|
|
423
445
|
return
|
|
424
446
|
}
|
|
425
447
|
|
|
426
|
-
this.log.trace('
|
|
448
|
+
this.log.trace('stream destroyed')
|
|
427
449
|
|
|
428
450
|
this._closeSinkAndSource()
|
|
429
451
|
}
|
package/src/topology/index.ts
CHANGED
package/src/transport/index.ts
CHANGED
|
@@ -15,17 +15,17 @@ export interface Listener extends EventEmitter<ListenerEvents> {
|
|
|
15
15
|
/**
|
|
16
16
|
* Start a listener
|
|
17
17
|
*/
|
|
18
|
-
listen
|
|
18
|
+
listen(multiaddr: Multiaddr): Promise<void>
|
|
19
19
|
/**
|
|
20
20
|
* Get listen addresses
|
|
21
21
|
*/
|
|
22
|
-
getAddrs
|
|
22
|
+
getAddrs(): Multiaddr[]
|
|
23
23
|
/**
|
|
24
24
|
* Close listener
|
|
25
25
|
*
|
|
26
26
|
* @returns {Promise<void>}
|
|
27
27
|
*/
|
|
28
|
-
close
|
|
28
|
+
close(): Promise<void>
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export const symbol = Symbol.for('@libp2p/transport')
|
|
@@ -60,12 +60,12 @@ export interface Transport {
|
|
|
60
60
|
/**
|
|
61
61
|
* Dial a given multiaddr.
|
|
62
62
|
*/
|
|
63
|
-
dial
|
|
63
|
+
dial(ma: Multiaddr, options: DialOptions): Promise<Connection>
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* Create transport listeners.
|
|
67
67
|
*/
|
|
68
|
-
createListener
|
|
68
|
+
createListener(options: CreateListenerOptions): Listener
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
71
|
* Takes a list of `Multiaddr`s and returns only valid addresses for the transport
|
|
@@ -108,10 +108,10 @@ export interface Upgrader {
|
|
|
108
108
|
/**
|
|
109
109
|
* Upgrades an outbound connection on `transport.dial`.
|
|
110
110
|
*/
|
|
111
|
-
upgradeOutbound
|
|
111
|
+
upgradeOutbound(maConn: MultiaddrConnection, opts?: UpgraderOptions): Promise<Connection>
|
|
112
112
|
|
|
113
113
|
/**
|
|
114
114
|
* Upgrades an inbound connection on transport listener.
|
|
115
115
|
*/
|
|
116
|
-
upgradeInbound
|
|
116
|
+
upgradeInbound(maConn: MultiaddrConnection, opts?: UpgraderOptions): Promise<Connection>
|
|
117
117
|
}
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"PrivateKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.unknown.PrivateKey.html",
|
|
3
|
-
"PublicKey": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_crypto.keys.unknown.PublicKey.html",
|
|
4
|
-
"Connection": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.Connection.html",
|
|
5
|
-
"ConnectionProtector": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.ConnectionProtector.html",
|
|
6
|
-
"ConnectionTimeline": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.ConnectionTimeline.html",
|
|
7
|
-
"MultiaddrConnection": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.MultiaddrConnection.html",
|
|
8
|
-
"MultiaddrConnectionTimeline": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.MultiaddrConnectionTimeline.html",
|
|
9
|
-
"NewStreamOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.NewStreamOptions.html",
|
|
10
|
-
"Stream": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.Stream.html",
|
|
11
|
-
"StreamTimeline": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection.StreamTimeline.html",
|
|
12
|
-
"ConnectionStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.connection.ConnectionStatus.html",
|
|
13
|
-
"Direction": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.connection.Direction.html",
|
|
14
|
-
"ReadStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.connection.ReadStatus.html",
|
|
15
|
-
"StreamStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.connection.StreamStatus.html",
|
|
16
|
-
"WriteStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.connection.WriteStatus.html",
|
|
17
|
-
"symbol": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.connection.symbol.html",
|
|
18
|
-
"isConnection": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.connection.isConnection.html",
|
|
19
|
-
"ConnectionEncrypter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection_encrypter.ConnectionEncrypter.html",
|
|
20
|
-
"SecuredConnection": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection_encrypter.SecuredConnection.html",
|
|
21
|
-
"ConnectionGater": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.connection_gater.ConnectionGater.html",
|
|
22
|
-
"ContentRouting": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.content_routing.ContentRouting.html",
|
|
23
|
-
"contentRouting": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.content_routing.contentRouting-1.html",
|
|
24
|
-
"AbortError": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.errors.AbortError.html",
|
|
25
|
-
"CodeError": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.errors.CodeError.html",
|
|
26
|
-
"InvalidCryptoExchangeError": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.errors.InvalidCryptoExchangeError.html",
|
|
27
|
-
"InvalidCryptoTransmissionError": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.errors.InvalidCryptoTransmissionError.html",
|
|
28
|
-
"UnexpectedPeerError": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.errors.UnexpectedPeerError.html",
|
|
29
|
-
"EventEmitter": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.events.EventEmitter.html",
|
|
30
|
-
"EventCallback": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.events.EventCallback.html",
|
|
31
|
-
"EventObject": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.events.EventObject.html",
|
|
32
|
-
"EventHandler": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.events.EventHandler.html",
|
|
33
|
-
"CustomEvent": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.events.CustomEvent.html",
|
|
34
|
-
"Topology": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.unknown.Topology.html",
|
|
35
|
-
"AbortOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AbortOptions.html",
|
|
36
|
-
"AddressSorter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.AddressSorter.html",
|
|
37
|
-
"IdentifyResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.IdentifyResult.html",
|
|
38
|
-
"Libp2p": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.Libp2p.html",
|
|
39
|
-
"Libp2pEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.Libp2pEvents.html",
|
|
40
|
-
"PeerUpdate": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.PeerUpdate.html",
|
|
41
|
-
"PendingDial": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.PendingDial.html",
|
|
42
|
-
"SignedPeerRecord": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.index.SignedPeerRecord.html",
|
|
43
|
-
"PendingDialStatus": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.PendingDialStatus.html",
|
|
44
|
-
"RecursivePartial": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.RecursivePartial.html",
|
|
45
|
-
"ServiceMap": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.index.ServiceMap.html",
|
|
46
|
-
"KeyChain": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.keychain.KeyChain.html",
|
|
47
|
-
"KeyInfo": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.keychain.KeyInfo.html",
|
|
48
|
-
"KeyType": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.keys.KeyType.html",
|
|
49
|
-
"Ed25519": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.keys.Ed25519.html",
|
|
50
|
-
"RSA": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.keys.RSA.html",
|
|
51
|
-
"secp256k1": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.keys.secp256k1.html",
|
|
52
|
-
"CalculatedMetricOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.CalculatedMetricOptions.html",
|
|
53
|
-
"Counter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.Counter.html",
|
|
54
|
-
"CounterGroup": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.CounterGroup.html",
|
|
55
|
-
"Metric": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.Metric.html",
|
|
56
|
-
"MetricGroup": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.MetricGroup.html",
|
|
57
|
-
"MetricOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.MetricOptions.html",
|
|
58
|
-
"Metrics": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.Metrics.html",
|
|
59
|
-
"StopTimer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics.StopTimer.html",
|
|
60
|
-
"CalculateMetric": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.metrics.CalculateMetric.html",
|
|
61
|
-
"CreateTrackedMapInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics_tracked_map.CreateTrackedMapInit.html",
|
|
62
|
-
"TrackedMapInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.metrics_tracked_map.TrackedMapInit.html",
|
|
63
|
-
"trackedMap": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.metrics_tracked_map.trackedMap.html",
|
|
64
|
-
"PeerDiscovery": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_discovery.PeerDiscovery.html",
|
|
65
|
-
"PeerDiscoveryEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_discovery.PeerDiscoveryEvents.html",
|
|
66
|
-
"peerDiscovery": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.peer_discovery.peerDiscovery-1.html",
|
|
67
|
-
"BasePeerId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_id.unknown.BasePeerId.html",
|
|
68
|
-
"Ed25519PeerId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_id.Ed25519PeerId.html",
|
|
69
|
-
"RSAPeerId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_id.RSAPeerId.html",
|
|
70
|
-
"Secp256k1PeerId": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_id.Secp256k1PeerId.html",
|
|
71
|
-
"PeerId": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.peer_id.PeerId.html",
|
|
72
|
-
"PeerIdType": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.peer_id.PeerIdType.html",
|
|
73
|
-
"isPeerId": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.peer_id.isPeerId.html",
|
|
74
|
-
"PeerInfo": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_info.PeerInfo.html",
|
|
75
|
-
"PeerRouting": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_routing.PeerRouting.html",
|
|
76
|
-
"peerRouting": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.peer_routing.peerRouting-1.html",
|
|
77
|
-
"Address": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.Address.html",
|
|
78
|
-
"Peer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.Peer.html",
|
|
79
|
-
"PeerData": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.PeerData.html",
|
|
80
|
-
"PeerQuery": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.PeerQuery.html",
|
|
81
|
-
"PeerQueryFilter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.PeerQueryFilter.html",
|
|
82
|
-
"PeerQueryOrder": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.PeerQueryOrder.html",
|
|
83
|
-
"PeerStore": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.PeerStore.html",
|
|
84
|
-
"Tag": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.Tag.html",
|
|
85
|
-
"TagOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.peer_store.TagOptions.html",
|
|
86
|
-
"KEEP_ALIVE": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.peer_store_tags.KEEP_ALIVE.html",
|
|
87
|
-
"Subscription": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.unknown.Subscription.html",
|
|
88
|
-
"TopicValidatorResult": "https://libp2p.github.io/js-libp2p/enums/_libp2p_interface.pubsub.TopicValidatorResult.html",
|
|
89
|
-
"PeerStreamEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PeerStreamEvents.html",
|
|
90
|
-
"PeerStreams": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PeerStreams.html",
|
|
91
|
-
"PubSub": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSub.html",
|
|
92
|
-
"PubSubEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSubEvents.html",
|
|
93
|
-
"PubSubInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSubInit.html",
|
|
94
|
-
"PubSubRPC": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSubRPC.html",
|
|
95
|
-
"PubSubRPCMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSubRPCMessage.html",
|
|
96
|
-
"PubSubRPCSubscription": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PubSubRPCSubscription.html",
|
|
97
|
-
"PublishResult": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.PublishResult.html",
|
|
98
|
-
"SignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.SignedMessage.html",
|
|
99
|
-
"SubscriptionChangeData": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.SubscriptionChangeData.html",
|
|
100
|
-
"TopicValidatorFn": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.TopicValidatorFn.html",
|
|
101
|
-
"UnsignedMessage": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.pubsub.UnsignedMessage.html",
|
|
102
|
-
"Message": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.pubsub.Message.html",
|
|
103
|
-
"SignaturePolicy": "https://libp2p.github.io/js-libp2p/types/_libp2p_interface.pubsub.SignaturePolicy.html",
|
|
104
|
-
"StrictNoSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.pubsub.StrictNoSign.html",
|
|
105
|
-
"StrictSign": "https://libp2p.github.io/js-libp2p/variables/_libp2p_interface.pubsub.StrictSign.html",
|
|
106
|
-
"Envelope": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.record.Envelope.html",
|
|
107
|
-
"Record": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.record.Record.html",
|
|
108
|
-
"Startable": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.startable.Startable.html",
|
|
109
|
-
"isStartable": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.startable.isStartable.html",
|
|
110
|
-
"start": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.startable.start.html",
|
|
111
|
-
"stop": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.startable.stop.html",
|
|
112
|
-
"IncomingStreamData": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_handler.IncomingStreamData.html",
|
|
113
|
-
"StreamHandler": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_handler.StreamHandler.html",
|
|
114
|
-
"StreamHandlerOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_handler.StreamHandlerOptions.html",
|
|
115
|
-
"StreamHandlerRecord": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_handler.StreamHandlerRecord.html",
|
|
116
|
-
"StreamMuxer": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_muxer.StreamMuxer.html",
|
|
117
|
-
"StreamMuxerFactory": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_muxer.StreamMuxerFactory.html",
|
|
118
|
-
"StreamMuxerInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_muxer.StreamMuxerInit.html",
|
|
119
|
-
"Logger": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_muxer_stream.unknown.Logger.html",
|
|
120
|
-
"AbstractStream": "https://libp2p.github.io/js-libp2p/classes/_libp2p_interface.stream_muxer_stream.AbstractStream.html",
|
|
121
|
-
"AbstractStreamInit": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.stream_muxer_stream.AbstractStreamInit.html",
|
|
122
|
-
"Listener": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.unknown.Listener.html",
|
|
123
|
-
"FaultTolerance": "https://libp2p.github.io/js-libp2p/enums/_libp2p_interface.transport.FaultTolerance.html",
|
|
124
|
-
"ConnectionHandler": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.ConnectionHandler.html",
|
|
125
|
-
"CreateListenerOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.CreateListenerOptions.html",
|
|
126
|
-
"DialOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.DialOptions.html",
|
|
127
|
-
"ListenerEvents": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.ListenerEvents.html",
|
|
128
|
-
"MultiaddrFilter": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.MultiaddrFilter.html",
|
|
129
|
-
"Transport": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.Transport.html",
|
|
130
|
-
"Upgrader": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.Upgrader.html",
|
|
131
|
-
"UpgraderOptions": "https://libp2p.github.io/js-libp2p/interfaces/_libp2p_interface.transport.UpgraderOptions.html",
|
|
132
|
-
"isTransport": "https://libp2p.github.io/js-libp2p/functions/_libp2p_interface.transport.isTransport.html"
|
|
133
|
-
}
|