@dxos/network-manager 0.1.36 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/network-manager",
3
- "version": "0.1.36",
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.36",
29
- "@dxos/codec-protobuf": "0.1.36",
30
- "@dxos/context": "0.1.36",
31
- "@dxos/credentials": "0.1.36",
32
- "@dxos/crypto": "0.1.36",
33
- "@dxos/debug": "0.1.36",
34
- "@dxos/keys": "0.1.36",
35
- "@dxos/log": "0.1.36",
36
- "@dxos/messaging": "0.1.36",
37
- "@dxos/node-std": "0.1.36",
38
- "@dxos/protocols": "0.1.36",
39
- "@dxos/rpc": "0.1.36",
40
- "@dxos/teleport": "0.1.36",
41
- "@dxos/util": "0.1.36"
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.36"
51
+ "@dxos/signal": "0.1.37-next.41339e7"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
@@ -8,7 +8,7 @@ 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
13
  import { afterAll, afterTest, beforeAll, describe, test } from '@dxos/test';
14
14
 
@@ -26,18 +26,27 @@ describe('Signal Integration Test', () => {
26
26
  broker.stop();
27
27
  });
28
28
 
29
- const setupPeer = async ({ 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
31
  await signalManager.open();
32
32
  afterTest(() => signalManager.close());
33
- signalManager.onMessage.on((message) => messageRouter.receiveMessage(message));
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
+ });
34
43
 
35
44
  const receivedSignals: SignalMessage[] = [];
36
45
  const signalMock = async (msg: SignalMessage) => {
37
46
  receivedSignals.push(msg);
38
47
  };
39
48
  const messageRouter = new MessageRouter({
40
- sendMessage: signalManager.sendMessage.bind(signalManager),
49
+ sendMessage: messenger.sendMessage.bind(messenger),
41
50
  onSignal: signalMock,
42
51
  onOffer: async () => ({ accept: true }),
43
52
  topic
@@ -45,6 +54,7 @@ describe('Signal Integration Test', () => {
45
54
 
46
55
  return {
47
56
  signalManager,
57
+ messenger,
48
58
  receivedSignals,
49
59
  messageRouter
50
60
  };
@@ -55,9 +65,8 @@ describe('Signal Integration Test', () => {
55
65
  const peer2 = PublicKey.random();
56
66
  const topic = PublicKey.random();
57
67
 
58
- const peerNetworking1 = await setupPeer({ topic });
59
- const peerNetworking2 = await setupPeer({ topic });
60
-
68
+ const peerNetworking1 = await setupPeer({ peerId: peer1, topic });
69
+ const peerNetworking2 = await setupPeer({ peerId: peer2, topic });
61
70
  const promise1 = peerNetworking1.signalManager.swarmEvent.waitFor(
62
71
  ({ swarmEvent }) => !!swarmEvent.peerAvailable && peer2.equals(swarmEvent.peerAvailable.peer)
63
72
  );
@@ -67,8 +76,6 @@ describe('Signal Integration Test', () => {
67
76
 
68
77
  await peerNetworking1.signalManager.join({ topic, peerId: peer1 });
69
78
  await peerNetworking2.signalManager.join({ topic, peerId: peer2 });
70
- await peerNetworking1.signalManager.subscribeMessages(peer1);
71
- await peerNetworking2.signalManager.subscribeMessages(peer2);
72
79
 
73
80
  await promise1;
74
81
  await promise2;