@dxos/network-manager 0.4.10-main.fd4f2a3 → 0.4.10-main.fe71b4c
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.
- package/dist/lib/browser/{chunk-OIR45T43.mjs → chunk-OSMVZUEK.mjs} +464 -425
- package/dist/lib/browser/chunk-OSMVZUEK.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/node/{chunk-HUPX2JGP.cjs → chunk-M4CGCR2I.cjs} +480 -440
- package/dist/lib/node/chunk-M4CGCR2I.cjs.map +7 -0
- package/dist/lib/node/index.cjs +27 -27
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +18 -18
- package/dist/types/src/swarm/connection.d.ts.map +1 -1
- package/dist/types/src/swarm/peer.d.ts.map +1 -1
- package/dist/types/src/transport/libdatachannel-transport.d.ts +20 -19
- package/dist/types/src/transport/libdatachannel-transport.d.ts.map +1 -1
- package/dist/types/src/transport/memory-transport.d.ts +17 -10
- package/dist/types/src/transport/memory-transport.d.ts.map +1 -1
- package/dist/types/src/transport/simplepeer-transport-proxy.d.ts +7 -9
- package/dist/types/src/transport/simplepeer-transport-proxy.d.ts.map +1 -1
- package/dist/types/src/transport/simplepeer-transport-service.d.ts.map +1 -1
- package/dist/types/src/transport/simplepeer-transport.d.ts +9 -11
- package/dist/types/src/transport/simplepeer-transport.d.ts.map +1 -1
- package/dist/types/src/transport/tcp-transport.browser.d.ts +7 -2
- package/dist/types/src/transport/tcp-transport.browser.d.ts.map +1 -1
- package/dist/types/src/transport/tcp-transport.d.ts +6 -4
- package/dist/types/src/transport/tcp-transport.d.ts.map +1 -1
- package/dist/types/src/transport/transport.d.ts +18 -12
- package/dist/types/src/transport/transport.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/swarm/connection.ts +7 -5
- package/src/swarm/peer.ts +0 -1
- package/src/transport/libdatachannel-transport.test.ts +14 -9
- package/src/transport/libdatachannel-transport.ts +226 -204
- package/src/transport/memory-transport.test.ts +10 -7
- package/src/transport/memory-transport.ts +49 -42
- package/src/transport/simplepeer-transport-proxy-test.ts +13 -8
- package/src/transport/simplepeer-transport-proxy.ts +48 -49
- package/src/transport/simplepeer-transport-service.ts +5 -2
- package/src/transport/simplepeer-transport.test.ts +9 -5
- package/src/transport/simplepeer-transport.ts +25 -25
- package/src/transport/tcp-transport.browser.ts +10 -5
- package/src/transport/tcp-transport.ts +31 -22
- package/src/transport/transport.ts +25 -14
- package/dist/lib/browser/chunk-OIR45T43.mjs.map +0 -7
- 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
|
-
|
|
10
|
-
|
|
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;
|
|
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
|
-
|
|
20
|
-
|
|
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;
|
|
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.
|
|
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
|
-
*
|
|
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-
|
|
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
|
-
*
|
|
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,
|
|
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.
|
|
3
|
+
"version": "0.4.10-main.fe71b4c",
|
|
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.
|
|
35
|
-
"@dxos/codec-protobuf": "0.4.10-main.
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/crypto": "0.4.10-main.
|
|
38
|
-
"@dxos/debug": "0.4.10-main.
|
|
39
|
-
"@dxos/
|
|
40
|
-
"@dxos/
|
|
41
|
-
"@dxos/invariant": "0.4.10-main.
|
|
42
|
-
"@dxos/
|
|
43
|
-
"@dxos/messaging": "0.4.10-main.
|
|
44
|
-
"@dxos/
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/rpc": "0.4.10-main.
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
34
|
+
"@dxos/async": "0.4.10-main.fe71b4c",
|
|
35
|
+
"@dxos/codec-protobuf": "0.4.10-main.fe71b4c",
|
|
36
|
+
"@dxos/credentials": "0.4.10-main.fe71b4c",
|
|
37
|
+
"@dxos/crypto": "0.4.10-main.fe71b4c",
|
|
38
|
+
"@dxos/debug": "0.4.10-main.fe71b4c",
|
|
39
|
+
"@dxos/context": "0.4.10-main.fe71b4c",
|
|
40
|
+
"@dxos/log": "0.4.10-main.fe71b4c",
|
|
41
|
+
"@dxos/invariant": "0.4.10-main.fe71b4c",
|
|
42
|
+
"@dxos/keys": "0.4.10-main.fe71b4c",
|
|
43
|
+
"@dxos/messaging": "0.4.10-main.fe71b4c",
|
|
44
|
+
"@dxos/node-std": "0.4.10-main.fe71b4c",
|
|
45
|
+
"@dxos/protocols": "0.4.10-main.fe71b4c",
|
|
46
|
+
"@dxos/rpc": "0.4.10-main.fe71b4c",
|
|
47
|
+
"@dxos/util": "0.4.10-main.fe71b4c",
|
|
48
|
+
"@dxos/teleport": "0.4.10-main.fe71b4c"
|
|
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.
|
|
57
|
+
"@dxos/signal": "0.4.10-main.fe71b4c"
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"access": "public"
|
package/src/swarm/connection.ts
CHANGED
|
@@ -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.
|
|
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?.
|
|
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?.
|
|
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?.
|
|
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.
|
|
414
|
+
await this._transport.onSignal(signal);
|
|
413
415
|
}
|
|
414
416
|
}
|
|
415
417
|
}
|
package/src/swarm/peer.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
38
|
+
await connection2.onSignal(signal);
|
|
38
39
|
},
|
|
39
40
|
});
|
|
40
|
-
|
|
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.
|
|
51
|
+
await connection1.onSignal(signal);
|
|
50
52
|
},
|
|
51
53
|
});
|
|
52
|
-
|
|
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.
|
|
73
|
+
await connection2.onSignal(signal);
|
|
71
74
|
},
|
|
72
75
|
});
|
|
73
|
-
|
|
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.
|
|
88
|
+
await connection1.onSignal(signal);
|
|
85
89
|
},
|
|
86
90
|
});
|
|
87
|
-
|
|
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 });
|