@libp2p/interface-compliance-tests 6.1.7 → 6.1.8-02f285fc8

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 (46) hide show
  1. package/dist/src/matchers.d.ts +6 -0
  2. package/dist/src/matchers.d.ts.map +1 -1
  3. package/dist/src/matchers.js +6 -0
  4. package/dist/src/matchers.js.map +1 -1
  5. package/dist/src/mocks/muxer.d.ts +8 -3
  6. package/dist/src/mocks/muxer.d.ts.map +1 -1
  7. package/dist/src/mocks/muxer.js +15 -6
  8. package/dist/src/mocks/muxer.js.map +1 -1
  9. package/dist/src/mocks/upgrader.d.ts.map +1 -1
  10. package/dist/src/mocks/upgrader.js +0 -1
  11. package/dist/src/mocks/upgrader.js.map +1 -1
  12. package/dist/src/transport/index.d.ts +23 -10
  13. package/dist/src/transport/index.d.ts.map +1 -1
  14. package/dist/src/transport/index.js +217 -6
  15. package/dist/src/transport/index.js.map +1 -1
  16. package/dist/src/transport/utils.d.ts +17 -0
  17. package/dist/src/transport/utils.d.ts.map +1 -0
  18. package/dist/src/transport/utils.js +63 -0
  19. package/dist/src/transport/utils.js.map +1 -0
  20. package/package.json +15 -13
  21. package/src/matchers.ts +6 -0
  22. package/src/mocks/muxer.ts +24 -10
  23. package/src/mocks/upgrader.ts +1 -3
  24. package/src/transport/index.ts +314 -16
  25. package/src/transport/utils.ts +76 -0
  26. package/dist/src/connection/index.d.ts +0 -5
  27. package/dist/src/connection/index.d.ts.map +0 -1
  28. package/dist/src/connection/index.js +0 -135
  29. package/dist/src/connection/index.js.map +0 -1
  30. package/dist/src/transport/dial-test.d.ts +0 -5
  31. package/dist/src/transport/dial-test.d.ts.map +0 -1
  32. package/dist/src/transport/dial-test.js +0 -99
  33. package/dist/src/transport/dial-test.js.map +0 -1
  34. package/dist/src/transport/filter-test.d.ts +0 -5
  35. package/dist/src/transport/filter-test.d.ts.map +0 -1
  36. package/dist/src/transport/filter-test.js +0 -24
  37. package/dist/src/transport/filter-test.js.map +0 -1
  38. package/dist/src/transport/listen-test.d.ts +0 -5
  39. package/dist/src/transport/listen-test.d.ts.map +0 -1
  40. package/dist/src/transport/listen-test.js +0 -154
  41. package/dist/src/transport/listen-test.js.map +0 -1
  42. package/dist/typedoc-urls.json +0 -49
  43. package/src/connection/index.ts +0 -166
  44. package/src/transport/dial-test.ts +0 -125
  45. package/src/transport/filter-test.ts +0 -32
  46. package/src/transport/listen-test.ts +0 -192
@@ -1,6 +1,12 @@
1
1
  import Sinon from 'sinon';
2
2
  import type { PeerId } from '@libp2p/interface';
3
3
  import type { Multiaddr } from '@multiformats/multiaddr';
4
+ /**
5
+ * @deprecated PeerIds can be passed to sinon matchers directly
6
+ */
4
7
  export declare function matchPeerId(peerId: PeerId): Sinon.SinonMatcher;
8
+ /**
9
+ * @deprecated Multiaddrs can be passed to sinon matchers directly
10
+ */
5
11
  export declare function matchMultiaddr(ma: Multiaddr): Sinon.SinonMatcher;
6
12
  //# sourceMappingURL=matchers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,wBAAgB,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAE/D;AAED,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CAEjE"}
