@libp2p/interface-compliance-tests 1.1.8 → 1.1.12

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 (79) hide show
  1. package/dist/src/mocks/connection.d.ts +5 -3
  2. package/dist/src/mocks/connection.d.ts.map +1 -1
  3. package/dist/src/mocks/connection.js +21 -13
  4. package/dist/src/mocks/connection.js.map +1 -1
  5. package/dist/src/mocks/muxer.d.ts.map +1 -1
  6. package/dist/src/mocks/muxer.js +201 -131
  7. package/dist/src/mocks/muxer.js.map +1 -1
  8. package/dist/src/mocks/registrar.d.ts +5 -1
  9. package/dist/src/mocks/registrar.d.ts.map +1 -1
  10. package/dist/src/mocks/registrar.js +8 -10
  11. package/dist/src/mocks/registrar.js.map +1 -1
  12. package/dist/src/mocks/upgrader.d.ts +2 -2
  13. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  14. package/dist/src/mocks/upgrader.js +2 -2
  15. package/dist/src/mocks/upgrader.js.map +1 -1
  16. package/dist/src/pubsub/api.d.ts +3 -2
  17. package/dist/src/pubsub/api.d.ts.map +1 -1
  18. package/dist/src/pubsub/api.js +8 -6
  19. package/dist/src/pubsub/api.js.map +1 -1
  20. package/dist/src/pubsub/connection-handlers.d.ts +3 -2
  21. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  22. package/dist/src/pubsub/connection-handlers.js +128 -34
  23. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  24. package/dist/src/pubsub/emit-self.d.ts +3 -2
  25. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  26. package/dist/src/pubsub/emit-self.js +3 -2
  27. package/dist/src/pubsub/emit-self.js.map +1 -1
  28. package/dist/src/pubsub/index.d.ts +5 -2
  29. package/dist/src/pubsub/index.d.ts.map +1 -1
  30. package/dist/src/pubsub/index.js.map +1 -1
  31. package/dist/src/pubsub/messages.d.ts +3 -2
  32. package/dist/src/pubsub/messages.d.ts.map +1 -1
  33. package/dist/src/pubsub/messages.js +16 -17
  34. package/dist/src/pubsub/messages.js.map +1 -1
  35. package/dist/src/pubsub/multiple-nodes.d.ts +3 -2
  36. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  37. package/dist/src/pubsub/multiple-nodes.js +89 -58
  38. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  39. package/dist/src/pubsub/two-nodes.d.ts +3 -2
  40. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  41. package/dist/src/pubsub/two-nodes.js +74 -32
  42. package/dist/src/pubsub/two-nodes.js.map +1 -1
  43. package/dist/src/pubsub/utils.d.ts +3 -0
  44. package/dist/src/pubsub/utils.d.ts.map +1 -0
  45. package/dist/src/pubsub/utils.js +9 -0
  46. package/dist/src/pubsub/utils.js.map +1 -0
  47. package/dist/src/stream-muxer/base-test.d.ts.map +1 -1
  48. package/dist/src/stream-muxer/base-test.js +27 -21
  49. package/dist/src/stream-muxer/base-test.js.map +1 -1
  50. package/dist/src/stream-muxer/close-test.d.ts.map +1 -1
  51. package/dist/src/stream-muxer/close-test.js +25 -28
  52. package/dist/src/stream-muxer/close-test.js.map +1 -1
  53. package/dist/src/stream-muxer/spawner.d.ts.map +1 -1
  54. package/dist/src/stream-muxer/spawner.js +2 -3
  55. package/dist/src/stream-muxer/spawner.js.map +1 -1
  56. package/dist/src/transport/dial-test.d.ts.map +1 -1
  57. package/dist/src/transport/dial-test.js +16 -5
  58. package/dist/src/transport/dial-test.js.map +1 -1
  59. package/dist/src/transport/listen-test.d.ts.map +1 -1
  60. package/dist/src/transport/listen-test.js +13 -2
  61. package/dist/src/transport/listen-test.js.map +1 -1
  62. package/package.json +6 -2
  63. package/src/mocks/connection.ts +27 -15
  64. package/src/mocks/muxer.ts +271 -147
  65. package/src/mocks/registrar.ts +12 -10
  66. package/src/mocks/upgrader.ts +4 -4
  67. package/src/pubsub/api.ts +13 -9
  68. package/src/pubsub/connection-handlers.ts +148 -43
  69. package/src/pubsub/emit-self.ts +9 -7
  70. package/src/pubsub/index.ts +5 -2
  71. package/src/pubsub/messages.ts +24 -23
  72. package/src/pubsub/multiple-nodes.ts +104 -74
  73. package/src/pubsub/two-nodes.ts +87 -39
  74. package/src/pubsub/utils.ts +12 -0
  75. package/src/stream-muxer/base-test.ts +35 -24
  76. package/src/stream-muxer/close-test.ts +32 -29
  77. package/src/stream-muxer/spawner.ts +3 -6
  78. package/src/transport/dial-test.ts +23 -6
  79. package/src/transport/listen-test.ts +16 -2
