@libp2p/interface-compliance-tests 6.5.0 → 7.0.0-049bfa0fa

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 (133) hide show
  1. package/dist/src/connection-encryption/index.d.ts.map +1 -1
  2. package/dist/src/connection-encryption/index.js +24 -15
  3. package/dist/src/connection-encryption/index.js.map +1 -1
  4. package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
  5. package/dist/src/stream-muxer/base-test.js +62 -345
  6. package/dist/src/stream-muxer/base-test.js.map +1 -1
  7. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  8. package/dist/src/stream-muxer/close-test.js +254 -320
  9. package/dist/src/stream-muxer/close-test.js.map +1 -1
  10. package/dist/src/stream-muxer/index.js +2 -2
  11. package/dist/src/stream-muxer/index.js.map +1 -1
  12. package/dist/src/stream-muxer/{mega-stress-test.d.ts → stream-test.d.ts} +2 -2
  13. package/dist/src/stream-muxer/stream-test.d.ts.map +1 -0
  14. package/dist/src/stream-muxer/stream-test.js +290 -0
  15. package/dist/src/stream-muxer/stream-test.js.map +1 -0
  16. package/dist/src/stream-muxer/stress-test.d.ts.map +1 -1
  17. package/dist/src/stream-muxer/stress-test.js +70 -16
  18. package/dist/src/stream-muxer/stress-test.js.map +1 -1
  19. package/dist/src/transport/index.d.ts.map +1 -1
  20. package/dist/src/transport/index.js +235 -205
  21. package/dist/src/transport/index.js.map +1 -1
  22. package/dist/src/transport/utils.d.ts.map +1 -1
  23. package/dist/src/transport/utils.js +3 -2
  24. package/dist/src/transport/utils.js.map +1 -1
  25. package/package.json +23 -51
  26. package/src/connection-encryption/index.ts +27 -20
  27. package/src/stream-muxer/base-test.ts +75 -413
  28. package/src/stream-muxer/close-test.ts +305 -343
  29. package/src/stream-muxer/index.ts +2 -2
  30. package/src/stream-muxer/stream-test.ts +381 -0
  31. package/src/stream-muxer/stress-test.ts +92 -18
  32. package/src/transport/index.ts +281 -241
  33. package/src/transport/utils.ts +3 -2
  34. package/dist/src/connection-encryption/utils/index.d.ts +0 -3
  35. package/dist/src/connection-encryption/utils/index.d.ts.map +0 -1
  36. package/dist/src/connection-encryption/utils/index.js +0 -21
  37. package/dist/src/connection-encryption/utils/index.js.map +0 -1
  38. package/dist/src/matchers.d.ts +0 -12
  39. package/dist/src/matchers.d.ts.map +0 -1
  40. package/dist/src/matchers.js +0 -14
  41. package/dist/src/matchers.js.map +0 -1
  42. package/dist/src/mocks/connection-manager.d.ts +0 -27
  43. package/dist/src/mocks/connection-manager.d.ts.map +0 -1
  44. package/dist/src/mocks/connection-manager.js +0 -147
  45. package/dist/src/mocks/connection-manager.js.map +0 -1
  46. package/dist/src/mocks/connection.d.ts +0 -41
  47. package/dist/src/mocks/connection.d.ts.map +0 -1
  48. package/dist/src/mocks/connection.js +0 -236
  49. package/dist/src/mocks/connection.js.map +0 -1
  50. package/dist/src/mocks/duplex.d.ts +0 -4
  51. package/dist/src/mocks/duplex.d.ts.map +0 -1
  52. package/dist/src/mocks/duplex.js +0 -9
  53. package/dist/src/mocks/duplex.js.map +0 -1
  54. package/dist/src/mocks/index.d.ts +0 -12
  55. package/dist/src/mocks/index.d.ts.map +0 -1
  56. package/dist/src/mocks/index.js +0 -8
  57. package/dist/src/mocks/index.js.map +0 -1
  58. package/dist/src/mocks/multiaddr-connection.d.ts +0 -17
  59. package/dist/src/mocks/multiaddr-connection.d.ts.map +0 -1
  60. package/dist/src/mocks/multiaddr-connection.js +0 -64
  61. package/dist/src/mocks/multiaddr-connection.js.map +0 -1
  62. package/dist/src/mocks/muxer.d.ts +0 -36
  63. package/dist/src/mocks/muxer.d.ts.map +0 -1
  64. package/dist/src/mocks/muxer.js +0 -234
  65. package/dist/src/mocks/muxer.js.map +0 -1
  66. package/dist/src/mocks/registrar.d.ts +0 -16
  67. package/dist/src/mocks/registrar.d.ts.map +0 -1
  68. package/dist/src/mocks/registrar.js +0 -66
  69. package/dist/src/mocks/registrar.js.map +0 -1
  70. package/dist/src/mocks/upgrader.d.ts +0 -9
  71. package/dist/src/mocks/upgrader.d.ts.map +0 -1
  72. package/dist/src/mocks/upgrader.js +0 -46
  73. package/dist/src/mocks/upgrader.js.map +0 -1
  74. package/dist/src/pubsub/api.d.ts +0 -6
  75. package/dist/src/pubsub/api.d.ts.map +0 -1
  76. package/dist/src/pubsub/api.js +0 -88
  77. package/dist/src/pubsub/api.js.map +0 -1
  78. package/dist/src/pubsub/connection-handlers.d.ts +0 -6
  79. package/dist/src/pubsub/connection-handlers.d.ts.map +0 -1
  80. package/dist/src/pubsub/connection-handlers.js +0 -329
  81. package/dist/src/pubsub/connection-handlers.js.map +0 -1
  82. package/dist/src/pubsub/emit-self.d.ts +0 -6
  83. package/dist/src/pubsub/emit-self.d.ts.map +0 -1
  84. package/dist/src/pubsub/emit-self.js +0 -80
  85. package/dist/src/pubsub/emit-self.js.map +0 -1
  86. package/dist/src/pubsub/index.d.ts +0 -18
  87. package/dist/src/pubsub/index.d.ts.map +0 -1
  88. package/dist/src/pubsub/index.js +0 -17
  89. package/dist/src/pubsub/index.js.map +0 -1
  90. package/dist/src/pubsub/messages.d.ts +0 -6
  91. package/dist/src/pubsub/messages.d.ts.map +0 -1
  92. package/dist/src/pubsub/messages.js +0 -48
  93. package/dist/src/pubsub/messages.js.map +0 -1
  94. package/dist/src/pubsub/multiple-nodes.d.ts +0 -6
  95. package/dist/src/pubsub/multiple-nodes.d.ts.map +0 -1
  96. package/dist/src/pubsub/multiple-nodes.js +0 -350
  97. package/dist/src/pubsub/multiple-nodes.js.map +0 -1
  98. package/dist/src/pubsub/two-nodes.d.ts +0 -6
  99. package/dist/src/pubsub/two-nodes.d.ts.map +0 -1
  100. package/dist/src/pubsub/two-nodes.js +0 -216
  101. package/dist/src/pubsub/two-nodes.js.map +0 -1
  102. package/dist/src/pubsub/utils.d.ts +0 -5
  103. package/dist/src/pubsub/utils.d.ts.map +0 -1
  104. package/dist/src/pubsub/utils.js +0 -27
  105. package/dist/src/pubsub/utils.js.map +0 -1
  106. package/dist/src/stream-muxer/mega-stress-test.d.ts.map +0 -1
  107. package/dist/src/stream-muxer/mega-stress-test.js +0 -11
  108. package/dist/src/stream-muxer/mega-stress-test.js.map +0 -1
  109. package/dist/src/stream-muxer/spawner.d.ts +0 -4
  110. package/dist/src/stream-muxer/spawner.d.ts.map +0 -1
  111. package/dist/src/stream-muxer/spawner.js +0 -39
  112. package/dist/src/stream-muxer/spawner.js.map +0 -1
  113. package/dist/typedoc-urls.json +0 -44
  114. package/src/connection-encryption/utils/index.ts +0 -27
  115. package/src/matchers.ts +0 -18
  116. package/src/mocks/connection-manager.ts +0 -216
  117. package/src/mocks/connection.ts +0 -309
  118. package/src/mocks/duplex.ts +0 -11
  119. package/src/mocks/index.ts +0 -11
  120. package/src/mocks/multiaddr-connection.ts +0 -80
  121. package/src/mocks/muxer.ts +0 -331
  122. package/src/mocks/registrar.ts +0 -86
  123. package/src/mocks/upgrader.ts +0 -65
  124. package/src/pubsub/api.ts +0 -116
  125. package/src/pubsub/connection-handlers.ts +0 -413
  126. package/src/pubsub/emit-self.ts +0 -99
  127. package/src/pubsub/index.ts +0 -34
  128. package/src/pubsub/messages.ts +0 -59
  129. package/src/pubsub/multiple-nodes.ts +0 -440
  130. package/src/pubsub/two-nodes.ts +0 -272
  131. package/src/pubsub/utils.ts +0 -34
  132. package/src/stream-muxer/mega-stress-test.ts +0 -14
  133. package/src/stream-muxer/spawner.ts +0 -57
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encryption/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEhF,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,UAAU,CAAA;CACvB;yBAEe,QAAQ,SAAS,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,KAAG,IAAI;AAA3F,wBAoGC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-encryption/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAU,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEhF,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,UAAU,CAAA;CACvB;yBAEe,QAAQ,SAAS,CAAC,mBAAmB,EAAE,4BAA4B,CAAC,KAAG,IAAI;AAA3F,wBA2GC"}
@@ -1,11 +1,11 @@
1
1
  import { generateKeyPair } from '@libp2p/crypto/keys';
