@libp2p/interface-compliance-tests 6.4.16 → 6.5.0-8484de8a2
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-encryption/index.d.ts.map +1 -1
- package/dist/src/connection-encryption/index.js +24 -15
- package/dist/src/connection-encryption/index.js.map +1 -1
- package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/base-test.js +62 -341
- package/dist/src/stream-muxer/base-test.js.map +1 -1
- package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/close-test.js +254 -305
- package/dist/src/stream-muxer/close-test.js.map +1 -1
- package/dist/src/stream-muxer/index.js +2 -2
- package/dist/src/stream-muxer/index.js.map +1 -1
- package/dist/src/stream-muxer/{mega-stress-test.d.ts → stream-test.d.ts} +2 -2
- package/dist/src/stream-muxer/stream-test.d.ts.map +1 -0
- package/dist/src/stream-muxer/stream-test.js +289 -0
- package/dist/src/stream-muxer/stream-test.js.map +1 -0
- package/dist/src/stream-muxer/stress-test.d.ts.map +1 -1
- package/dist/src/stream-muxer/stress-test.js +70 -16
- package/dist/src/stream-muxer/stress-test.js.map +1 -1
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/index.js +232 -203
- package/dist/src/transport/index.js.map +1 -1
- package/dist/src/transport/utils.js +2 -2
- package/dist/src/transport/utils.js.map +1 -1
- package/package.json +23 -51
- package/src/connection-encryption/index.ts +27 -20
- package/src/stream-muxer/base-test.ts +75 -409
- package/src/stream-muxer/close-test.ts +304 -327
- package/src/stream-muxer/index.ts +2 -2
- package/src/stream-muxer/stream-test.ts +380 -0
- package/src/stream-muxer/stress-test.ts +92 -18
- package/src/transport/index.ts +280 -241
- package/src/transport/utils.ts +2 -2
- package/dist/src/connection-encryption/utils/index.d.ts +0 -3
- package/dist/src/connection-encryption/utils/index.d.ts.map +0 -1
- package/dist/src/connection-encryption/utils/index.js +0 -21
- package/dist/src/connection-encryption/utils/index.js.map +0 -1
- package/dist/src/matchers.d.ts +0 -12
- package/dist/src/matchers.d.ts.map +0 -1
- package/dist/src/matchers.js +0 -14
- package/dist/src/matchers.js.map +0 -1
- package/dist/src/mocks/connection-manager.d.ts +0 -27
- package/dist/src/mocks/connection-manager.d.ts.map +0 -1
- package/dist/src/mocks/connection-manager.js +0 -147
- package/dist/src/mocks/connection-manager.js.map +0 -1
- package/dist/src/mocks/connection.d.ts +0 -41
- package/dist/src/mocks/connection.d.ts.map +0 -1
- package/dist/src/mocks/connection.js +0 -234
- package/dist/src/mocks/connection.js.map +0 -1
- package/dist/src/mocks/duplex.d.ts +0 -4
- package/dist/src/mocks/duplex.d.ts.map +0 -1
- package/dist/src/mocks/duplex.js +0 -9
- package/dist/src/mocks/duplex.js.map +0 -1
- package/dist/src/mocks/index.d.ts +0 -12
- package/dist/src/mocks/index.d.ts.map +0 -1
- package/dist/src/mocks/index.js +0 -8
- package/dist/src/mocks/index.js.map +0 -1
- package/dist/src/mocks/multiaddr-connection.d.ts +0 -17
- package/dist/src/mocks/multiaddr-connection.d.ts.map +0 -1
- package/dist/src/mocks/multiaddr-connection.js +0 -64
- package/dist/src/mocks/multiaddr-connection.js.map +0 -1
- package/dist/src/mocks/muxer.d.ts +0 -36
- package/dist/src/mocks/muxer.d.ts.map +0 -1
- package/dist/src/mocks/muxer.js +0 -234
- package/dist/src/mocks/muxer.js.map +0 -1
- package/dist/src/mocks/registrar.d.ts +0 -16
- package/dist/src/mocks/registrar.d.ts.map +0 -1
- package/dist/src/mocks/registrar.js +0 -66
- package/dist/src/mocks/registrar.js.map +0 -1
- package/dist/src/mocks/upgrader.d.ts +0 -9
- package/dist/src/mocks/upgrader.d.ts.map +0 -1
- package/dist/src/mocks/upgrader.js +0 -46
- package/dist/src/mocks/upgrader.js.map +0 -1
- package/dist/src/pubsub/api.d.ts +0 -6
- package/dist/src/pubsub/api.d.ts.map +0 -1
- package/dist/src/pubsub/api.js +0 -88
- package/dist/src/pubsub/api.js.map +0 -1
- package/dist/src/pubsub/connection-handlers.d.ts +0 -6
- package/dist/src/pubsub/connection-handlers.d.ts.map +0 -1
- package/dist/src/pubsub/connection-handlers.js +0 -329
- package/dist/src/pubsub/connection-handlers.js.map +0 -1
- package/dist/src/pubsub/emit-self.d.ts +0 -6
- package/dist/src/pubsub/emit-self.d.ts.map +0 -1
- package/dist/src/pubsub/emit-self.js +0 -80
- package/dist/src/pubsub/emit-self.js.map +0 -1
- package/dist/src/pubsub/index.d.ts +0 -18
- package/dist/src/pubsub/index.d.ts.map +0 -1
- package/dist/src/pubsub/index.js +0 -17
- package/dist/src/pubsub/index.js.map +0 -1
- package/dist/src/pubsub/messages.d.ts +0 -6
- package/dist/src/pubsub/messages.d.ts.map +0 -1
- package/dist/src/pubsub/messages.js +0 -48
- package/dist/src/pubsub/messages.js.map +0 -1
- package/dist/src/pubsub/multiple-nodes.d.ts +0 -6
- package/dist/src/pubsub/multiple-nodes.d.ts.map +0 -1
- package/dist/src/pubsub/multiple-nodes.js +0 -350
- package/dist/src/pubsub/multiple-nodes.js.map +0 -1
- package/dist/src/pubsub/two-nodes.d.ts +0 -6
- package/dist/src/pubsub/two-nodes.d.ts.map +0 -1
- package/dist/src/pubsub/two-nodes.js +0 -216
- package/dist/src/pubsub/two-nodes.js.map +0 -1
- package/dist/src/pubsub/utils.d.ts +0 -5
- package/dist/src/pubsub/utils.d.ts.map +0 -1
- package/dist/src/pubsub/utils.js +0 -27
- package/dist/src/pubsub/utils.js.map +0 -1
- package/dist/src/stream-muxer/mega-stress-test.d.ts.map +0 -1
- package/dist/src/stream-muxer/mega-stress-test.js +0 -11
- package/dist/src/stream-muxer/mega-stress-test.js.map +0 -1
- package/dist/src/stream-muxer/spawner.d.ts +0 -4
- package/dist/src/stream-muxer/spawner.d.ts.map +0 -1
- package/dist/src/stream-muxer/spawner.js +0 -37
- package/dist/src/stream-muxer/spawner.js.map +0 -1
- package/dist/typedoc-urls.json +0 -44
- package/src/connection-encryption/utils/index.ts +0 -27
- package/src/matchers.ts +0 -18
- package/src/mocks/connection-manager.ts +0 -216
- package/src/mocks/connection.ts +0 -307
- package/src/mocks/duplex.ts +0 -11
- package/src/mocks/index.ts +0 -11
- package/src/mocks/multiaddr-connection.ts +0 -80
- package/src/mocks/muxer.ts +0 -331
- package/src/mocks/registrar.ts +0 -86
- package/src/mocks/upgrader.ts +0 -65
- package/src/pubsub/api.ts +0 -116
- package/src/pubsub/connection-handlers.ts +0 -413
- package/src/pubsub/emit-self.ts +0 -99
- package/src/pubsub/index.ts +0 -34
- package/src/pubsub/messages.ts +0 -59
- package/src/pubsub/multiple-nodes.ts +0 -440
- package/src/pubsub/two-nodes.ts +0 -272
- package/src/pubsub/utils.ts +0 -34
- package/src/stream-muxer/mega-stress-test.ts +0 -14
- package/src/stream-muxer/spawner.ts +0 -55
package/src/pubsub/utils.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { generateKeyPair } from '@libp2p/crypto/keys'
|
|
2
|
-
import { defaultLogger } from '@libp2p/logger'
|
|
3
|
-
import { peerIdFromPrivateKey } from '@libp2p/peer-id'
|
|
4
|
-
import { TypedEventEmitter } from 'main-event'
|
|
5
|
-
import { pEvent } from 'p-event'
|
|
6
|
-
import pWaitFor from 'p-wait-for'
|
|
7
|
-
import { mockConnectionManager, mockRegistrar, mockNetwork } from '../mocks/index.js'
|
|
8
|
-
import type { MockNetworkComponents } from '../mocks/index.js'
|
|
9
|
-
import type { PeerId, PubSub, SubscriptionChangeData } from '@libp2p/interface'
|
|
10
|
-
|
|
11
|
-
export async function waitForSubscriptionUpdate (a: PubSub, b: PeerId): Promise<void> {
|
|
12
|
-
await pWaitFor(async () => {
|
|
13
|
-
const event = await pEvent<'subscription-change', CustomEvent<SubscriptionChangeData>>(a, 'subscription-change')
|
|
14
|
-
|
|
15
|
-
return event.detail.peerId.equals(b)
|
|
16
|
-
})
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export async function createComponents (): Promise<MockNetworkComponents> {
|
|
20
|
-
const privateKey = await generateKeyPair('Ed25519')
|
|
21
|
-
|
|
22
|
-
const components: any = {
|
|
23
|
-
peerId: peerIdFromPrivateKey(privateKey),
|
|
24
|
-
privateKey,
|
|
25
|
-
registrar: mockRegistrar(),
|
|
26
|
-
events: new TypedEventEmitter(),
|
|
27
|
-
logger: defaultLogger()
|
|
28
|
-
}
|
|
29
|
-
components.connectionManager = mockConnectionManager(components)
|
|
30
|
-
|
|
31
|
-
mockNetwork.addNode(components)
|
|
32
|
-
|
|
33
|
-
return components
|
|
34
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import spawn from './spawner.js'
|
|
2
|
-
import type { TestSetup } from '../index.js'
|
|
3
|
-
import type { StreamMuxer, StreamMuxerFactory, StreamMuxerInit } from '@libp2p/interface'
|
|
4
|
-
|
|
5
|
-
export default (common: TestSetup<StreamMuxerFactory>): void => {
|
|
6
|
-
const createMuxer = async (init?: StreamMuxerInit): Promise<StreamMuxer> => {
|
|
7
|
-
const factory = await common.setup()
|
|
8
|
-
return factory.createStreamMuxer(init)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
describe.skip('mega stress test', function () {
|
|
12
|
-
it('10,000 streams with 10,000 msg', async () => { await spawn(createMuxer, 10000, 10000, 5000) })
|
|
13
|
-
})
|
|
14
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { expect } from 'aegir/chai'
|
|
2
|
-
import all from 'it-all'
|
|
3
|
-
import drain from 'it-drain'
|
|
4
|
-
import { duplexPair } from 'it-pair/duplex'
|
|
5
|
-
import { pipe } from 'it-pipe'
|
|
6
|
-
import pLimit from 'p-limit'
|
|
7
|
-
import { Uint8ArrayList } from 'uint8arraylist'
|
|
8
|
-
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
|
|
9
|
-
import type { StreamMuxer, StreamMuxerInit } from '@libp2p/interface'
|
|
10
|
-
|
|
11
|
-
export default async (createMuxer: (init?: StreamMuxerInit) => Promise<StreamMuxer>, nStreams: number, nMsg: number, limit?: number): Promise<void> => {
|
|
12
|
-
const [dialerSocket, listenerSocket] = duplexPair<Uint8Array | Uint8ArrayList>()
|
|
13
|
-
|
|
14
|
-
const msg = new Uint8ArrayList(uint8ArrayFromString('simple msg'))
|
|
15
|
-
|
|
16
|
-
const listener = await createMuxer({
|
|
17
|
-
direction: 'inbound',
|
|
18
|
-
onIncomingStream: (stream) => {
|
|
19
|
-
void pipe(
|
|
20
|
-
stream,
|
|
21
|
-
drain
|
|
22
|
-
).then(async () => {
|
|
23
|
-
await stream.close()
|
|
24
|
-
})
|
|
25
|
-
.catch(err => { stream.abort(err) })
|
|
26
|
-
}
|
|
27
|
-
})
|
|
28
|
-
const dialer = await createMuxer({ direction: 'outbound' })
|
|
29
|
-
|
|
30
|
-
void pipe(listenerSocket, listener, listenerSocket)
|
|
31
|
-
void pipe(dialerSocket, dialer, dialerSocket)
|
|
32
|
-
|
|
33
|
-
const spawnStream = async (): Promise<void> => {
|
|
34
|
-
const stream = await dialer.newStream()
|
|
35
|
-
expect(stream).to.exist // eslint-disable-line
|
|
36
|
-
|
|
37
|
-
const res = await pipe(
|
|
38
|
-
(async function * () {
|
|
39
|
-
for (let i = 0; i < nMsg; i++) {
|
|
40
|
-
yield msg
|
|
41
|
-
}
|
|
42
|
-
}()),
|
|
43
|
-
stream,
|
|
44
|
-
async (source) => all(source)
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
expect(res).to.be.eql([])
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
const limiter = pLimit(limit ?? Infinity)
|
|
51
|
-
|
|
52
|
-
await Promise.all(
|
|
53
|
-
Array.from(Array(nStreams), async () => { await limiter(async () => { await spawnStream() }) })
|
|
54
|
-
)
|
|
55
|
-
}
|