@@ -7,6 +7,8 @@ import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
7
7
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
8
8
  import { connectPeers, mockRegistrar } from '../mocks/registrar.js';
9
9
  import { createEd25519PeerId } from '@libp2p/peer-id-factory';
10
+ import { CustomEvent } from '@libp2p/interfaces';
11
+ import { waitForSubscriptionUpdate } from './utils.js';
10
12
  const topic = 'foo';
11
13
  function shouldNotHappen() {
12
14
  expect.fail();
@@ -20,29 +22,37 @@ export default (common) => {
20
22
  let registrarA;
21
23
  let registrarB;
22
24
  // Create pubsub nodes and connect them
23
- before(async () => {
25
+ beforeEach(async () => {
24
26
  peerIdA = await createEd25519PeerId();
25
27
  peerIdB = await createEd25519PeerId();
26
28
  registrarA = mockRegistrar();
27
29
  registrarB = mockRegistrar();
28
30
  psA = await common.setup({
29
31
  peerId: peerIdA,
30
- registrar: registrarA
32
+ registrar: registrarA,
33
+ emitSelf: true
31
34
  });
32
35
  psB = await common.setup({
33
36
  peerId: peerIdB,
34
- registrar: registrarB
37
+ registrar: registrarB,
38
+ emitSelf: false
35
39
  });
36
40
  // Start pubsub and connect nodes
37
41
  await psA.start();
38
42
  await psB.start();
39
43
  expect(psA.getPeers()).to.be.empty();
40
44
  expect(psB.getPeers()).to.be.empty();
41
- await connectPeers(psA.multicodecs[0], registrarA, registrarB, peerIdA, peerIdB);
45
+ await connectPeers(psA.multicodecs[0], {
46
+ peerId: peerIdA,
47
+ registrar: registrarA
48
+ }, {
49
+ peerId: peerIdB,
50
+ registrar: registrarB
51
+ });
42
52
  // Wait for peers to be ready in pubsub
43
53
  await pWaitFor(() => psA.getPeers().length === 1 && psB.getPeers().length === 1);
44
54
  });
45
- after(async () => {
55
+ afterEach(async () => {
46
56
  sinon.restore();
47
57
  await psA.stop();
48
58
  await psB.stop();
@@ -54,10 +64,10 @@ export default (common) => {
54
64
  const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
55
65
  expect(psA.getTopics()).to.deep.equal([topic]);
56
66
  expect(psB.getPeers()).to.have.lengthOf(1);
57
- expect(psB.getSubscribers(topic)).to.deep.equal([peerIdA]);
67
+ expect(psB.getSubscribers(topic).map(p => p.toString())).to.deep.equal([peerIdA.toString()]);
58
68
  expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
59
69
  expect(changedSubs).to.have.lengthOf(1);
60
- expect(changedSubs[0].topicID).to.equal(topic);
70
+ expect(changedSubs[0].topic).to.equal(topic);
61
71
  expect(changedSubs[0].subscribe).to.equal(true);
62
72
  defer.resolve();
63
73
  }, {
@@ -79,7 +89,11 @@ export default (common) => {
79
89
  psB.addEventListener(topic, shouldNotHappen, {
80
90
  once: true
81
91
  });
82
- void psA.publish(topic, uint8ArrayFromString('hey'));
92
+ await Promise.all([
93
+ waitForSubscriptionUpdate(psA, psB),
94
+ waitForSubscriptionUpdate(psB, psA)
95
+ ]);
96
+ void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('hey') }));
83
97
  return await defer.promise;
84
98
  });
85
99
  it('Publish to a topic in nodeB', async () => {
@@ -101,7 +115,11 @@ export default (common) => {
101
115
  psB.addEventListener(topic, shouldNotHappen, {
102
116
  once: true
103
117
  });
104
- void psB.publish(topic, uint8ArrayFromString('banana'));
118
+ await Promise.all([
119
+ waitForSubscriptionUpdate(psA, psB),
120
+ waitForSubscriptionUpdate(psB, psA)
121
+ ]);
122
+ void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
105
123
  return await defer.promise;
106
124
  });
107
125
  it('Publish 10 msg to a topic in nodeB', async () => {
@@ -114,51 +132,75 @@ export default (common) => {
114
132
  function receivedMsg(evt) {
115
133
  const msg = evt.detail;
116
134
  expect(uint8ArrayToString(msg.data)).to.equal('banana');
117
- expect(msg.from).to.deep.equal(peerIdB);
118
- expect(msg.seqno).to.be.a('Uint8Array');
119
- expect(msg.topicIDs).to.be.eql([topic]);
135
+ expect(msg.from.toString()).to.equal(peerIdB.toString());
136
+ expect(msg.seqno).to.be.a('BigInt');
137
+ expect(msg.topic).to.be.equal(topic);
120
138
  if (++counter === 10) {
121
139
  psA.removeEventListener(topic, receivedMsg);
122
140
  psB.removeEventListener(topic, shouldNotHappen);
123
141
  defer.resolve();
124
142
  }
125
143
  }
126
- Array.from({ length: 10 }, async (_, i) => await psB.publish(topic, uint8ArrayFromString('banana')));
144
+ await Promise.all([
145
+ waitForSubscriptionUpdate(psA, psB),
146
+ waitForSubscriptionUpdate(psB, psA)
147
+ ]);
148
+ Array.from({ length: 10 }, (_, i) => psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') })));
127
149
  return await defer.promise;
128
150
  });
129
151
  it('Unsubscribe from topic in nodeA', async () => {
130
152
  const defer = pDefer();
131
- psA.unsubscribe(topic);
132
- expect(psA.getTopics()).to.be.empty();
153
+ let callCount = 0;
133
154
  psB.addEventListener('pubsub:subscription-change', (evt) => {
134
- const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
135
- expect(psB.getPeers()).to.have.lengthOf(1);
136
- expect(psB.getTopics()).to.be.empty();
137
- expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
138
- expect(changedSubs).to.have.lengthOf(1);
139
- expect(changedSubs[0].topicID).to.equal(topic);
140
- expect(changedSubs[0].subscribe).to.equal(false);
141
- defer.resolve();
142
- }, {
143
- once: true
155
+ callCount++;
156
+ if (callCount === 1) {
157
+ // notice subscribe
158
+ const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
159
+ expect(psB.getPeers()).to.have.lengthOf(1);
160
+ expect(psB.getTopics()).to.be.empty();
161
+ expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
162
+ expect(changedSubs).to.have.lengthOf(1);
163
+ expect(changedSubs[0].topic).to.equal(topic);
164
+ expect(changedSubs[0].subscribe).to.equal(true);
165
+ }
166
+ else {
167
+ // notice unsubscribe
168
+ const { peerId: changedPeerId, subscriptions: changedSubs } = evt.detail;
169
+ expect(psB.getPeers()).to.have.lengthOf(1);
170
+ expect(psB.getTopics()).to.be.empty();
171
+ expect(changedPeerId).to.deep.equal(psB.getPeers()[0]);
172
+ expect(changedSubs).to.have.lengthOf(1);
173
+ expect(changedSubs[0].topic).to.equal(topic);
174
+ expect(changedSubs[0].subscribe).to.equal(false);
175
+ defer.resolve();
176
+ }
144
177
  });
178
+ psA.subscribe(topic);
179
+ expect(psA.getTopics()).to.not.be.empty();
180
+ psA.unsubscribe(topic);
181
+ expect(psA.getTopics()).to.be.empty();
145
182
  return await defer.promise;
146
183
  });
147
- it('Publish to a topic:Z in nodeA nodeB', async () => {
184
+ it.skip('Publish to a topic:Z in nodeA nodeB', async () => {
148
185
  const defer = pDefer();
149
- psA.addEventListener('Z', shouldNotHappen, {
186
+ const topic = 'Z';
187
+ psA.addEventListener(topic, shouldNotHappen, {
150
188
  once: true
151
189
  });
152
- psB.addEventListener('Z', shouldNotHappen, {
190
+ psB.addEventListener(topic, shouldNotHappen, {
153
191
  once: true
154
192
  });
193
+ await Promise.all([
194
+ waitForSubscriptionUpdate(psA, psB),
195
+ waitForSubscriptionUpdate(psB, psA)
196
+ ]);
155
197
  setTimeout(() => {
156
- psA.removeEventListener('Z', shouldNotHappen);
157
- psB.removeEventListener('Z', shouldNotHappen);
198
+ psA.removeEventListener(topic, shouldNotHappen);
199
+ psB.removeEventListener(topic, shouldNotHappen);
158
200
  defer.resolve();
159
201
  }, 100);
160
- void psB.publish('Z', uint8ArrayFromString('banana'));
161
- void psA.publish('Z', uint8ArrayFromString('banana'));
202
+ void psB.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
203
+ void psA.dispatchEvent(new CustomEvent(topic, { detail: uint8ArrayFromString('banana') }));
162
204
  return await defer.promise;
163
205
  });
164
206
  });
@@ -1 +1 @@
1
- {"version":3,"file":"two-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"two-nodes.js","sourceRoot":"","sources":["../../../src/pubsub/two-nodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PubsubBaseProtocol } from '@libp2p/pubsub';
2
+ export declare function waitForSubscriptionUpdate(a: PubsubBaseProtocol, b: PubsubBaseProtocol): Promise<void>;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAExD,wBAAsB,yBAAyB,CAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,iBAM5F"}
@@ -0,0 +1,9 @@
1
+ import { pEvent } from 'p-event';
2
+ import pWaitFor from 'p-wait-for';
3
+ export async function waitForSubscriptionUpdate(a, b) {
4
+ await pWaitFor(async () => {
5
+ const event = await pEvent(a, 'pubsub:subscription-change');
6
+ return event.detail.peerId.equals(b.peerId);
7
+ });
8
+ }
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/pubsub/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAA;AAIjC,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAE,CAAqB,EAAE,CAAqB;IAC3F,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE;QACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAoE,CAAC,EAAE,4BAA4B,CAAC,CAAA;QAE9H,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -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;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;iCAOlD,UAAU,KAAK,EAAE,YAAY,CAAC;AAAtD,wBAqJC"}
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;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;iCAOlD,UAAU,KAAK,EAAE,YAAY,CAAC;AAAtD,wBAgKC"}
@@ -19,10 +19,10 @@ export default (common) => {
19
19
  const onStreamPromise = defer();
20
20
  const onStreamEndPromise = defer();
21
21
  const listener = await common.setup({
22
- onStream: stream => {
22
+ onIncomingStream: (stream) => {
23
23
  onStreamPromise.resolve(stream);
24
24
  },
25
- onStreamEnd: stream => {
25
+ onStreamEnd: (stream) => {
26
26
  onStreamEndPromise.resolve(stream);
27
27
  }
28
28
  });
@@ -55,7 +55,7 @@ export default (common) => {
55
55
  const p = duplexPair();
56
56
  const onStreamPromise = defer();
57
57
  const dialer = await common.setup({
58
- onStream: stream => {
58
+ onIncomingStream: (stream) => {
59
59
  onStreamPromise.resolve(stream);
60
60
  }
61
61
  });
@@ -77,27 +77,29 @@ export default (common) => {
77
77
  const onDialerStreamPromise = defer();
78
78
  const onListenerStreamPromise = defer();
79
79
  const dialer = await common.setup({
80
- onStream: stream => {
80
+ onIncomingStream: (stream) => {
81
81
  onDialerStreamPromise.resolve(stream);
82
82
  }
83
83
  });
84
84
  const listener = await common.setup({
85
- onStream: stream => {
85
+ onIncomingStream: (stream) => {
86
86
  onListenerStreamPromise.resolve(stream);
87
87
  }
88
88
  });
89
89
  void pipe(p[0], dialer, p[0]);
90
90
  void pipe(p[1], listener, p[1]);
91
- const listenerConn = listener.newStream();
92
- const dialerConn = dialer.newStream();
93
- void drainAndClose(dialerConn);
94
- void drainAndClose(listenerConn);
95
- const dialerStream = await onDialerStreamPromise.promise;
96
- const listenerStream = await onListenerStreamPromise.promise;
97
- await drainAndClose(dialerStream);
98
- await drainAndClose(listenerStream);
99
- await drainAndClose(dialer);
100
- await drainAndClose(listener);
91
+ const dialerInitiatorStream = dialer.newStream();
92
+ const listenerInitiatorStream = listener.newStream();
93
+ await Promise.all([
94
+ drainAndClose(dialerInitiatorStream),
95
+ drainAndClose(listenerInitiatorStream),
96
+ onDialerStreamPromise.promise.then(async (stream) => await drainAndClose(stream)),
97
+ onListenerStreamPromise.promise.then(async (stream) => await drainAndClose(stream))
98
+ ]);
99
+ await Promise.all([
100
+ drainAndClose(dialer),
101
+ drainAndClose(listener)
102
+ ]);
101
103
  });
102
104
  it('Open a stream on one side, write, open a stream on the other side', async () => {
103
105
  const toString = (source) => map(source, (u) => uint8ArrayToString(u));
@@ -105,12 +107,12 @@ export default (common) => {
105
107
  const onDialerStreamPromise = defer();
106
108
  const onListenerStreamPromise = defer();
107
109
  const dialer = await common.setup({
108
- onStream: stream => {
110
+ onIncomingStream: (stream) => {
109
111
  onDialerStreamPromise.resolve(stream);
110
112
  }
111
113
  });
112
114
  const listener = await common.setup({
113
- onStream: stream => {
115
+ onIncomingStream: (stream) => {
114
116
  onListenerStreamPromise.resolve(stream);
115
117
  }
116
118
  });
@@ -120,11 +122,15 @@ export default (common) => {
120
122
  const listenerConn = listener.newStream();
121
123
  void pipe([uint8ArrayFromString('hey')], dialerConn);
122
124
  void pipe([uint8ArrayFromString('hello')], listenerConn);
123
- const listenerStream = await onListenerStreamPromise.promise;
124
- const dialerStream = await onDialerStreamPromise.promise;
125
- const listenerChunks = await pipe(listenerStream, toString, async (source) => await all(source));
125
+ const [dialerStream, listenerStream] = await Promise.all([
126
+ onDialerStreamPromise.promise,
127
+ onListenerStreamPromise.promise
128
+ ]);
129
+ const [listenerChunks, dialerChunks] = await Promise.all([
130
+ pipe(listenerStream, toString, async (source) => await all(source)),
131
+ pipe(dialerStream, toString, async (source) => await all(source))
132
+ ]);
126
133
  expect(listenerChunks).to.be.eql(['hey']);
127
- const dialerChunks = await pipe(dialerStream, toString, async (source) => await all(source));
128
134
  expect(dialerChunks).to.be.eql(['hello']);
129
135
  });
130
136
  });
@@ -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":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;iCAgBlD,UAAU,KAAK,EAAE,YAAY,CAAC;AAAtD,wBAiFC"}
1
+ {"version":3,"file":"close-test.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/close-test.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;iCAelD,UAAU,KAAK,EAAE,YAAY,CAAC;AAAtD,wBAuFC"}
@@ -1,14 +1,11 @@
1
1
  /* eslint max-nested-callbacks: ["error", 8] */
2
2
  import { pipe } from 'it-pipe';
3
3
  import { duplexPair } from 'it-pair/duplex';
4
- import { abortableSource, abortableDuplex } from 'abortable-iterator';
4
+ import { abortableSource } from 'abortable-iterator';
5
5
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
6
6
  import drain from 'it-drain';
7
- import { mockUpgrader } from '../mocks/upgrader.js';
8
- import { mockMultiaddrConnection } from '../mocks/multiaddr-connection.js';
9
7
  import { expect } from 'aegir/utils/chai.js';
10
8
  import delay from 'delay';
11
- import { createEd25519PeerId } from '@libp2p/peer-id-factory';
12
9
  function randomBuffer() {
13
10
  return uint8ArrayFromString(Math.random().toString());
14
11
  }
@@ -23,38 +20,38 @@ const infiniteRandom = {
23
20
  export default (common) => {
24
21
  describe('close', () => {
25
22
  it('closing underlying socket closes streams', async () => {
26
- const localPeer = await createEd25519PeerId();
27
- const remotePeer = await createEd25519PeerId();
28
- const muxer = await common.setup({
29
- onStream: (stream) => {
30
- void pipe(stream, drain);
23
+ let openedStreams = 0;
24
+ const expectedStreams = 5;
25
+ const dialer = await common.setup();
26
+ // Listener is echo server :)
27
+ const listener = await common.setup({
28
+ onIncomingStream: (stream) => {
29
+ openedStreams++;
30
+ void pipe(stream, stream);
31
31
  }
32
32
  });
33
- const upgrader = mockUpgrader({ muxer });
34
- const [local, remote] = duplexPair();
35
- const controller = new AbortController();
36
- const abortableRemote = abortableDuplex(remote, controller.signal, {
37
- returnOnAbort: true
38
- });
39
- await upgrader.upgradeInbound(mockMultiaddrConnection(abortableRemote, localPeer));
40
- const dialerConn = await upgrader.upgradeOutbound(mockMultiaddrConnection(local, remotePeer));
41
- const s1 = await dialerConn.newStream(['']);
42
- const s2 = await dialerConn.newStream(['']);
43
- // close the remote in a bit
44
- setTimeout(() => controller.abort(), 50);
45
- const s1Result = pipe(infiniteRandom, s1.stream, drain);
46
- const s2Result = pipe(infiniteRandom, s2.stream, drain);
47
- // test is complete when all muxed streams have closed
48
- await s1Result;
49
- await s2Result;
50
- expect(muxer.streams).to.be.empty();
33
+ const p = duplexPair();
34
+ void pipe(p[0], dialer, p[0]);
35
+ void pipe(p[1], listener, p[1]);
36
+ const streams = Array(expectedStreams).fill(0).map(() => dialer.newStream());
37
+ void Promise.all(streams.map(async (stream) => {
38
+ return await pipe(infiniteRandom, stream, drain);
39
+ }));
40
+ expect(dialer.streams).to.have.lengthOf(expectedStreams);
41
+ // Pause, and then send some data and close the dialer
42
+ await delay(50);
43
+ await pipe([randomBuffer()], dialer, drain);
44
+ expect(openedStreams).to.have.equal(expectedStreams);
45
+ expect(dialer.streams).to.have.lengthOf(0);
51
46
  });
52
47
  it('closing one of the muxed streams doesn\'t close others', async () => {
53
48
  const p = duplexPair();
54
49
  const dialer = await common.setup();
55
50
  // Listener is echo server :)
56
51
  const listener = await common.setup({
57
- onStream: async (stream) => await pipe(stream, stream)
52
+ onIncomingStream: (stream) => {
53
+ void pipe(stream, stream);
54
+ }
58
55
  });
59
56
  void pipe(p[0], dialer, p[0]);
60
57
  void pipe(p[1], listener, p[1]);
@@ -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 +1 @@
1
- {"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;8EAEX,QAAQ,KAAK,CAAC,YAAY,MAAM,QAAQ,MAAM;AAA7G,wBA2CC"}
1
+ {"version":3,"file":"spawner.d.ts","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;8EAEX,QAAQ,KAAK,CAAC,YAAY,MAAM,QAAQ,MAAM;AAA7G,wBAwCC"}
@@ -9,9 +9,8 @@ export default async (createMuxer, nStreams, nMsg, limit) => {
9
9
  const [dialerSocket, listenerSocket] = duplexPair();
10
10
  const msg = uint8ArrayFromString('simple msg');
11
11
  const listener = await createMuxer({
12
- onStream: async (stream) => {
13
- await pipe(stream, drain);
14
- void pipe([], stream);
12
+ onIncomingStream: (stream) => {
13
+ void pipe(stream, drain).then(async () => await pipe([], stream));
15
14
  }
16
15
  });
17
16
  const dialer = await createMuxer();
@@ -1 +1 @@
1
- {"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,eAAe,KAAK,EAAE,WAAuD,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;IAC/H,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,UAAU,EAAc,CAAA;IAE/D,MAAM,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAE9C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACzB,MAAM,IAAI,CACR,MAAM,EACN,KAAK,CACN,CAAA;YAED,KAAK,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QACvB,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;IAElC,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;IACnD,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IAE7C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAA,CAAC,sBAAsB;QAE9C,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,KAAK,SAAU,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,GAAG,CAAA;aACV;QACH,CAAC,EAAE,CAAC,EACJ,MAAM,EACN,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAA;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAA;IAEzC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CACxF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"spawner.js","sourceRoot":"","sources":["../../../src/stream-muxer/spawner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,GAAG,MAAM,QAAQ,CAAA;AAGxB,eAAe,KAAK,EAAE,WAAuD,EAAE,QAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE;IAC/H,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,UAAU,EAAc,CAAA;IAE/D,MAAM,GAAG,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAE9C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC;QACjC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,KAAK,IAAI,CACP,MAAM,EACN,KAAK,CACN,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAA;IAElC,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAA;IACnD,KAAK,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;IAE7C,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAA,CAAC,sBAAsB;QAE9C,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,KAAK,SAAU,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7B,MAAM,GAAG,CAAA;aACV;QACH,CAAC,EAAE,CAAC,EACJ,MAAM,EACN,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CACpC,CAAA;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3B,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAA;IAEzC,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,WAAW,EAAE,CAAC,CAAC,CACxF,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dial-test.d.ts","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAa,MAAM,YAAY,CAAA;iCAGrD,UAAU,qBAAqB,EAAE,SAAS,CAAC;AAAnE,wBAmFC"}
1
+ {"version":3,"file":"dial-test.d.ts","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAa,MAAM,YAAY,CAAA;iCAIrD,UAAU,qBAAqB,EAAE,SAAS,CAAC;AAAnE,wBAkGC"}
@@ -1,20 +1,26 @@
1
1
  import { expect } from 'aegir/utils/chai.js';
2
2
  import { isValidTick } from '../utils/is-valid-tick.js';
3
3
  import { mockUpgrader } from '../mocks/upgrader.js';
4
- import { goodbye } from 'it-goodbye';
4
+ import { mockRegistrar } from '../mocks/registrar.js';
5
5
  import all from 'it-all';
6
6
  import { pipe } from 'it-pipe';
7
7
  import { AbortError } from '@libp2p/interfaces/errors';
8
8
  import sinon from 'sinon';
9
9
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
10
+ import drain from 'it-drain';
10
11
  export default (common) => {
11
12
  describe('dial', () => {
12
- const upgrader = mockUpgrader();
13
+ let upgrader;
14
+ let registrar;
13
15
  let addrs;
14
16
  let transport;
15
17
  let connector;
16
18
  let listener;
17
19
  before(async () => {
20
+ registrar = mockRegistrar();
21
+ upgrader = mockUpgrader({
22
+ registrar
23
+ });
18
24
  ({ addrs, transport, connector } = await common.setup({ upgrader }));
19
25
  });
20
26
  after(async () => {
@@ -30,11 +36,16 @@ export default (common) => {
30
36
  return await listener.close();
31
37
  });
32
38
  it('simple', async () => {
39
+ const protocol = '/hello/1.0.0';
40
+ void registrar.handle(protocol, (evt) => {
41
+ void pipe([
42
+ uint8ArrayFromString('hey')
43
+ ], evt.detail.stream, drain);
44
+ });
33
45
  const upgradeSpy = sinon.spy(upgrader, 'upgradeOutbound');
34
46
  const conn = await transport.dial(addrs[0]);
35
- const { stream } = await conn.newStream(['/hello']);
36
- const s = goodbye({ source: [uint8ArrayFromString('hey')], sink: async (source) => await all(source) });
37
- const result = await pipe(s, stream, s);
47
+ const { stream } = await conn.newStream([protocol]);
48
+ const result = await all(stream.source);
38
49
  expect(upgradeSpy.callCount).to.equal(1);
39
50
  await expect(upgradeSpy.getCall(0).returnValue).to.eventually.equal(conn);
40
51
  expect(result.length).to.equal(1);
@@ -1 +1 @@
1
- {"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dial-test.js","sourceRoot":"","sources":["../../../src/transport/dial-test.ts"],"names":[],"mappings":"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"}