1
+ {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,YAAY,CAE/D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,KAAK,CAAC,YAAY,CAEjE"}
@@ -1,7 +1,13 @@
1
1
  import Sinon from 'sinon';
2
+ /**
3
+ * @deprecated PeerIds can be passed to sinon matchers directly
4
+ */
2
5
  export function matchPeerId(peerId) {
3
6
  return Sinon.match(p => p.toString() === peerId.toString());
4
7
  }
8
+ /**
9
+ * @deprecated Multiaddrs can be passed to sinon matchers directly
10
+ */
5
11
  export function matchMultiaddr(ma) {
6
12
  return Sinon.match(m => m.toString() === ma.toString());
7
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,UAAU,WAAW,CAAE,MAAc;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAAE,EAAa;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"matchers.js","sourceRoot":"","sources":["../../src/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,MAAc;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAE,EAAa;IAC3C,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AACzD,CAAC"}
@@ -12,9 +12,14 @@ interface ResetMessage {
12
12
  type: 'reset';
13
13
  direction: Direction;
14
14
  }
15
- interface CloseMessage {
15
+ interface CloseWriteMessage {
16
16
  id: string;
17
- type: 'close';
17
+ type: 'closeWrite';
18
+ direction: Direction;
19
+ }
20
+ interface CloseReadMessage {
21
+ id: string;
22
+ type: 'closeRead';
18
23
  direction: Direction;
19
24
  }
20
25
  interface CreateMessage {
@@ -22,7 +27,7 @@ interface CreateMessage {
22
27
  type: 'create';
23
28
  direction: 'outbound';
24
29
  }
25
- type StreamMessage = DataMessage | ResetMessage | CloseMessage | CreateMessage;
30
+ type StreamMessage = DataMessage | ResetMessage | CloseWriteMessage | CloseReadMessage | CreateMessage;
26
31
  export interface MockMuxedStreamInit extends AbstractStreamInit {
27
32
  push: Pushable<StreamMessage>;
28
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAKvF,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,aAAa,CAAA;AAIrD,OAAO,KAAK,EAAgB,SAAS,EAAuB,kBAAkB,EAAmB,MAAM,mBAAmB,CAAA;AAM1H,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,UAAU,CAAA;CACtB;AAED,KAAK,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAA;AAE9E,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAC9B;AA0QD,wBAAgB,SAAS,IAAK,kBAAkB,CAE/C"}
1
+ {"version":3,"file":"muxer.d.ts","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAKvF,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,aAAa,CAAA;AAIrD,OAAO,KAAK,EAAgB,SAAS,EAAuB,kBAAkB,EAAmB,MAAM,mBAAmB,CAAA;AAM1H,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,SAAS,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,SAAS,CAAA;CACrB;AAED,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,UAAU,CAAA;CACtB;AAED,KAAK,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAEtG,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;CAC9B;AAkRD,wBAAgB,SAAS,IAAK,kBAAkB,CAE/C"}
@@ -45,13 +45,18 @@ class MuxedStream extends AbstractStream {
45
45
  sendCloseWrite() {
46
46
  const closeMsg = {
47
47
  id: this.id,
48
- type: 'close',
48
+ type: 'closeWrite',
49
49
  direction: this.direction
50
50
  };
51
51
  this.push.push(closeMsg);
52
52
  }
53
53
  sendCloseRead() {
54
- // does not support close read, only close write
54
+ const closeMsg = {
55
+ id: this.id,
56
+ type: 'closeRead',
57
+ direction: this.direction
58
+ };
59
+ this.push.push(closeMsg);
55
60
  }
56
61
  }
57
62
  class MockMuxer {
@@ -98,11 +103,11 @@ class MockMuxer {
98
103
  this.handleMessage(message);
99
104
  }
100
105
  });
101
- this.log('muxed stream ended');
106
+ this.log('muxer ended');
102
107
  this.input.end();
103
108
  }
104
109
  catch (err) {
105
- this.log('muxed stream errored', err);
110
+ this.log.error('muxer errored - %e', err);
106
111
  this.input.end(err);
107
112
  }
108
113
  }
@@ -131,10 +136,14 @@ class MockMuxer {
131
136
  this.log('-> reset stream %s %s', muxedStream.direction, muxedStream.id);
132
137
  muxedStream.reset();
133
138
  }
134
- else if (message.type === 'close') {
135
- this.log('-> closing stream %s %s', muxedStream.direction, muxedStream.id);
139
+ else if (message.type === 'closeWrite') {
140
+ this.log('-> closing writeable end of stream %s %s', muxedStream.direction, muxedStream.id);
136
141
  muxedStream.remoteCloseWrite();
137
142
  }
143
+ else if (message.type === 'closeRead') {
144
+ this.log('-> closing readable end of stream %s %s', muxedStream.direction, muxedStream.id);
145
+ muxedStream.remoteCloseRead();
146
+ }
138
147
  }
139
148
  get streams() {
140
149
  return Array.from(this.registryRecipientStreams.values())
@@ -1 +1 @@
1
- {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"muxer.js","sourceRoot":"","sources":["../../../src/mocks/muxer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAmC,gBAAgB,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAA;AACnI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;CACxC;AAoCD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,QAAQ,CAEnE"}
1
+ {"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAmC,gBAAgB,EAAE,QAAQ,EAAmB,MAAM,mBAAmB,CAAA;AACnI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;CACxC;AAkCD,wBAAgB,YAAY,CAAE,IAAI,GAAE,gBAAqB,GAAG,QAAQ,CAEnE"}
@@ -22,7 +22,6 @@ class MockUpgrader {
22
22
  ...opts
23
23
  });
24
24
  this.events?.safeDispatchEvent('connection:open', { detail: connection });
25
- return connection;
26
25
  }
27
26
  }
28
27
  export function mockUpgrader(init = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAShD,MAAM,YAAY;IACC,SAAS,CAAY;IACrB,MAAM,CAAiC;IAExD,YAAa,IAAsB;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,mBAAwC,EAAE,OAAwB,EAAE;QACzF,MAAM,UAAU,GAAG,cAAc,CAAC,mBAAmB,EAAE;YACrD,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,IAAI;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,mBAAwC,EAAE,OAAwB,EAAE;QACxF,MAAM,UAAU,GAAG,cAAc,CAAC,mBAAmB,EAAE;YACrD,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,IAAI;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAE,OAAyB,EAAE;IACvD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../../src/mocks/upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAShD,MAAM,YAAY;IACC,SAAS,CAAY;IACrB,MAAM,CAAiC;IAExD,YAAa,IAAsB;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,eAAe,CAAE,mBAAwC,EAAE,OAAwB,EAAE;QACzF,MAAM,UAAU,GAAG,cAAc,CAAC,mBAAmB,EAAE;YACrD,SAAS,EAAE,UAAU;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,IAAI;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QAEzE,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,mBAAwC,EAAE,OAAwB,EAAE;QACxF,MAAM,UAAU,GAAG,cAAc,CAAC,mBAAmB,EAAE;YACrD,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,IAAI;SACR,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAE,OAAyB,EAAE;IACvD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC"}
@@ -1,16 +1,29 @@
1
1
  import type { TestSetup } from '../index.js';
2
- import type { Transport } from '@libp2p/interface';
3
2
  import type { Multiaddr } from '@multiformats/multiaddr';
4
- export interface Connector {
5
- delay(ms: number): void;
6
- restore(): void;
7
- }
3
+ import type { MultiaddrMatcher } from '@multiformats/multiaddr-matcher';
4
+ import type { Libp2pInit } from 'libp2p';
8
5
  export interface TransportTestFixtures {
9
- listenAddrs: Multiaddr[];
10
- dialAddrs: Multiaddr[];
11
- dialer: Transport;
12
- listener: Transport;
13
- connector: Connector;
6
+ /**
7
+ * Addresses that will be used to dial listeners - both addresses must resolve
8
+ * to the same node
9
+ */
10
+ dialAddrs?: [Multiaddr, Multiaddr];
11
+ /**
12
+ * Filter out any addresses that cannot be dialed by the transport
13
+ */
14
+ dialMultiaddrMatcher: MultiaddrMatcher;
15
+ /**
16
+ * Filter out any addresses that cannot be listened on by the transport
17
+ */
18
+ listenMultiaddrMatcher: MultiaddrMatcher;
19
+ /**
20
+ * Config that creates a libp2p node that can dial a listener
21
+ */
22
+ dialer: Libp2pInit;
23
+ /**
24
+ * Config that creates a libp2p node that can accept dials
25
+ */
26
+ listener?: Libp2pInit;
14
27
  }
15
28
  declare const _default: (common: TestSetup<TransportTestFixtures>) => void;
16
29
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,SAAS,EAAE,SAAS,EAAE,CAAA;IACtB,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;CACrB;iCAEuB,UAAU,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBAMC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AASA,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;iCA0BuB,UAAU,qBAAqB,CAAC,KAAG,IAAI;AAA/D,wBA+PC"}
@@ -1,11 +1,222 @@
1
- import dial from './dial-test.js';
2
- import filter from './filter-test.js';
3
- import listen from './listen-test.js';
1
+ import { stop } from '@libp2p/interface';
2
+ import { expect } from 'aegir/chai';
3
+ import delay from 'delay';
4
+ import pDefer from 'p-defer';
5
+ import { pEvent } from 'p-event';
6
+ import pWaitFor from 'p-wait-for';
7
+ import { raceSignal } from 'race-signal';
8
+ import { isValidTick } from '../is-valid-tick.js';
9
+ import { createPeer, getTransportManager, getUpgrader, slowNetwork } from './utils.js';
10
+ async function getSetup(common) {
11
+ const setup = await common.setup();
12
+ const dialer = await createPeer(setup.dialer);
13
+ let listener;
14
+ if (setup.listener != null) {
15
+ listener = await createPeer(setup.listener);
16
+ }
17
+ const dialAddrs = listener?.getMultiaddrs() ?? setup.dialAddrs;
18
+ if (dialAddrs == null) {
19
+ throw new Error('Listener config or dial addresses must be specified');
20
+ }
21
+ return {
22
+ dialer,
23
+ listener,
24
+ dialAddrs: dialAddrs.filter(ma => setup.dialMultiaddrMatcher.exactMatch(ma)),
25
+ dialMultiaddrMatcher: setup.dialMultiaddrMatcher,
26
+ listenMultiaddrMatcher: setup.listenMultiaddrMatcher
27
+ };
28
+ }
4
29
  export default (common) => {
5
30
  describe('interface-transport', () => {
6
- dial(common);
7
- listen(common);
8
- filter(common);
31
+ let dialer;
32
+ let listener;
33
+ let dialAddrs;
34
+ let dialMultiaddrMatcher;
35
+ afterEach(async () => {
36
+ await stop(dialer, listener);
37
+ await common.teardown();
38
+ });
39
+ it('simple', async () => {
40
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
41
+ const input = Uint8Array.from([0, 1, 2, 3, 4]);
42
+ const output = await dialer.services.echo.echo(dialAddrs[0], input, {
43
+ signal: AbortSignal.timeout(5000)
44
+ });
45
+ expect(output).to.equalBytes(input);
46
+ });
47
+ it('should listen on multiple addresses', async () => {
48
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
49
+ const input = Uint8Array.from([0, 1, 2, 3, 4]);
50
+ await expect(dialer.services.echo.echo(dialAddrs[0], input, {
51
+ signal: AbortSignal.timeout(5000)
52
+ })).to.eventually.deep.equal(input);
53
+ await expect(dialer.services.echo.echo(dialAddrs[1], input, {
54
+ signal: AbortSignal.timeout(5000)
55
+ })).to.eventually.deep.equal(input);
56
+ });
57
+ it('can close connections', async () => {
58
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
59
+ const conn = await dialer.dial(dialAddrs[0], {
60
+ signal: AbortSignal.timeout(5000)
61
+ });
62
+ await conn.close();
63
+ expect(isValidTick(conn.timeline.close)).to.equal(true);
64
+ });
65
+ it('abort before dialing throws AbortError', async () => {
66
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
67
+ const controller = new AbortController();
68
+ controller.abort();
69
+ await expect(dialer.dial(dialAddrs[0], {
70
+ signal: controller.signal
71
+ })).to.eventually.be.rejected()
72
+ .with.property('name', 'AbortError');
73
+ });
74
+ it('abort while dialing throws AbortError', async () => {
75
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
76
+ slowNetwork(dialer, 100);
77
+ const controller = new AbortController();
78
+ setTimeout(() => { controller.abort(); }, 50);
79
+ await expect(dialer.dial(dialAddrs[0], {
80
+ signal: controller.signal
81
+ })).to.eventually.be.rejected()
82
+ .with.property('name', 'AbortError');
83
+ });
84
+ it('should close all streams when the connection closes', async () => {
85
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
86
+ let incomingConnectionPromise;
87
+ if (listener != null) {
88
+ incomingConnectionPromise = pDefer();
89
+ listener.addEventListener('connection:open', (event) => {
90
+ const conn = event.detail;
91
+ if (conn.remotePeer.equals(dialer.peerId)) {
92
+ incomingConnectionPromise?.resolve(conn);
93
+ }
94
+ });
95
+ }
96
+ const connection = await dialer.dial(dialAddrs[0]);
97
+ let remoteConn;
98
+ if (incomingConnectionPromise != null) {
99
+ remoteConn = await incomingConnectionPromise.promise;
100
+ }
101
+ const streams = [];
102
+ for (let i = 0; i < 5; i++) {
103
+ streams.push(await connection.newStream('/echo/1.0.0', {
104
+ maxOutboundStreams: 5
105
+ }));
106
+ }
107
+ // Close the connection and verify all streams have been closed
108
+ await connection.close();
109
+ await pWaitFor(() => connection.streams.length === 0, {
110
+ timeout: 5000
111
+ });
112
+ if (remoteConn != null) {
113
+ await pWaitFor(() => remoteConn.streams.length === 0, {
114
+ timeout: 5000
115
+ });
116
+ }
117
+ expect(streams.find(stream => stream.status === 'open')).to.be.undefined();
118
+ });
119
+ it('should not handle connection if upgradeInbound rejects', async function () {
120
+ ({ dialer, listener, dialAddrs, dialMultiaddrMatcher } = await getSetup(common));
121
+ if (listener == null) {
122
+ return this.skip();
123
+ }
124
+ const upgrader = getUpgrader(listener);
125
+ upgrader.upgradeInbound = async () => {
126
+ await delay(100);
127
+ throw new Error('Oh noes!');
128
+ };
129
+ await expect(dialer.dial(dialAddrs[0])).to.eventually.be.rejected
130
+ .with.property('name', 'EncryptionFailedError');
131
+ expect(dialer.getConnections().filter(conn => {
132
+ return dialMultiaddrMatcher.exactMatch(conn.remoteAddr);
133
+ })).to.have.lengthOf(0);
134
+ if (listener != null) {
135
+ const remoteConnections = listener.getConnections(dialer.peerId)
136
+ .filter(conn => dialMultiaddrMatcher.exactMatch(conn.remoteAddr));
137
+ expect(remoteConnections).to.have.lengthOf(0);
138
+ }
139
+ });
140
+ it('should omit peerid in listening addresses', async function () {
141
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
142
+ if (listener == null) {
143
+ return this.skip();
144
+ }
145
+ const tm = getTransportManager(listener);
146
+ const transportListeners = tm.getListeners();
147
+ for (const transportListener of transportListeners) {
148
+ for (const ma of transportListener.getAddrs()) {
149
+ expect(ma.toString()).to.not.include(`/p2p/${listener.peerId}`);
150
+ }
151
+ }
152
+ });
153
+ it('should handle one big write', async function () {
154
+ const timeout = 120_000;
155
+ this.timeout(timeout);
156
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
157
+ const input = new Uint8Array(1024 * 1024 * 10).fill(5);
158
+ const output = await dialer.services.echo.echo(dialAddrs[0], input, {
159
+ signal: AbortSignal.timeout(timeout)
160
+ });
161
+ expect(output).to.equalBytes(input);
162
+ });
163
+ it('should handle many small writes', async function () {
164
+ const timeout = 120_000;
165
+ this.timeout(timeout);
166
+ ({ dialer, listener, dialAddrs } = await getSetup(common));
167
+ for (let i = 0; i < 2000; i++) {
168
+ const input = new Uint8Array(1024).fill(5);
169
+ const output = await dialer.services.echo.echo(dialAddrs[0], input, {
170
+ signal: AbortSignal.timeout(timeout)
171
+ });
172
+ expect(output).to.equalBytes(input);
173
+ }
174
+ });
175
+ });
176
+ describe('events', () => {
177
+ let dialer;
178
+ let listener;
179
+ let listenMultiaddrMatcher;
180
+ afterEach(async () => {
181
+ await stop(dialer, listener);
182
+ await common.teardown();
183
+ });
184
+ it('emits listening', async function () {
185
+ ({ dialer, listener, listenMultiaddrMatcher } = await getSetup(common));
186
+ if (listener == null) {
187
+ return this.skip();
188
+ }
189
+ await listener.stop();
190
+ const transportListeningPromise = pDefer();
191
+ listener.addEventListener('transport:listening', (event) => {
192
+ const transportListener = event.detail;
193
+ if (transportListener.getAddrs().some(ma => listenMultiaddrMatcher.exactMatch(ma))) {
194
+ transportListeningPromise.resolve();
195
+ }
196
+ });
197
+ await listener.start();
198
+ await raceSignal(transportListeningPromise.promise, AbortSignal.timeout(1000), {
199
+ errorMessage: 'Did not emit listening event'
200
+ });
201
+ });
202
+ it('emits close', async function () {
203
+ ({ dialer, listener } = await getSetup(common));
204
+ if (listener == null) {
205
+ return this.skip();
206
+ }
207
+ const transportManager = getTransportManager(listener);
208
+ const transportListener = transportManager.getListeners()
209
+ .filter(listener => listener.getAddrs().some(ma => listenMultiaddrMatcher.exactMatch(ma)))
210
+ .pop();
211
+ if (transportListener == null) {
212
+ throw new Error('Could not find address listener');
213
+ }
214
+ const p = pEvent(transportListener, 'close');
215
+ await listener.stop();
216
+ await raceSignal(p, AbortSignal.timeout(1000), {
217
+ errorMessage: 'Did not emit close event'
218
+ });
219
+ });
9
220
  });
10
221
  };
11
222
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,gBAAgB,CAAA;AACjC,OAAO,MAAM,MAAM,kBAAkB,CAAA;AACrC,OAAO,MAAM,MAAM,kBAAkB,CAAA;AAkBrC,eAAe,CAAC,MAAwC,EAAQ,EAAE;IAChE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,MAAM,CAAC,CAAA;QACZ,MAAM,CAAC,MAAM,CAAC,CAAA;QACd,MAAM,CAAC,MAAM,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAqCtF,KAAK,UAAU,QAAQ,CAAE,MAAwC;IAC/D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,QAAQ,CAAA;IAEZ,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC3B,QAAQ,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,EAAE,aAAa,EAAE,IAAI,KAAK,CAAC,SAAS,CAAA;IAE9D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;IAED,OAAO;QACL,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5E,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;QAChD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;KACrD,CAAA;AACH,CAAC;AAED,eAAe,CAAC,MAAwC,EAAQ,EAAE;IAChE,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAI,MAA8B,CAAA;QAClC,IAAI,QAA4C,CAAA;QAChD,IAAI,SAAsB,CAAA;QAC1B,IAAI,oBAAsC,CAAA;QAE1C,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC5B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YACtB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;gBAClE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAE9C,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;gBAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAEnC,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;gBAC1D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC3C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAA;YAEF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,UAAU,CAAC,KAAK,EAAE,CAAA;YAElB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;iBAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1D,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAExB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,UAAU,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAE5C,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACrC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;iBAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,IAAI,yBAAkE,CAAA;YAEtE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,yBAAyB,GAAG,MAAM,EAAc,CAAA;gBAEhD,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;oBAEzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1C,yBAAyB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,IAAI,UAAkC,CAAA;YAEtC,IAAI,yBAAyB,IAAI,IAAI,EAAE,CAAC;gBACtC,UAAU,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAA;YACtD,CAAC;YAED,MAAM,OAAO,GAAa,EAAE,CAAA;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE;oBACrD,kBAAkB,EAAE,CAAC;iBACtB,CAAC,CAAC,CAAA;YACL,CAAC;YAED,+DAA+D;YAC/D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;YAExB,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,OAAO,EAAE,IAAI;aACd,CAAC,CAAA;YAEF,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACpD,OAAO,EAAE,IAAI;iBACd,CAAC,CAAA;YACJ,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAA;QAC5E,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK;YAChE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAEhF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;YACtC,QAAQ,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE;gBACnC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;YAC7B,CAAC,CAAA;YAED,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ;iBAC9D,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;YAEjD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC3C,OAAO,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACzD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAEvB,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;qBAC7D,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;gBACnE,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC/C,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK;YACnD,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YACxC,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;YAE5C,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;gBACnD,KAAK,MAAM,EAAE,IAAI,iBAAiB,CAAC,QAAQ,EAAE,EAAE,CAAC;oBAC9C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBACjE,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6BAA6B,EAAE,KAAK;YACrC,MAAM,OAAO,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;gBAClE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;aACrC,CAAC,CAAA;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK;YACzC,MAAM,OAAO,GAAG,OAAO,CAAA;YACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;oBAClE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;iBACrC,CAAC,CAAA;gBAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YACrC,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,MAA8B,CAAA;QAClC,IAAI,QAA4C,CAAA;QAChD,IAAI,sBAAwC,CAAA;QAE5C,SAAS,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC5B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iBAAiB,EAAE,KAAK;YACzB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAEvE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAErB,MAAM,yBAAyB,GAAG,MAAM,EAAE,CAAA;YAE1C,QAAQ,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAA;gBAEtC,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACnF,yBAAyB,CAAC,OAAO,EAAE,CAAA;gBACrC,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;YAEtB,MAAM,UAAU,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7E,YAAY,EAAE,8BAA8B;aAC7C,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,aAAa,EAAE,KAAK;YACrB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;YAE/C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;YAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;YACtD,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,YAAY,EAAE;iBACtD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;iBACzF,GAAG,EAAE,CAAA;YAER,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACpD,CAAC;YAED,MAAM,CAAC,GAAG,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;YAE5C,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAErB,MAAM,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7C,YAAY,EAAE,0BAA0B;aACzC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ import type { Echo } from '@libp2p/echo';
2
+ import type { Libp2p, Upgrader } from '@libp2p/interface';
3
+ import type { TransportManager } from '@libp2p/interface-internal';
4
+ import type { Libp2pOptions } from 'libp2p';
5
+ export declare function createPeer(config?: Partial<Libp2pOptions>): Promise<Libp2p<{
6
+ echo: Echo;
7
+ }>>;
8
+ /**
9
+ * Monkey patch the upgrader in the passed libp2p to add latency to any
10
+ * multiaddr connections upgraded to connections - this is to work with
11
+ * transports that have their own muxers/encrypters and do not support
12
+ * connection protection
13
+ */
14
+ export declare function slowNetwork(libp2p: any, latency: number): void;
15
+ export declare function getUpgrader(libp2p: any): Upgrader;
16
+ export declare function getTransportManager(libp2p: any): TransportManager;
17
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/transport/utils.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,wBAAsB,UAAU,CAAE,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC,CAsBtG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAuB/D;AAED,wBAAgB,WAAW,CAAE,MAAM,EAAE,GAAG,GAAG,QAAQ,CAElD;AAED,wBAAgB,mBAAmB,CAAE,MAAM,EAAE,GAAG,GAAG,gBAAgB,CAElE"}
@@ -0,0 +1,63 @@
1
+ /* eslint-env mocha */
2
+ import { echo } from '@libp2p/echo';
3
+ import { memory } from '@libp2p/memory';
4
+ import { plaintext } from '@libp2p/plaintext';
5
+ import delay from 'delay';
6
+ import map from 'it-map';
7
+ import { createLibp2p } from 'libp2p';
8
+ import { mockMuxer } from '../mocks/muxer.js';
9
+ export async function createPeer(config = {}) {
10
+ return createLibp2p({
11
+ transports: [
12
+ memory()
13
+ ],
14
+ connectionEncrypters: [
15
+ plaintext()
16
+ ],
17
+ streamMuxers: [
18
+ () => mockMuxer()
19
+ ],
20
+ connectionGater: {
21
+ denyDialMultiaddr: () => false
22
+ },
23
+ ...config,
24
+ services: {
25
+ ...config.services,
26
+ echo: echo({
27
+ maxInboundStreams: 5
28
+ })
29
+ }
30
+ });
31
+ }
32
+ /**
33
+ * Monkey patch the upgrader in the passed libp2p to add latency to any
34
+ * multiaddr connections upgraded to connections - this is to work with
35
+ * transports that have their own muxers/encrypters and do not support
36
+ * connection protection
37
+ */
38
+ export function slowNetwork(libp2p, latency) {
39
+ const upgrader = getUpgrader(libp2p);
40
+ const originalUpgradeInbound = upgrader.upgradeInbound.bind(upgrader);
41
+ const originalUpgradeOutbound = upgrader.upgradeOutbound.bind(upgrader);
42
+ upgrader.upgradeInbound = async (maConn, opts) => {
43
+ maConn.source = map(maConn.source, async (buf) => {
44
+ await delay(latency);
45
+ return buf;
46
+ });
47
+ return originalUpgradeInbound(maConn, opts);
48
+ };
49
+ upgrader.upgradeOutbound = async (maConn, opts) => {
50
+ maConn.source = map(maConn.source, async (buf) => {
51
+ await delay(latency);
52
+ return buf;
53
+ });
54
+ return originalUpgradeOutbound(maConn, opts);
55
+ };
56
+ }
57
+ export function getUpgrader(libp2p) {
58
+ return libp2p.components.upgrader;
59
+ }
60
+ export function getTransportManager(libp2p) {
61
+ return libp2p.components.transportManager;
62
+ }
63
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transport/utils.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAM7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAE,SAAiC,EAAE;IACnE,OAAO,YAAY,CAAC;QAClB,UAAU,EAAE;YACV,MAAM,EAAE;SACT;QACD,oBAAoB,EAAE;YACpB,SAAS,EAAE;SACZ;QACD,YAAY,EAAE;YACZ,GAAG,EAAE,CAAC,SAAS,EAAE;SAClB;QACD,eAAe,EAAE;YACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;SAC/B;QACD,GAAG,MAAM;QACT,QAAQ,EAAE;YACR,GAAG,MAAM,CAAC,QAAQ;YAClB,IAAI,EAAE,IAAI,CAAC;gBACT,iBAAiB,EAAE,CAAC;aACrB,CAAC;SACH;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAE,MAAW,EAAE,OAAe;IACvD,MAAM,QAAQ,GAAa,WAAW,CAAC,MAAM,CAAC,CAAA;IAE9C,MAAM,sBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACrE,MAAM,uBAAuB,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEvE,QAAQ,CAAC,cAAc,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC/C,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACpB,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,OAAO,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,QAAQ,CAAC,eAAe,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAChD,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACpB,OAAO,GAAG,CAAA;QACZ,CAAC,CAAC,CAAA;QAEF,OAAO,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC9C,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAE,MAAW;IACtC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,MAAW;IAC9C,OAAO,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAA;AAC3C,CAAC"}