@dxos/network-manager 0.1.36-next.ef27157 → 0.1.37-next.41339e7
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-KOU3LGWY.mjs → chunk-A2UJX3UX.mjs} +14 -12
- package/dist/lib/browser/{chunk-KOU3LGWY.mjs.map → chunk-A2UJX3UX.mjs.map} +3 -3
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +2 -1
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/lib/node/index.cjs +13 -11
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/testing/index.cjs +14 -11
- package/dist/lib/node/testing/index.cjs.map +3 -3
- package/dist/types/src/network-manager.d.ts +1 -0
- package/dist/types/src/network-manager.d.ts.map +1 -1
- package/dist/types/src/testing/test-builder.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/network-manager.ts +3 -1
- package/src/signal/integration.test.ts +19 -10
- package/src/signal/message-router.test.ts +1 -0
- package/src/testing/test-builder.ts +1 -0
|
@@ -56,6 +56,7 @@ export declare class NetworkManager {
|
|
|
56
56
|
private readonly _connectionLog?;
|
|
57
57
|
readonly topicsUpdated: Event<void>;
|
|
58
58
|
private readonly _instanceId;
|
|
59
|
+
_traceParent?: string;
|
|
59
60
|
constructor({ transportFactory, signalManager, log }: NetworkManagerOptions);
|
|
60
61
|
get connectionLog(): ConnectionLog | undefined;
|
|
61
62
|
get signalManager(): SignalManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAGF,oBAAY,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;GAEG;AAEH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IAEnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,SAAgB,sBAAsB,yBAAgC;IAEtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAEhD,SAAgB,aAAa,cAAqB;IAElD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;
|
|
1
|
+
{"version":3,"file":"network-manager.d.ts","sourceRoot":"","sources":["../../../src/network-manager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAG7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAGF,oBAAY,YAAY,GAAG;IACzB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;GAEG;AAEH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0D;IAEnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,SAAgB,sBAAsB,yBAAgC;IAEtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAEhD,SAAgB,aAAa,cAAqB;IAElD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEjB,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,qBAAqB;IAqB3E,IAAI,aAAa,8BAEhB;IAGD,IAAI,aAAa,kBAEhB;IAED,IAAI,eAAe,oBAElB;IAGD,IAAI,MAAM,gBAET;IAED,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS;IAItD,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS;IAIvC,IAAI;IAMJ,KAAK;IAYX;;OAEG;IACG,SAAS,CAAC,EACd,KAAK,EACL,MAAM,EACN,QAAQ,EACR,gBAAgB,EAAE,QAAQ,EAC1B,KAAK,EACN,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA4B1C;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,SAAS;IAuB3B,kBAAkB,CAAC,KAAK,EAAE,eAAe;CA0BhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAA8B,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,eAAO,MAAM,eAAe,8CAA8C,CAAC;AAE3E,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;gBAE9B,OAAO,GAAE,kBAAuB;IAE5D,mBAAmB;IAQnB,UAAU;CAGX;AAED;;GAEG;AACH,qBAAa,QAAQ;IAaP,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZxC,QAAQ,CAAC,MAAM,YAAsB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAO1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;gBAER,WAAW,EAAE,WAAW;IAKrD,oBAAoB;IA6Cd,IAAI;
|
|
1
|
+
{"version":3,"file":"test-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAA8B,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAM1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,eAAO,MAAM,eAAe,8CAA8C,CAAC;AAE3E,oBAAY,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAW;aAGM,OAAO,EAAE,kBAAkB;IAFvD,OAAO,CAAC,cAAc,CAAoC;gBAE9B,OAAO,GAAE,kBAAuB;IAE5D,mBAAmB;IAQnB,UAAU;CAGX;AAED;;GAEG;AACH,qBAAa,QAAQ;IAaP,OAAO,CAAC,QAAQ,CAAC,WAAW;IAZxC,QAAQ,CAAC,MAAM,YAAsB;IAErC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkE;IAO1F,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAoB;gBAER,WAAW,EAAE,WAAW;IAKrD,oBAAoB;IA6Cd,IAAI;IAMJ,KAAK;IASX,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAS/C,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAW5C,SAAS;IAIT,QAAQ;CAGf;AAGD,qBAAa,mBAAmB;IAGlB,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;IAF9D,QAAQ,EAAE,gBAAgB,CAAC;gBAEN,IAAI,EAAE,QAAQ,EAAW,KAAK,EAAE,SAAS;IAQxD,IAAI,CAAC,QAAQ,yBAA+B;IAW5C,KAAK;CAIZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/network-manager",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.37-next.41339e7",
|
|
4
4
|
"description": "Network Manager",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -25,20 +25,20 @@
|
|
|
25
25
|
"simple-peer": "9.11.0",
|
|
26
26
|
"ws": "^7.4.4",
|
|
27
27
|
"xor-distance": "^2.0.0",
|
|
28
|
-
"@dxos/async": "0.1.
|
|
29
|
-
"@dxos/codec-protobuf": "0.1.
|
|
30
|
-
"@dxos/context": "0.1.
|
|
31
|
-
"@dxos/credentials": "0.1.
|
|
32
|
-
"@dxos/crypto": "0.1.
|
|
33
|
-
"@dxos/debug": "0.1.
|
|
34
|
-
"@dxos/keys": "0.1.
|
|
35
|
-
"@dxos/log": "0.1.
|
|
36
|
-
"@dxos/messaging": "0.1.
|
|
37
|
-
"@dxos/node-std": "0.1.
|
|
38
|
-
"@dxos/protocols": "0.1.
|
|
39
|
-
"@dxos/rpc": "0.1.
|
|
40
|
-
"@dxos/teleport": "0.1.
|
|
41
|
-
"@dxos/util": "0.1.
|
|
28
|
+
"@dxos/async": "0.1.37-next.41339e7",
|
|
29
|
+
"@dxos/codec-protobuf": "0.1.37-next.41339e7",
|
|
30
|
+
"@dxos/context": "0.1.37-next.41339e7",
|
|
31
|
+
"@dxos/credentials": "0.1.37-next.41339e7",
|
|
32
|
+
"@dxos/crypto": "0.1.37-next.41339e7",
|
|
33
|
+
"@dxos/debug": "0.1.37-next.41339e7",
|
|
34
|
+
"@dxos/keys": "0.1.37-next.41339e7",
|
|
35
|
+
"@dxos/log": "0.1.37-next.41339e7",
|
|
36
|
+
"@dxos/messaging": "0.1.37-next.41339e7",
|
|
37
|
+
"@dxos/node-std": "0.1.37-next.41339e7",
|
|
38
|
+
"@dxos/protocols": "0.1.37-next.41339e7",
|
|
39
|
+
"@dxos/rpc": "0.1.37-next.41339e7",
|
|
40
|
+
"@dxos/teleport": "0.1.37-next.41339e7",
|
|
41
|
+
"@dxos/util": "0.1.37-next.41339e7"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@swc-node/register": "1.5.4",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"earljs": "~0.1.10",
|
|
49
49
|
"fast-check": "~3.3.0",
|
|
50
50
|
"typescript": "^4.8.4",
|
|
51
|
-
"@dxos/signal": "0.1.
|
|
51
|
+
"@dxos/signal": "0.1.37-next.41339e7"
|
|
52
52
|
},
|
|
53
53
|
"publishConfig": {
|
|
54
54
|
"access": "public"
|
package/src/network-manager.ts
CHANGED
|
@@ -82,8 +82,10 @@ export class NetworkManager {
|
|
|
82
82
|
public readonly topicsUpdated = new Event<void>();
|
|
83
83
|
|
|
84
84
|
private readonly _instanceId = PublicKey.random().toHex();
|
|
85
|
+
public _traceParent?: string;
|
|
85
86
|
|
|
86
87
|
constructor({ transportFactory, signalManager, log }: NetworkManagerOptions) {
|
|
88
|
+
(signalManager as any)._traceParent = this._instanceId;
|
|
87
89
|
this._transportFactory = transportFactory;
|
|
88
90
|
|
|
89
91
|
// Listen for signal manager events.
|
|
@@ -130,7 +132,7 @@ export class NetworkManager {
|
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
async open() {
|
|
133
|
-
log.trace('dxos.mesh.network-manager', trace.begin({ id: this._instanceId }));
|
|
135
|
+
log.trace('dxos.mesh.network-manager', trace.begin({ id: this._instanceId, parentId: this._traceParent }));
|
|
134
136
|
await this._messenger.open();
|
|
135
137
|
await this._signalManager.open();
|
|
136
138
|
}
|
|
@@ -8,9 +8,9 @@ import { expect } from 'earljs';
|
|
|
8
8
|
import waitForExpect from 'wait-for-expect';
|
|
9
9
|
|
|
10
10
|
import { PublicKey } from '@dxos/keys';
|
|
11
|
-
import { WebsocketSignalManager } from '@dxos/messaging';
|
|
11
|
+
import { Messenger, WebsocketSignalManager } from '@dxos/messaging';
|
|
12
12
|
import { createTestBroker, TestBroker } from '@dxos/signal';
|
|
13
|
-
import { afterAll, beforeAll, describe, test } from '@dxos/test';
|
|
13
|
+
import { afterAll, afterTest, beforeAll, describe, test } from '@dxos/test';
|
|
14
14
|
|
|
15
15
|
import { MessageRouter } from './message-router';
|
|
16
16
|
import { SignalMessage } from './signal-messenger';
|
|
@@ -26,16 +26,27 @@ describe('Signal Integration Test', () => {
|
|
|
26
26
|
broker.stop();
|
|
27
27
|
});
|
|
28
28
|
|
|
29
|
-
const setupPeer = ({ topic = PublicKey.random() }: { topic?: PublicKey }
|
|
29
|
+
const setupPeer = async ({ peerId, topic = PublicKey.random() }: { peerId: PublicKey; topic?: PublicKey }) => {
|
|
30
30
|
const signalManager = new WebsocketSignalManager([broker.url()]);
|
|
31
|
-
signalManager.
|
|
31
|
+
await signalManager.open();
|
|
32
|
+
afterTest(() => signalManager.close());
|
|
33
|
+
|
|
34
|
+
const messenger = new Messenger({
|
|
35
|
+
signalManager
|
|
36
|
+
});
|
|
37
|
+
messenger.open();
|
|
38
|
+
afterTest(() => messenger.close());
|
|
39
|
+
await messenger.listen({
|
|
40
|
+
peerId,
|
|
41
|
+
onMessage: async (message) => await messageRouter.receiveMessage(message)
|
|
42
|
+
});
|
|
32
43
|
|
|
33
44
|
const receivedSignals: SignalMessage[] = [];
|
|
34
45
|
const signalMock = async (msg: SignalMessage) => {
|
|
35
46
|
receivedSignals.push(msg);
|
|
36
47
|
};
|
|
37
48
|
const messageRouter = new MessageRouter({
|
|
38
|
-
sendMessage:
|
|
49
|
+
sendMessage: messenger.sendMessage.bind(messenger),
|
|
39
50
|
onSignal: signalMock,
|
|
40
51
|
onOffer: async () => ({ accept: true }),
|
|
41
52
|
topic
|
|
@@ -43,6 +54,7 @@ describe('Signal Integration Test', () => {
|
|
|
43
54
|
|
|
44
55
|
return {
|
|
45
56
|
signalManager,
|
|
57
|
+
messenger,
|
|
46
58
|
receivedSignals,
|
|
47
59
|
messageRouter
|
|
48
60
|
};
|
|
@@ -53,9 +65,8 @@ describe('Signal Integration Test', () => {
|
|
|
53
65
|
const peer2 = PublicKey.random();
|
|
54
66
|
const topic = PublicKey.random();
|
|
55
67
|
|
|
56
|
-
const peerNetworking1 = setupPeer({ topic });
|
|
57
|
-
const peerNetworking2 = setupPeer({ topic });
|
|
58
|
-
|
|
68
|
+
const peerNetworking1 = await setupPeer({ peerId: peer1, topic });
|
|
69
|
+
const peerNetworking2 = await setupPeer({ peerId: peer2, topic });
|
|
59
70
|
const promise1 = peerNetworking1.signalManager.swarmEvent.waitFor(
|
|
60
71
|
({ swarmEvent }) => !!swarmEvent.peerAvailable && peer2.equals(swarmEvent.peerAvailable.peer)
|
|
61
72
|
);
|
|
@@ -65,8 +76,6 @@ describe('Signal Integration Test', () => {
|
|
|
65
76
|
|
|
66
77
|
await peerNetworking1.signalManager.join({ topic, peerId: peer1 });
|
|
67
78
|
await peerNetworking2.signalManager.join({ topic, peerId: peer2 });
|
|
68
|
-
await peerNetworking1.signalManager.subscribeMessages(peer1);
|
|
69
|
-
await peerNetworking2.signalManager.subscribeMessages(peer2);
|
|
70
79
|
|
|
71
80
|
await promise1;
|
|
72
81
|
await promise2;
|
|
@@ -47,6 +47,7 @@ describe('MessageRouter', () => {
|
|
|
47
47
|
}) => {
|
|
48
48
|
const peerId = PublicKey.random();
|
|
49
49
|
const signalManager = new WebsocketSignalManager([signalApiUrl]);
|
|
50
|
+
await signalManager.open();
|
|
50
51
|
afterTest(() => signalManager.close());
|
|
51
52
|
|
|
52
53
|
const messenger = new Messenger({ signalManager });
|