@dxos/network-manager 0.4.10-main.ef6fbc2 → 0.4.10-main.f635fb0

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 (45) hide show
  1. package/dist/lib/browser/{chunk-OIR45T43.mjs → chunk-OSMVZUEK.mjs} +464 -425
  2. package/dist/lib/browser/chunk-OSMVZUEK.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/testing/index.mjs +1 -1
  6. package/dist/lib/node/{chunk-HUPX2JGP.cjs → chunk-M4CGCR2I.cjs} +480 -440
  7. package/dist/lib/node/chunk-M4CGCR2I.cjs.map +7 -0
  8. package/dist/lib/node/index.cjs +27 -27
  9. package/dist/lib/node/index.cjs.map +1 -1
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/testing/index.cjs +18 -18
  12. package/dist/types/src/swarm/connection.d.ts.map +1 -1
  13. package/dist/types/src/swarm/peer.d.ts.map +1 -1
  14. package/dist/types/src/transport/libdatachannel-transport.d.ts +20 -19
  15. package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -1
  16. package/dist/types/src/transport/memory-transport.d.ts +17 -10
  17. package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
  18. package/dist/types/src/transport/simplepeer-transport-proxy.d.ts +7 -9
  19. package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +1 -1
  20. package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +1 -1
  21. package/dist/types/src/transport/simplepeer-transport.d.ts +9 -11
  22. package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -1
  23. package/dist/types/src/transport/tcp-transport.browser.d.ts +7 -2
  24. package/dist/types/src/transport/tcp-transport.browser.d.ts.map +1 -1
  25. package/dist/types/src/transport/tcp-transport.d.ts +6 -4
  26. package/dist/types/src/transport/tcp-transport.d.ts.map +1 -1
  27. package/dist/types/src/transport/transport.d.ts +18 -12
  28. package/dist/types/src/transport/transport.d.ts.map +1 -1
  29. package/package.json +17 -17
  30. package/src/swarm/connection.ts +7 -5
  31. package/src/swarm/peer.ts +0 -1
  32. package/src/transport/libdatachannel-transport.test.ts +14 -9
  33. package/src/transport/libdatachannel-transport.ts +226 -204
  34. package/src/transport/memory-transport.test.ts +10 -7
  35. package/src/transport/memory-transport.ts +49 -42
  36. package/src/transport/simplepeer-transport-proxy-test.ts +13 -8
  37. package/src/transport/simplepeer-transport-proxy.ts +48 -49
  38. package/src/transport/simplepeer-transport-service.ts +5 -2
  39. package/src/transport/simplepeer-transport.test.ts +9 -5
  40. package/src/transport/simplepeer-transport.ts +25 -25
  41. package/src/transport/tcp-transport.browser.ts +10 -5
  42. package/src/transport/tcp-transport.ts +31 -22
  43. package/src/transport/transport.ts +25 -14
  44. package/dist/lib/browser/chunk-OIR45T43.mjs.map +0 -7
  45. package/dist/lib/node/chunk-HUPX2JGP.cjs.map +0 -7
@@ -2,12 +2,17 @@ import { Event } from '@dxos/async';
2
2
  import { ErrorStream } from '@dxos/debug';
3
3
  import { type Transport, type TransportFactory, type TransportStats } from './transport';
4
4
  export declare const TcpTransportFactory: TransportFactory;
