@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":"close-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import baseTest from './base-test.js';
2
2
  import closeTest from './close-test.js';
3
- import megaStressTest from './mega-stress-test.js';
3
+ import steamTest from './stream-test.js';
4
4
  import stressTest from './stress-test.js';
5
5
  export default (common) => {
6
6
  describe('interface-stream-muxer', () => {
7
7
  baseTest(common);
8
8
  closeTest(common);
9
+ steamTest(common);
9
10
  stressTest(common);
10
- megaStressTest(common);
11
11
  });
12
12
  };
13
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stream-muxer/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,SAAS,MAAM,iBAAiB,CAAA;AACvC,OAAO,cAAc,MAAM,uBAAuB,CAAA;AAClD,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAIzC,eAAe,CAAC,MAAqC,EAAQ,EAAE;IAC7D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChB,SAAS,CAAC,MAAM,CAAC,CAAA;QACjB,UAAU,CAAC,MAAM,CAAC,CAAA;QAClB,cAAc,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/stream-muxer/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,SAAS,MAAM,iBAAiB,CAAA;AACvC,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAIzC,eAAe,CAAC,MAAqC,EAAQ,EAAE;IAC7D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACtC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChB,SAAS,CAAC,MAAM,CAAC,CAAA;QACjB,SAAS,CAAC,MAAM,CAAC,CAAA;QACjB,UAAU,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { TestSetup } from '../index.js';
1
+ import type { TestSetup } from '../index.ts';
2
2
  import type { StreamMuxerFactory } from '@libp2p/interface';
3
3
  declare const _default: (common: TestSetup<StreamMuxerFactory>) => void;
4
4
  export default _default;