2
2
  import { peerIdFromPrivateKey } from '@libp2p/peer-id';
3
+ import { multiaddrConnectionPair, echo } from '@libp2p/utils';
3
4
  import { expect } from 'aegir/chai';
4
5
  import all from 'it-all';
5
- import { pipe } from 'it-pipe';
6
6
  import toBuffer from 'it-to-buffer';
7
+ import { pEvent } from 'p-event';
7
8
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
8
- import { createMaConnPair } from './utils/index.js';
9
9
  export default (common) => {
10
10
  describe('interface-connection-encrypter compliance tests', () => {
11
11
  let crypto;
@@ -34,26 +34,35 @@ export default (common) => {
34
34
  expect(crypto.protocol).to.be.a('string');
35
35
  });
36
36
  it('it wraps the provided duplex connection', async () => {
37
- const [localConn, remoteConn] = createMaConnPair();
37
+ const [localConn, remoteConn] = multiaddrConnectionPair();
38
38
  const [inboundResult, outboundResult] = await Promise.all([
39
- cryptoRemote.secureInbound(localConn),
40
- crypto.secureOutbound(remoteConn, {
39
+ cryptoRemote.secureInbound(remoteConn),
40
+ crypto.secureOutbound(localConn, {
41
41
  remotePeer
42
42
  })
43
43
  ]);
44
44
  // Echo server
45
- void pipe(inboundResult.conn, inboundResult.conn);
46
- const input = new Array(10_000).fill(0).map((val, index) => {
47
- return uint8ArrayFromString(`data to encrypt, chunk ${index}`);
48
- });
45
+ echo(inboundResult.connection).catch(() => { });
46
+ const input = [];
47
+ for (let i = 0; i < 10_000; i++) {
48
+ input.push(uint8ArrayFromString(`data to encrypt, chunk ${i}`));
49
+ }
49
50
  // Send some data and collect the result
50
- const result = await pipe(async function* () {
51
- yield* input;
52
- }, outboundResult.conn, async (source) => all(source));
53
- expect(toBuffer(result.map(b => b.subarray()))).to.equalBytes(toBuffer(input));
51
+ const [output] = await Promise.all([
52
+ all(outboundResult.connection),
53
+ Promise.resolve().then(async () => {
54
+ for (const buf of input) {
55
+ if (!outboundResult.connection.send(buf)) {
56
+ await pEvent(outboundResult.connection, 'drain');
57
+ }
58
+ }
59
+ await outboundResult.connection.close();
60
+ })
61
+ ]);
62
+ expect(toBuffer(output.map(b => b.subarray()))).to.equalBytes(toBuffer(input));
54
63
  });
55
64
  it('should return the remote peer id', async () => {
56
- const [localConn, remoteConn] = createMaConnPair();
65
+ const [remoteConn, localConn] = multiaddrConnectionPair();
57
66
  const [inboundResult, outboundResult] = await Promise.all([
58
67
  cryptoRemote.secureInbound(localConn),
59
68
  crypto.secureOutbound(remoteConn, {
@@ -66,7 +75,7 @@ export default (common) => {
66
75
  expect(outboundResult.remotePeer.toString()).to.equal(remotePeer.toString());
67
76
  });
68
77
  it('inbound connections should verify peer integrity if known', async () => {
69
- const [localConn, remoteConn] = createMaConnPair();
78
+ const [remoteConn, localConn] = multiaddrConnectionPair();
70
79
  await Promise.all([
71
80
  cryptoRemote.secureInbound(localConn, {
72
81
  remotePeer: mitmPeer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-encryption/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-encryption/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAU,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;yBAInD,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAybC"}
1
+ {"version":3,"file":"base-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;yBAEhE,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAgHC"}
@@ -1,363 +1,80 @@
1
+ import { multiaddrConnectionPair, byteStream } from '@libp2p/utils';
1
2
  import { expect } from 'aegir/chai';
2
- import all from 'it-all';
3
- import { byteStream } from 'it-byte-stream';
4
- import map from 'it-map';
5
- import { duplexPair } from 'it-pair/duplex';
6
- import { pipe } from 'it-pipe';
7
- import defer from 'p-defer';
8
- import { Uint8ArrayList } from 'uint8arraylist';
3
+ import { pEvent } from 'p-event';
9
4
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
10
- import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
11
- import { isValidTick } from '../is-valid-tick.js';
12
5
  export default (common) => {
13
6
  describe('base', () => {
14
- it('should open a stream from the dialer', async () => {
15
- const p = duplexPair();
16
- const onStreamPromise = defer();
17
- const onStreamEndPromise = defer();
7
+ let dialer;
8
+ let listener;
9
+ beforeEach(async () => {
10
+ const [outboundConnection, inboundConnection] = multiaddrConnectionPair();
18
11
  const dialerFactory = await common.setup();
19
- const dialer = dialerFactory.createStreamMuxer({
20
- direction: 'outbound'
21
- });
12
+ dialer = dialerFactory.createStreamMuxer(outboundConnection);
22
13
  const listenerFactory = await common.setup();
23
- const listener = listenerFactory.createStreamMuxer({
24
- direction: 'inbound',
25
- onIncomingStream: (stream) => {
26
- onStreamPromise.resolve(stream);
27
- },
28
- onStreamEnd: (stream) => {
29
- onStreamEndPromise.resolve(stream);
30
- }
31
- });
32
- void pipe(p[0], dialer, p[0]);
33
- void pipe(p[1], listener, p[1]);
34
- const dialerStream = await dialer.newStream();
35
- expect(dialer.streams).to.include(dialerStream);
36
- expect(isValidTick(dialerStream.timeline.open)).to.equal(true);
37
- const dialerBytes = byteStream(dialerStream);
38
- void dialerBytes.write(uint8ArrayFromString('hello'));
39
- const listenerStream = await onStreamPromise.promise;
40
- expect(isValidTick(listenerStream.timeline.open)).to.equal(true);
41
- // Make sure the stream is being tracked
42
- expect(listener.streams).to.include(listenerStream);
43
- await dialerStream.close();
44
- await listenerStream.close();
45
- // Make sure stream is closed properly
46
- const endedStream = await onStreamEndPromise.promise;
47
- expect(listener.streams).to.not.include(endedStream);
48
- if (endedStream.timeline.close == null) {
49
- throw new Error('timeline had no close time');
50
- }
51
- // Make sure the stream is removed from tracking
52
- expect(isValidTick(endedStream.timeline.close)).to.equal(true);
53
- await dialer.close();
54
- await listener.close();
55
- // ensure we have no streams left
56
- expect(dialer.streams).to.have.length(0);
57
- expect(listener.streams).to.have.length(0);
14
+ listener = listenerFactory.createStreamMuxer(inboundConnection);
58
15
  });
59
- it('should open a stream from the listener', async () => {
60
- const p = duplexPair();
61
- const onStreamPromise = defer();
62
- const onStreamEndPromise = defer();
63
- const dialerFactory = await common.setup();
64
- const dialer = dialerFactory.createStreamMuxer({
65
- direction: 'outbound',
66
- onIncomingStream: (stream) => {
67
- onStreamPromise.resolve(stream);
68
- },
69
- onStreamEnd: (stream) => {
70
- onStreamEndPromise.resolve(stream);
71
- }
72
- });
73
- const listenerFactory = await common.setup();
74
- const listener = listenerFactory.createStreamMuxer({
75
- direction: 'inbound'
76
- });
77
- void pipe(p[0], dialer, p[0]);
78
- void pipe(p[1], listener, p[1]);
79
- const listenerStream = await listener.newStream();
80
- const listenerBytes = byteStream(listenerStream);
81
- void listenerBytes.write(uint8ArrayFromString('hello'));
82
- const dialerStream = await onStreamPromise.promise;
83
- expect(isValidTick(dialerStream.timeline.open)).to.equal(true);
84
- expect(listener.streams).to.include(listenerStream);
85
- expect(isValidTick(listenerStream.timeline.open)).to.equal(true);
86
- await dialerStream.close();
87
- await listenerStream.close();
88
- // Make sure stream is closed properly
89
- const endedStream = await onStreamEndPromise.promise;
90
- expect(dialer.streams).to.not.include(endedStream);
91
- if (endedStream.timeline.close == null) {
92
- throw new Error('timeline had no close time');
93
- }
94
- // Make sure the stream is removed from tracking
95
- expect(isValidTick(endedStream.timeline.close)).to.equal(true);
16
+ afterEach(async () => {
17
+ await dialer?.close();
18
+ await listener?.close();
19
+ });
20
+ it('should have a protocol', async () => {
21
+ expect(dialer.protocol).to.be.a('string');
22
+ });
23
+ it('should be open', async () => {
24
+ expect(dialer.status).to.equal('open');
25
+ });
26
+ it('should be closing during closing', async () => {
27
+ const closePromise = dialer.close();
28
+ expect(dialer.status).to.equal('closing');
29
+ await closePromise;
30
+ });
31
+ it('should be closed after closing', async () => {
96
32
  await dialer.close();
97
- await listener.close();
33
+ expect(dialer.status).to.equal('closed');
98
34
  });
99
- it('should open a stream on both sides', async () => {
100
- const p = duplexPair();
101
- const onDialerStreamPromise = defer();
102
- const onListenerStreamPromise = defer();
103
- const dialerFactory = await common.setup();
104
- const dialer = dialerFactory.createStreamMuxer({
105
- direction: 'outbound',
106
- onIncomingStream: (stream) => {
107
- onDialerStreamPromise.resolve(stream);
108
- }
109
- });
110
- const listenerFactory = await common.setup();
111
- const listener = listenerFactory.createStreamMuxer({
112
- direction: 'inbound',
113
- onIncomingStream: (stream) => {
114
- onListenerStreamPromise.resolve(stream);
115
- }
116
- });
117
- void pipe(p[0], dialer, p[0]);
118
- void pipe(p[1], listener, p[1]);
119
- const dialerInitiatorStream = await dialer.newStream();
120
- const listenerInitiatorStream = await listener.newStream();
121
- await Promise.all([
122
- dialerInitiatorStream.close(),
123
- listenerInitiatorStream.close(),
124
- onDialerStreamPromise.promise.then(async (stream) => { await stream.close(); }),
125
- onListenerStreamPromise.promise.then(async (stream) => { await stream.close(); })
35
+ it('should open a stream', async () => {
36
+ const [listenerStream, dialerStream] = await Promise.all([
37
+ pEvent(listener, 'stream').then(evt => evt.detail),
38
+ dialer.createStream()
126
39
  ]);
127
- await Promise.all([
128
- dialer.close(),
129
- listener.close()
40
+ const dialerBytes = byteStream(dialerStream);
41
+ const listenerBytes = byteStream(listenerStream);
42
+ const input = uint8ArrayFromString('hello');
43
+ const [, output] = await Promise.all([
44
+ dialerBytes.write(input),
45
+ listenerBytes.read()
130
46
  ]);
47
+ expect(output?.subarray()).to.equalBytes(input.subarray());
131
48
  });
132
- it('should open a stream on one side, write, open a stream on the other side', async () => {
133
- const toString = (source) => map(source, (u) => uint8ArrayToString(u.subarray()));
134
- const p = duplexPair();
135
- const onDialerStreamPromise = defer();
136
- const onListenerStreamPromise = defer();
137
- const dialerFactory = await common.setup();
138
- const dialer = dialerFactory.createStreamMuxer({
139
- direction: 'outbound',
140
- onIncomingStream: (stream) => {
141
- onDialerStreamPromise.resolve(stream);
142
- }
143
- });
144
- const listenerFactory = await common.setup();
145
- const listener = listenerFactory.createStreamMuxer({
146
- direction: 'inbound',
147
- onIncomingStream: (stream) => {
148
- onListenerStreamPromise.resolve(stream);
149
- }
150
- });
151
- void pipe(p[0], dialer, p[0]);
152
- void pipe(p[1], listener, p[1]);
153
- const dialerConn = await dialer.newStream();
154
- const listenerConn = await listener.newStream();
155
- void pipe([new Uint8ArrayList(uint8ArrayFromString('hey'))], dialerConn);
156
- void pipe([new Uint8ArrayList(uint8ArrayFromString('hello'))], listenerConn);
157
- const [dialerStream, listenerStream] = await Promise.all([
158
- onDialerStreamPromise.promise,
159
- onListenerStreamPromise.promise
49
+ it('should open a stream on both sides', async () => {
50
+ const [listenerInboundStream, dialerOutboundStream, dialerInboundStream, listenerOutboundStream] = await Promise.all([
51
+ pEvent(listener, 'stream').then(evt => evt.detail),
52
+ dialer.createStream(),
53
+ pEvent(dialer, 'stream').then(evt => evt.detail),
54
+ listener.createStream()
160
55
  ]);
161
- const [listenerChunks, dialerChunks] = await Promise.all([
162
- pipe(listenerStream, toString, async (source) => all(source)),
163
- pipe(dialerStream, toString, async (source) => all(source))
56
+ const dialerOutboundBytes = byteStream(dialerOutboundStream);
57
+ const listenerInboundBytes = byteStream(listenerInboundStream);
58
+ const listenerOutboundBytes = byteStream(listenerOutboundStream);
59
+ const dialerInboundBytes = byteStream(dialerInboundStream);
60
+ const inputA = uint8ArrayFromString('hello');
61
+ const inputB = uint8ArrayFromString('world');
62
+ const [, outputA] = await Promise.all([
63
+ dialerOutboundBytes.write(inputA),
64
+ listenerInboundBytes.read(),
65
+ listenerOutboundBytes.write(inputB),
66
+ dialerInboundBytes.read()
164
67
  ]);
165
- expect(listenerChunks).to.be.eql(['hey']);
166
- expect(dialerChunks).to.be.eql(['hello']);
68
+ expect(outputA?.subarray()).to.equalBytes(inputA.subarray());
69
+ expect(inputB?.subarray()).to.equalBytes(inputB.subarray());
167
70
  });
168
- it('should echo a small value via a pipe', async () => {
169
- const p = duplexPair();
170
- const onDialerStreamPromise = defer();
171
- const onDataReceivedPromise = defer();
172
- const dialerFactory = await common.setup();
173
- const dialer = dialerFactory.createStreamMuxer({
174
- direction: 'outbound',
175
- onIncomingStream: (stream) => {
176
- onDialerStreamPromise.resolve(stream);
177
- }
178
- });
179
- const listenerFactory = await common.setup();
180
- const listener = listenerFactory.createStreamMuxer({
181
- direction: 'inbound',
182
- onIncomingStream: (stream) => {
183
- void Promise.resolve().then(async () => {
184
- const output = new Uint8ArrayList();
185
- for await (const buf of stream.source) {
186
- output.append(buf);
187
- }
188
- onDataReceivedPromise.resolve(output.subarray());
189
- });
190
- }
191
- });
192
- void pipe(p[0], dialer, p[0]);
193
- void pipe(p[1], listener, p[1]);
194
- const stream = await dialer.newStream();
195
- const input = Uint8Array.from([0, 1, 2, 3, 4]);
196
- await pipe([input], stream);
197
- await stream.close();
198
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
199
- });
200
- it('should echo a large value via a pipe', async () => {
201
- const p = duplexPair();
202
- const onDialerStreamPromise = defer();
203
- const onDataReceivedPromise = defer();
204
- const dialerFactory = await common.setup();
205
- const dialer = dialerFactory.createStreamMuxer({
206
- direction: 'outbound',
207
- onIncomingStream: (stream) => {
208
- onDialerStreamPromise.resolve(stream);
209
- }
210
- });
211
- const listenerFactory = await common.setup();
212
- const listener = listenerFactory.createStreamMuxer({
213
- direction: 'inbound',
214
- onIncomingStream: (stream) => {
215
- void Promise.resolve().then(async () => {
216
- const output = new Uint8ArrayList();
217
- for await (const buf of stream.source) {
218
- output.append(buf);
219
- }
220
- onDataReceivedPromise.resolve(output.subarray());
221
- });
222
- }
223
- });
224
- void pipe(p[0], dialer, p[0]);
225
- void pipe(p[1], listener, p[1]);
226
- const stream = await dialer.newStream();
227
- const input = Uint8Array.from(new Array(1024 * 1024 * 10).fill(0));
228
- await pipe([input], stream);
229
- await stream.close();
230
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
231
- });
232
- it('should echo a small value via sink', async () => {
233
- const p = duplexPair();
234
- const onDialerStreamPromise = defer();
235
- const onDataReceivedPromise = defer();
236
- const dialerFactory = await common.setup();
237
- const dialer = dialerFactory.createStreamMuxer({
238
- direction: 'outbound',
239
- onIncomingStream: (stream) => {
240
- onDialerStreamPromise.resolve(stream);
241
- }
242
- });
243
- const listenerFactory = await common.setup();
244
- const listener = listenerFactory.createStreamMuxer({
245
- direction: 'inbound',
246
- onIncomingStream: (stream) => {
247
- void Promise.resolve().then(async () => {
248
- const output = new Uint8ArrayList();
249
- for await (const buf of stream.source) {
250
- output.append(buf);
251
- }
252
- onDataReceivedPromise.resolve(output.subarray());
253
- });
254
- }
255
- });
256
- void pipe(p[0], dialer, p[0]);
257
- void pipe(p[1], listener, p[1]);
258
- const stream = await dialer.newStream();
259
- const input = Uint8Array.from([0, 1, 2, 3, 4]);
260
- await stream.sink([input]);
261
- await stream.close();
262
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
263
- });
264
- it('should echo a large value via sink', async () => {
265
- const p = duplexPair();
266
- const onDialerStreamPromise = defer();
267
- const onDataReceivedPromise = defer();
268
- const dialerFactory = await common.setup();
269
- const dialer = dialerFactory.createStreamMuxer({
270
- direction: 'outbound',
271
- onIncomingStream: (stream) => {
272
- onDialerStreamPromise.resolve(stream);
273
- }
274
- });
275
- const listenerFactory = await common.setup();
276
- const listener = listenerFactory.createStreamMuxer({
277
- direction: 'inbound',
278
- onIncomingStream: (stream) => {
279
- void Promise.resolve().then(async () => {
280
- const output = new Uint8ArrayList();
281
- for await (const buf of stream.source) {
282
- output.append(buf);
283
- }
284
- onDataReceivedPromise.resolve(output.subarray());
285
- });
286
- }
287
- });
288
- void pipe(p[0], dialer, p[0]);
289
- void pipe(p[1], listener, p[1]);
290
- const stream = await dialer.newStream();
291
- const input = Uint8Array.from(new Array(1024 * 1024 * 10).fill(0));
292
- await stream.sink([input]);
293
- await stream.close();
294
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
295
- });
296
- it('should echo a small value via a pushable', async () => {
297
- const p = duplexPair();
298
- const onDialerStreamPromise = defer();
299
- const onDataReceivedPromise = defer();
300
- const dialerFactory = await common.setup();
301
- const dialer = dialerFactory.createStreamMuxer({
302
- direction: 'outbound',
303
- onIncomingStream: (stream) => {
304
- onDialerStreamPromise.resolve(stream);
305
- }
306
- });
307
- const listenerFactory = await common.setup();
308
- const listener = listenerFactory.createStreamMuxer({
309
- direction: 'inbound',
310
- onIncomingStream: (stream) => {
311
- void Promise.resolve().then(async () => {
312
- const output = new Uint8ArrayList();
313
- for await (const buf of stream.source) {
314
- output.append(buf);
315
- }
316
- onDataReceivedPromise.resolve(output.subarray());
317
- });
318
- }
319
- });
320
- void pipe(p[0], dialer, p[0]);
321
- void pipe(p[1], listener, p[1]);
322
- const stream = await dialer.newStream();
323
- const input = Uint8Array.from([0, 1, 2, 3, 4]);
324
- const pushable = byteStream(stream);
325
- await pushable.write(input);
326
- await pushable.unwrap().close();
327
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
328
- });
329
- it('should echo a large value via a pushable', async () => {
330
- const p = duplexPair();
331
- const onDialerStreamPromise = defer();
332
- const onDataReceivedPromise = defer();
333
- const dialerFactory = await common.setup();
334
- const dialer = dialerFactory.createStreamMuxer({
335
- direction: 'outbound',
336
- onIncomingStream: (stream) => {
337
- onDialerStreamPromise.resolve(stream);
338
- }
339
- });
340
- const listenerFactory = await common.setup();
341
- const listener = listenerFactory.createStreamMuxer({
342
- direction: 'inbound',
343
- onIncomingStream: (stream) => {
344
- void Promise.resolve().then(async () => {
345
- const output = new Uint8ArrayList();
346
- for await (const buf of stream.source) {
347
- output.append(buf);
348
- }
349
- onDataReceivedPromise.resolve(output.subarray());
350
- });
351
- }
352
- });
353
- void pipe(p[0], dialer, p[0]);
354
- void pipe(p[1], listener, p[1]);
355
- const stream = await dialer.newStream();
356
- const input = Uint8Array.from(new Array(1024 * 1024 * 10).fill(0));
357
- const pushable = byteStream(stream);
358
- await pushable.write(input);
359
- await pushable.unwrap().close();
360
- expect(await onDataReceivedPromise.promise).to.equalBytes(input);
71
+ it('should store a stream in the streams list', async () => {
72
+ const [listenerStream, dialerStream] = await Promise.all([
73
+ pEvent(listener, 'stream').then(evt => evt.detail),
74
+ dialer.createStream()
75
+ ]);
76
+ expect(dialer.streams).to.include(dialerStream, 'dialer did not store outbound stream');
77
+ expect(listener.streams).to.include(listenerStream, 'listener did not store inbound stream');
361
78
  });
362
79
  });
363
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"base-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/base-test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"close-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;yBAqD3C,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBA6aC"}
1
+ {"version":3,"file":"close-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAA4C,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;yBAarF,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAmbC"}