5
+ /**
6
+ * NOTE: Browser stub.
7
+ */
5
8
  export declare class TcpTransport implements Transport {
6
9
  readonly closed: Event<void>;
7
10
  readonly connected: Event<void>;
8
11
  readonly errors: ErrorStream;
9
- destroy(): Promise<void>;
10
- signal(): void;
12
+ get isOpen(): boolean;
13
+ open(): Promise<void>;
14
+ close(): Promise<void>;
15
+ onSignal(): Promise<void>;
11
16
  getStats(): Promise<TransportStats>;
12
17
  getDetails(): Promise<string>;
13
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-transport.browser.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAIzF,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;IAErC,OAAO;IAIb,MAAM;IAIA,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAGpC"}
1
+ {"version":3,"file":"tcp-transport.browser.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEzF,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC5C,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;IAE3C,IAAI,MAAM,YAET;IAEK,IAAI;IAEJ,KAAK;IAEL,QAAQ;IAIR,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAInC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAGpC"}
@@ -10,14 +10,16 @@ export declare class TcpTransport implements Transport {
10
10
  private readonly options;
11
11
  private _server?;
12
12
  private _socket?;
13
+ private _connected;
14
+ private _closed;
13
15
  readonly closed: Event<void>;
14
16
  readonly connected: Event<void>;
15
17
  readonly errors: ErrorStream;
16
- private _destroyed;
17
- private _connected;
18
18
  constructor(options: TransportOptions);
19
- destroy(): Promise<void>;
20
- signal({ payload }: Signal): void;
19
+ get isOpen(): boolean;
20
+ open(): Promise<void>;
21
+ close(): Promise<void>;
22
+ onSignal({ payload }: Signal): Promise<void>;
21
23
  getDetails(): Promise<string>;
22
24
  getStats(): Promise<TransportStats>;
23
25
  private _handleSocket;
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAYhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAXpC,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAqB;IAErC,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;IAE3C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;gBAEE,OAAO,EAAE,gBAAgB;IAsChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM;IAWpB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAS7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IASzC,OAAO,CAAC,aAAa;CAiBtB"}
1
+ {"version":3,"file":"tcp-transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/tcp-transport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhH,eAAO,MAAM,mBAAmB,EAAE,gBAEjC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IAWhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAVpC,OAAO,CAAC,OAAO,CAAC,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAC,CAAqB;IAErC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IAExB,SAAgB,MAAM,cAAqB;IAC3C,SAAgB,SAAS,cAAqB;IAC9C,SAAgB,MAAM,cAAqB;gBAEd,OAAO,EAAE,gBAAgB;IAEtD,IAAI,MAAM,YAET;IAEK,IAAI;IAuCJ,KAAK;IAOL,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM;IAW5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IASzC,OAAO,CAAC,aAAa;CAoBtB"}
@@ -5,48 +5,54 @@ import { type PublicKey } from '@dxos/keys';
5
5
  import { type Signal } from '@dxos/protocols/proto/dxos/mesh/swarm';
6
6
  export declare enum TransportKind {
7
7
  SIMPLE_PEER = "SIMPLE_PEER",
8
- LIBDATACHANNEL = "LIBDATACHANNEL",
9
8
  SIMPLE_PEER_PROXY = "SIMPLE_PEER_PROXY",
9
+ LIBDATACHANNEL = "LIBDATACHANNEL",
10
10
  MEMORY = "MEMORY",
11
11
  TCP = "TCP"
12
12
  }
13
13
  /**
14
- * Abstraction over a P2P connection transport. Currently either WebRTC or in-memory.
14
+ * Abstraction over a P2P connection transport.
15
+ * Currently, WebRTC or in-memory.
15
16
  */
16
17
  export interface Transport {
17
18
  closed: Event;
18
19
  connected: Event;
19
20
  errors: ErrorStream;
21
+ open(): Promise<void>;
22
+ close(): Promise<void>;
23
+ get isOpen(): boolean;
20
24
  /**
21
- * Transport-specfic stats.
25
+ * Handle message from signaling.
26
+ */
27
+ onSignal(signal: Signal): Promise<void>;
28
+ /**
29
+ * Transport-specific stats.
22
30
  */
23
31
  getStats(): Promise<TransportStats>;
24
32
  /**
25
- * Transport-specfic connection details.
33
+ * Transport-specific connection details.
26
34
  */
27
35
  getDetails(): Promise<string>;
28
- destroy(): Promise<void>;
29
- signal(signal: Signal): void;
30
36
  }
37
+ /**
38
+ * Common options for all transports.
39
+ */
31
40
  export type TransportOptions = {
32
41
  /**
33
42
  * Did local node initiate this connection.
34
43
  */
35
44
  initiator: boolean;
36
45
  /**
37
- * Wire protocol.
46
+ * Wire protocol for data stream.
38
47
  */
39
48
  stream: NodeJS.ReadWriteStream;
40
49
  /**
41
- * Send a signal message to remote peer.
50
+ * Sends signal message to remote peer.
42
51
  */
43
52
  sendSignal: (signal: Signal) => Promise<void>;
44
- timeout?: number;
45
53
  sessionId?: PublicKey;
54
+ timeout?: number;
46
55
  };
47
- /**
48
- *
49
- */
50
56
  export interface TransportFactory {
51
57
  createTransport(options: TransportOptions): Transport;
52
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/transport.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/transport/transport.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAEpE,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,CAAC;IACd,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IAEpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,MAAM,IAAI,OAAO,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpC;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;IAE/B;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/network-manager",
3
- "version": "0.4.10-main.ef6fbc2",
3
+ "version": "0.4.10-main.f635fb0",
4
4
  "description": "Network Manager",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -31,21 +31,21 @@
31
31
  "tiny-invariant": "^1.3.1",
32
32
  "ws": "^8.14.2",
33
33
  "xor-distance": "^2.0.0",
34
- "@dxos/async": "0.4.10-main.ef6fbc2",
35
- "@dxos/codec-protobuf": "0.4.10-main.ef6fbc2",
36
- "@dxos/context": "0.4.10-main.ef6fbc2",
37
- "@dxos/crypto": "0.4.10-main.ef6fbc2",
38
- "@dxos/credentials": "0.4.10-main.ef6fbc2",
39
- "@dxos/debug": "0.4.10-main.ef6fbc2",
40
- "@dxos/invariant": "0.4.10-main.ef6fbc2",
41
- "@dxos/keys": "0.4.10-main.ef6fbc2",
42
- "@dxos/log": "0.4.10-main.ef6fbc2",
43
- "@dxos/messaging": "0.4.10-main.ef6fbc2",
44
- "@dxos/node-std": "0.4.10-main.ef6fbc2",
45
- "@dxos/protocols": "0.4.10-main.ef6fbc2",
46
- "@dxos/teleport": "0.4.10-main.ef6fbc2",
47
- "@dxos/util": "0.4.10-main.ef6fbc2",
48
- "@dxos/rpc": "0.4.10-main.ef6fbc2"
34
+ "@dxos/codec-protobuf": "0.4.10-main.f635fb0",
35
+ "@dxos/context": "0.4.10-main.f635fb0",
36
+ "@dxos/async": "0.4.10-main.f635fb0",
37
+ "@dxos/crypto": "0.4.10-main.f635fb0",
38
+ "@dxos/credentials": "0.4.10-main.f635fb0",
39
+ "@dxos/debug": "0.4.10-main.f635fb0",
40
+ "@dxos/log": "0.4.10-main.f635fb0",
41
+ "@dxos/keys": "0.4.10-main.f635fb0",
42
+ "@dxos/invariant": "0.4.10-main.f635fb0",
43
+ "@dxos/messaging": "0.4.10-main.f635fb0",
44
+ "@dxos/node-std": "0.4.10-main.f635fb0",
45
+ "@dxos/protocols": "0.4.10-main.f635fb0",
46
+ "@dxos/rpc": "0.4.10-main.f635fb0",
47
+ "@dxos/teleport": "0.4.10-main.f635fb0",
48
+ "@dxos/util": "0.4.10-main.f635fb0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@swc-node/register": "1.6.8",
@@ -54,7 +54,7 @@
54
54
  "earljs": "~0.1.10",
55
55
  "fast-check": "^3.15.1",
56
56
  "typescript": "^5.2.2",
57
- "@dxos/signal": "0.4.10-main.ef6fbc2"
57
+ "@dxos/signal": "0.4.10-main.f635fb0"
58
58
  },
59
59
  "publishConfig": {
60
60
  "access": "public"
@@ -203,6 +203,8 @@ export class Connection {
203
203
  sessionId: this.sessionId,
204
204
  });
205
205
 
206
+ await this._transport.open();
207
+
206
208
  this._transport.connected.once(async () => {
207
209
  this._changeState(ConnectionState.CONNECTED);
208
210
  await this.connectedTimeoutContext.dispose();
@@ -242,7 +244,7 @@ export class Connection {
242
244
 
243
245
  // Replay signals that were received before transport was created.
244
246
  for (const signal of this._incomingSignalBuffer) {
245
- void this._transport.signal(signal); // TODO(burdon): Remove async?
247
+ void this._transport.onSignal(signal); // TODO(burdon): Remove async?
246
248
  }
247
249
 
248
250
  this._incomingSignalBuffer = [];
@@ -278,7 +280,7 @@ export class Connection {
278
280
 
279
281
  try {
280
282
  // After the transport is closed streams are disconnected.
281
- await this._transport?.destroy();
283
+ await this._transport?.close();
282
284
  } catch (err: any) {
283
285
  log.catch(err);
284
286
  }
@@ -323,7 +325,7 @@ export class Connection {
323
325
 
324
326
  try {
325
327
  // After the transport is closed streams are disconnected.
326
- await this._transport?.destroy();
328
+ await this._transport?.close();
327
329
  } catch (err: any) {
328
330
  log.catch(err);
329
331
  }
@@ -335,7 +337,7 @@ export class Connection {
335
337
  log.catch(err);
336
338
  }
337
339
  try {
338
- await this._transport?.destroy();
340
+ await this._transport?.close();
339
341
  } catch (err: any) {
340
342
  log.catch(err);
341
343
  }
@@ -409,7 +411,7 @@ export class Connection {
409
411
  } else {
410
412
  invariant(this._transport, 'Connection not ready to accept signals.');
411
413
  log('received signal', { peerId: this.ownId, remoteId: this.remoteId, msg: msg.data });
412
- await this._transport.signal(signal);
414
+ await this._transport.onSignal(signal);
413
415
  }
414
416
  }
415
417
  }
package/src/swarm/peer.ts CHANGED
@@ -90,7 +90,6 @@ export class Peer {
90
90
 
91
91
  public readonly connectionDisplaced = new Event<Connection>();
92
92
 
93
- // TODO(burdon): Convert to map?
94
93
  constructor(
95
94
  public readonly id: PublicKey,
96
95
  public readonly topic: PublicKey,
@@ -19,8 +19,9 @@ describe('LibDataChannelTransport', () => {
19
19
  sendSignal: async () => {},
20
20
  });
21
21
 
22
+ await connection.open();
22
23
  const wait = connection.closed.waitForCount(1);
23
- await connection.destroy();
24
+ await connection.close();
24
25
  await wait;
25
26
  })
26
27
  .onlyEnvironments('nodejs')
@@ -34,10 +35,11 @@ describe('LibDataChannelTransport', () => {
34
35
  stream: stream1,
35
36
  sendSignal: async (signal) => {
36
37
  await sleep(10);
37
- await connection2.signal(signal);
38
+ await connection2.onSignal(signal);
38
39
  },
39
40
  });
40
- afterTest(() => connection1.destroy());
41
+ await connection1.open();
42
+ afterTest(() => connection1.close());
41
43
  afterTest(() => connection1.errors.assertNoUnhandledErrors());
42
44
 
43
45
  const stream2 = new TestStream();
@@ -46,10 +48,11 @@ describe('LibDataChannelTransport', () => {
46
48
  stream: stream2,
47
49
  sendSignal: async (signal) => {
48
50
  await sleep(10);
49
- await connection1.signal(signal);
51
+ await connection1.onSignal(signal);
50
52
  },
51
53
  });
52
- afterTest(() => connection2.destroy());
54
+ await connection2.open();
55
+ afterTest(() => connection2.close());
53
56
  afterTest(() => connection2.errors.assertNoUnhandledErrors());
54
57
 
55
58
  await TestStream.assertConnectivity(stream1, stream2, { timeout: 2_000 });
@@ -67,10 +70,11 @@ describe('LibDataChannelTransport', () => {
67
70
  log.debug('signal', signal);
68
71
 
69
72
  await sleep(10);
70
- await connection2.signal(signal);
73
+ await connection2.onSignal(signal);
71
74
  },
72
75
  });
73
- afterTest(() => connection1.destroy());
76
+ await connection1.open();
77
+ afterTest(() => connection1.close());
74
78
  afterTest(() => connection1.errors.assertNoUnhandledErrors());
75
79
 
76
80
  const stream2 = new TestStream();
@@ -81,10 +85,11 @@ describe('LibDataChannelTransport', () => {
81
85
  log.debug('signal', signal);
82
86
 
83
87
  await sleep(10);
84
- await connection1.signal(signal);
88
+ await connection1.onSignal(signal);
85
89
  },
86
90
  });
87
- afterTest(() => connection2.destroy());
91
+ await connection2.open();
92
+ afterTest(() => connection2.close());
88
93
  afterTest(() => connection2.errors.assertNoUnhandledErrors());
89
94
 
90
95
  await TestStream.assertConnectivity(stream1, stream2, { timeout: 2_000 });