5
- //# sourceMappingURL=mega-stress-test.d.ts.map
5
+ //# sourceMappingURL=stream-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/stream-test.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAA4C,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;yBAErF,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAgXC"}
@@ -0,0 +1,290 @@
1
+ import { StreamCloseEvent, StreamMessageEvent } from '@libp2p/interface';
2
+ import { multiaddrConnectionPair } from '@libp2p/utils';
3
+ import { expect } from 'aegir/chai';
4
+ import delay from 'delay';
5
+ import all from 'it-all';
6
+ import { pEvent } from 'p-event';
7
+ import Sinon from 'sinon';
8
+ import { Uint8ArrayList } from 'uint8arraylist';
9
+ import { isValidTick } from "../is-valid-tick.js";
10
+ export default (common) => {
11
+ describe('streams', () => {
12
+ let dialer;
13
+ let listener;
14
+ let outboundStream;
15
+ let inboundStream;
16
+ let streams;
17
+ let outboundConnection;
18
+ let inboundConnection;
19
+ beforeEach(async () => {
20
+ ([outboundConnection, inboundConnection] = multiaddrConnectionPair());
21
+ const dialerFactory = await common.setup();
22
+ dialer = dialerFactory.createStreamMuxer(outboundConnection);
23
+ const listenerFactory = await common.setup();
24
+ listener = listenerFactory.createStreamMuxer(inboundConnection);
25
+ streams = await Promise.all([
26
+ pEvent(listener, 'stream').then(evt => evt.detail),
27
+ dialer.createStream()
28
+ ]);
29
+ inboundStream = streams[0];
30
+ outboundStream = streams[1];
31
+ });
32
+ afterEach(async () => {
33
+ await dialer?.close();
34
+ await listener?.close();
35
+ });
36
+ it('should have correct status after opening', () => {
37
+ streams.forEach(stream => {
38
+ expect(stream).to.have.property('status', 'open', `${stream.direction} stream status was incorrect`);
39
+ expect(stream).to.have.property('writeStatus', 'writable', `${stream.direction} stream writeStatus was incorrect`);
40
+ expect(stream).to.have.property('readStatus', 'readable', `${stream.direction} stream readStatus was incorrect`);
41
+ });
42
+ });
43
+ it('should have correct timeline after opening', () => {
44
+ streams.forEach(stream => {
45
+ expect(isValidTick(stream.timeline.open)).to.equal(true, `${stream.direction} stream timeline.open was incorrect`);
46
+ expect(stream).to.not.have.nested.property('timeline.close', `${stream.direction} stream timeline.close was incorrect`);
47
+ expect(stream).to.not.have.nested.property('timeline.closeRead', `${stream.direction} stream timeline.closeRead was incorrect`);
48
+ expect(stream).to.not.have.nested.property('timeline.closeWrite', `${stream.direction} stream timeline.closeWrite was incorrect`);
49
+ expect(stream).to.not.have.nested.property('timeline.reset', `${stream.direction} stream timeline.reset was incorrect`);
50
+ expect(stream).to.not.have.nested.property('timeline.abort', `${stream.direction} stream timeline.abort was incorrect`);
51
+ });
52
+ });
53
+ it('outbound stream sends data', async () => {
54
+ const messageEventPromise = pEvent(inboundStream, 'message');
55
+ const data = Uint8Array.from([0, 1, 2, 3, 4]);
56
+ outboundStream.send(data);
57
+ const evt = await messageEventPromise;
58
+ expect(evt.data.subarray()).to.equalBytes(data);
59
+ });
60
+ it('inbound stream sends data', async () => {
61
+ const messageEventPromise = pEvent(outboundStream, 'message');
62
+ const data = Uint8Array.from([0, 1, 2, 3, 4]);
63
+ inboundStream.send(data);
64
+ const evt = await messageEventPromise;
65
+ expect(evt.data.subarray()).to.equalBytes(data);
66
+ });
67
+ it('closes', async () => {
68
+ const signal = AbortSignal.timeout(1_000);
69
+ void outboundStream.close({
70
+ signal
71
+ });
72
+ void inboundStream.close({
73
+ signal
74
+ });
75
+ expect(outboundStream).to.have.property('status', 'open');
76
+ expect(outboundStream).to.have.property('readStatus', 'readable');
77
+ expect(outboundStream).to.have.property('writeStatus', 'closing');
78
+ await Promise.all([
79
+ pEvent(outboundStream, 'close', {
80
+ signal
81
+ }),
82
+ pEvent(inboundStream, 'close', {
83
+ signal
84
+ })
85
+ ]);
86
+ streams.forEach(stream => {
87
+ expect(stream).to.have.property('status', 'closed', `${stream.direction} stream status was incorrect`);
88
+ expect(stream).to.have.property('writeStatus', 'closed', `${stream.direction} stream writeStatus was incorrect`);
89
+ expect(stream).to.have.property('readStatus', 'closed', `${stream.direction} stream readStatus was incorrect`);
90
+ expect(isValidTick(stream.timeline.open)).to.equal(true, `${stream.direction} stream timeline.open was incorrect`);
91
+ expect(isValidTick(stream.timeline.close)).to.equal(true, `${stream.direction} stream timeline.close was incorrect`);
92
+ expect(stream).to.not.have.nested.property('timeline.reset', `${stream.direction} stream timeline.reset was incorrect`);
93
+ expect(stream).to.not.have.nested.property('timeline.abort', `${stream.direction} stream timeline.abort was incorrect`);
94
+ });
95
+ });
96
+ it('should send large amounts of data in both directions', async function () {
97
+ const timeout = 360_000;
98
+ this.timeout(timeout);
99
+ const sent = new Array(10)
100
+ .fill(0)
101
+ .map((val, index) => new Uint8Array(1024 * 1024).fill(index));
102
+ // send data in both directions simultaneously
103
+ const [outboundReceived, inboundReceived] = await Promise.all([
104
+ all(outboundStream),
105
+ all(inboundStream),
106
+ (async () => {
107
+ for (const buf of sent) {
108
+ if (!outboundStream.send(buf)) {
109
+ await pEvent(outboundStream, 'drain', {
110
+ rejectionEvents: [
111
+ 'close'
112
+ ]
113
+ });
114
+ }
115
+ }
116
+ await outboundStream.close();
117
+ })(),
118
+ (async () => {
119
+ for (const buf of sent) {
120
+ if (!inboundStream.send(buf)) {
121
+ await pEvent(inboundStream, 'drain', {
122
+ rejectionEvents: [
123
+ 'close'
124
+ ]
125
+ });
126
+ }
127
+ }
128
+ await inboundStream.close();
129
+ })()
130
+ ]);
131
+ expect(new Uint8ArrayList(...outboundReceived)).to.have.property('byteLength', new Uint8ArrayList(...sent).byteLength);
132
+ expect(new Uint8ArrayList(...inboundReceived)).to.have.property('byteLength', new Uint8ArrayList(...sent).byteLength);
133
+ });
134
+ it('closes for writing', async () => {
135
+ const signal = AbortSignal.timeout(1_000);
136
+ const eventPromise = pEvent(inboundStream, 'remoteCloseWrite');
137
+ void outboundStream.close({
138
+ signal
139
+ });
140
+ expect(outboundStream).to.have.property('writeStatus', 'closing');
141
+ await delay(100);
142
+ expect(inboundStream).to.have.property('readStatus', 'readable');
143
+ await eventPromise;
144
+ streams.forEach(stream => {
145
+ expect(stream).to.have.property('status', 'open', `${stream.direction} stream status was incorrect`);
146
+ expect(isValidTick(stream.timeline.open)).to.equal(true, `${stream.direction} stream timeline.open was incorrect`);
147
+ expect(stream).to.not.have.nested.property('timeline.close', `${stream.direction} stream timeline.close was incorrect`);
148
+ expect(stream).to.not.have.nested.property('timeline.reset', `${stream.direction} stream timeline.reset was incorrect`);
149
+ expect(stream).to.not.have.nested.property('timeline.abort', `${stream.direction} stream timeline.abort was incorrect`);
150
+ });
151
+ expect(outboundStream).to.have.property('writeStatus', 'closed', 'outbound stream writeStatus was incorrect');
152
+ expect(outboundStream).to.have.property('readStatus', 'readable', 'inbound stream readStatus was incorrect');
153
+ expect(outboundStream).to.not.have.nested.property('timeline.closeRead', 'inbound stream timeline.closeRead was incorrect');
154
+ expect(inboundStream).to.have.property('writeStatus', 'writable', 'inbound stream writeStatus was incorrect');
155
+ expect(inboundStream).to.have.property('readStatus', 'readable', 'inbound stream readStatus was incorrect');
156
+ });
157
+ it('aborts', async () => {
158
+ const eventPromises = Promise.all([
159
+ pEvent(outboundStream, 'close'),
160
+ pEvent(inboundStream, 'close')
161
+ ]);
162
+ const err = new Error('Urk!');
163
+ outboundStream.abort(err);
164
+ const [outboundEvent, inboundEvent] = await eventPromises;
165
+ streams.forEach(stream => {
166
+ expect(stream).to.have.property('writeStatus', 'closed', `${stream.direction} stream writeStatus was incorrect`);
167
+ expect(stream).to.have.property('readStatus', 'closed', `${stream.direction} stream readStatus was incorrect`);
168
+ expect(isValidTick(stream.timeline.open)).to.equal(true, `${stream.direction} stream timeline.open was incorrect`);
169
+ expect(stream).to.not.have.nested.property('timeline.close', `${stream.direction} stream timeline.close was incorrect`);
170
+ });
171
+ expect(outboundStream).to.have.property('status', 'aborted', 'outbound stream status was incorrect');
172
+ expect(isValidTick(outboundStream.timeline.close)).to.equal(true, 'outbound stream timeline.abort was incorrect');
173
+ expect(inboundStream).to.have.property('status', 'reset', 'inbound stream status was incorrect');
174
+ expect(isValidTick(inboundStream.timeline.close)).to.equal(true, 'inbound stream timeline.reset was incorrect');
175
+ expect(() => outboundStream.send(Uint8Array.from([0, 1, 2, 3]))).to.throw()
176
+ .with.property('name', 'StreamStateError', 'could still write to aborted stream');
177
+ expect(() => inboundStream.send(Uint8Array.from([0, 1, 2, 3]))).to.throw()
178
+ .with.property('name', 'StreamStateError', 'could still write to reset stream');
179
+ expect(outboundEvent).to.have.property('error', err);
180
+ expect(inboundEvent).to.have.nested.property('error.name', 'StreamResetError');
181
+ });
182
+ it('does not send close read when remote closes write', async () => {
183
+ // @ts-expect-error internal method of AbstractMessageStream
184
+ const sendCloseReadSpy = Sinon.spy(outboundStream, 'sendCloseRead');
185
+ await Promise.all([
186
+ pEvent(outboundStream, 'remoteCloseWrite'),
187
+ inboundStream.close()
188
+ ]);
189
+ await delay(100);
190
+ expect(sendCloseReadSpy.called).to.be.false();
191
+ });
192
+ it('does not send close read or write when remote resets', async () => {
193
+ // @ts-expect-error internal method of AbstractMessageStream
194
+ const sendCloseReadSpy = Sinon.spy(outboundStream, 'sendCloseRead');
195
+ // @ts-expect-error internal method of AbstractMessageStream
196
+ const sendCloseWriteSpy = Sinon.spy(outboundStream, 'sendCloseWrite');
197
+ await Promise.all([
198
+ pEvent(outboundStream, 'close'),
199
+ // eslint-disable-next-line @typescript-eslint/await-thenable
200
+ inboundStream.abort(new Error('Urk!'))
201
+ ]);
202
+ await delay(100);
203
+ await outboundStream.close();
204
+ await delay(100);
205
+ expect(sendCloseReadSpy.called).to.be.false();
206
+ expect(sendCloseWriteSpy.called).to.be.false();
207
+ });
208
+ it('should wait for sending data to finish when closing gracefully', async () => {
209
+ let sent = 0;
210
+ let received = 0;
211
+ let filledBuffer = false;
212
+ const receivedAll = Promise.withResolvers();
213
+ inboundStream.addEventListener('message', (evt) => {
214
+ received += evt.data.byteLength;
215
+ if (filledBuffer && received === sent) {
216
+ receivedAll.resolve(true);
217
+ }
218
+ });
219
+ // fill the send buffer
220
+ while (true) {
221
+ const length = 1024;
222
+ sent += length;
223
+ const sendMore = outboundStream.send(new Uint8Array(length));
224
+ if (sendMore === false) {
225
+ filledBuffer = true;
226
+ break;
227
+ }
228
+ }
229
+ expect(outboundStream.writeStatus).to.equal('writable');
230
+ expect(outboundStream.writableNeedsDrain).to.be.true();
231
+ // close gracefully
232
+ await outboundStream.close();
233
+ await expect(receivedAll.promise).to.eventually.be.true('did not receive all data');
234
+ });
235
+ it('should wait for sending data to finish when closing the writable end gracefully', async () => {
236
+ let sent = 0;
237
+ let received = 0;
238
+ let filledBuffer = false;
239
+ const receivedAll = Promise.withResolvers();
240
+ inboundStream.addEventListener('message', (evt) => {
241
+ received += evt.data.byteLength;
242
+ if (filledBuffer && received === sent) {
243
+ receivedAll.resolve(true);
244
+ }
245
+ });
246
+ // fill the send buffer
247
+ while (true) {
248
+ const length = 1024;
249
+ sent += length;
250
+ const sendMore = outboundStream.send(new Uint8Array(length));
251
+ if (sendMore === false) {
252
+ filledBuffer = true;
253
+ break;
254
+ }
255
+ }
256
+ expect(outboundStream.writeStatus).to.equal('writable');
257
+ expect(outboundStream.writableNeedsDrain).to.be.true();
258
+ // close gracefully
259
+ await outboundStream.close();
260
+ await expect(receivedAll.promise).to.eventually.be.true('did not receive all data');
261
+ });
262
+ it('should abort close due to timeout with slow sender', async () => {
263
+ const chunkSize = 1024;
264
+ // make the 'drain' event slow to fire
265
+ // @ts-expect-error private fields
266
+ outboundConnection.local.delay = 1000;
267
+ inboundStream = streams[0];
268
+ outboundStream = streams[1];
269
+ // ensure there are bytes left in the write queue
270
+ // @ts-expect-error private fields
271
+ outboundStream.maxMessageSize = chunkSize - 1;
272
+ // fill the send buffer
273
+ while (true) {
274
+ const sendMore = outboundStream.send(new Uint8Array(chunkSize * 10));
275
+ if (sendMore === false) {
276
+ expect(outboundStream).to.have.nested.property('writeBuffer.byteLength').that.is.greaterThan(0);
277
+ break;
278
+ }
279
+ }
280
+ expect(outboundStream.writeStatus).to.equal('writable');
281
+ expect(outboundStream.writableNeedsDrain).to.be.true();
282
+ // close stream, should be aborted as drain event will not have fired
283
+ await expect(outboundStream.close({
284
+ signal: AbortSignal.timeout(10)
285
+ })).to.eventually.be.rejected
286
+ .with.property('name', 'TimeoutError');
287
+ });
288
+ });
289
+ };
290
+ //# sourceMappingURL=stream-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/stream-test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stress-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/stress-test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAgC,MAAM,mBAAmB,CAAA;yBAEzE,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAsBC"}
1
+ {"version":3,"file":"stress-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/stress-test.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAoC,MAAM,mBAAmB,CAAA;yBA0E7E,QAAQ,SAAS,CAAC,kBAAkB,CAAC,KAAG,IAAI;AAA5D,wBAoBC"}
@@ -1,23 +1,77 @@
1
- import spawn from './spawner.js';
1
+ import { multiaddrConnectionPair, echo } from '@libp2p/utils';
2
+ import { expect } from 'aegir/chai';
3
+ import { pEvent } from 'p-event';
4
+ import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
5
+ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
6
+ async function* messages(nMsg) {
7
+ for (let i = 0; i < nMsg; i++) {
8
+ yield uint8ArrayFromString(`message ${i + 1}/${nMsg}`);
9
+ }
10
+ }
11
+ async function spawn(createMuxer, nStreams, nMsg) {
12
+ const [outboundConnection, inboundConnection] = multiaddrConnectionPair();
13
+ const listener = await createMuxer(inboundConnection);
14
+ listener.addEventListener('stream', function echoStreamHandler(evt) {
15
+ echo(evt.detail)
16
+ .catch(err => {
17
+ evt.detail.abort(err);
18
+ });
19
+ });
20
+ const dialer = await createMuxer(outboundConnection);
21
+ const spawnStream = async () => {
22
+ let receivedBytes = 0;
23
+ let sentBytes = 0;
24
+ for await (const buf of messages(nMsg)) {
25
+ sentBytes += buf.byteLength;
26
+ }
27
+ const receivedAllMessagesPromise = Promise.withResolvers();
28
+ const outboundStream = await dialer.createStream();
29
+ outboundStream.addEventListener('message', function countMessages(evt) {
30
+ receivedBytes += evt.data.byteLength;
31
+ outboundStream.log('%s - echoed bytes %d/%d', uint8ArrayToString(evt.data.subarray()), receivedBytes, sentBytes);
32
+ if (receivedBytes === sentBytes) {
33
+ outboundStream.log('received all bytes');
34
+ receivedAllMessagesPromise.resolve();
35
+ }
36
+ });
37
+ for await (const buf of messages(nMsg)) {
38
+ const sendMore = outboundStream.send(buf);
39
+ if (sendMore === false) {
40
+ await pEvent(outboundStream, 'drain', {
41
+ rejectionEvents: ['close']
42
+ });
43
+ }
44
+ }
45
+ await receivedAllMessagesPromise.promise;
46
+ outboundStream.log('sent and received all messages %d/%d', receivedBytes, sentBytes);
47
+ await Promise.all([
48
+ pEvent(outboundStream, 'close'),
49
+ outboundStream.close()
50
+ ]);
51
+ expect(receivedBytes).to.equal(sentBytes);
52
+ };
53
+ await Promise.all(Array.from(Array(nStreams), async () => {
54
+ await spawnStream();
55
+ }));
56
+ await listener.close();
57
+ await dialer.close();
58
+ }
2
59
  export default (common) => {
3
- const createMuxer = async (init) => {
60
+ const createMuxer = async (maConn) => {
4
61
  const factory = await common.setup();
5
- return factory.createStreamMuxer(init);
62
+ return factory.createStreamMuxer(maConn);
6
63
  };
64
+ const streams = [1, 10, 100, 1000];
65
+ const messages = [1, 10, 100];
7
66
  describe('stress test', function () {
8
- this.timeout(1600000);
9
- it('1 stream with 1 msg', async () => { await spawn(createMuxer, 1, 1); });
10
- it('1 stream with 10 msg', async () => { await spawn(createMuxer, 1, 10); });
11
- it('1 stream with 100 msg', async () => { await spawn(createMuxer, 1, 100); });
12
- it('10 streams with 1 msg', async () => { await spawn(createMuxer, 10, 1); });
13
- it('10 streams with 10 msg', async () => { await spawn(createMuxer, 10, 10); });
14
- it('10 streams with 100 msg', async () => { await spawn(createMuxer, 10, 100); });
15
- it('100 streams with 1 msg', async () => { await spawn(createMuxer, 100, 1); });
16
- it('100 streams with 10 msg', async () => { await spawn(createMuxer, 100, 10); });
17
- it('100 streams with 100 msg', async () => { await spawn(createMuxer, 100, 100); });
18
- it('1000 streams with 1 msg', async () => { await spawn(createMuxer, 1000, 1); });
19
- it('1000 streams with 10 msg', async () => { await spawn(createMuxer, 1000, 10); });
20
- it('1000 streams with 100 msg', async () => { await spawn(createMuxer, 1000, 100); });
67
+ this.timeout(1_600_000);
68
+ for (let i = 0; i < streams.length; i++) {
69
+ for (let j = 0; j < messages.length; j++) {
70
+ it(`${streams[i]} stream(s) with ${messages[j]} msg(s)`, async () => {
71
+ await spawn(createMuxer, streams[i], messages[j]);
72
+ });
73
+ }
74
+ }
21
75
  });
22
76
  };
23
77
  //# sourceMappingURL=stress-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stress-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/stress-test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,cAAc,CAAA;AAIhC,eAAe,CAAC,MAAqC,EAAQ,EAAE;IAC7D,MAAM,WAAW,GAAG,KAAK,EAAE,IAAsB,EAAwB,EAAE;QACzE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;QACpC,OAAO,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC,CAAA;IAED,QAAQ,CAAC,aAAa,EAAE;QACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAErB,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACzE,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC3E,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC7E,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC5E,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC9E,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAChF,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC9E,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAChF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAClF,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAChF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAClF,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"stress-test.js","sourceRoot":"","sources":["../../../src/stream-muxer/stress-test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGxC,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAElC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAA;IAEtC;;OAEG;IACH,sBAAsB,EAAE,gBAAgB,CAAA;IAExC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB;yBA0Be,QAAQ,SAAS,CAAC,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBA0eC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAExC,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IAElC;;OAEG;IACH,oBAAoB,EAAE,gBAAgB,CAAA;IAEtC;;OAEG;IACH,sBAAsB,EAAE,gBAAgB,CAAA;IAExC;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB;yBAsCe,QAAQ,SAAS,CAAC,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBAugBC"}