@dxos/network-manager 0.1.8 → 0.1.10
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/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/network-manager.d.ts +10 -14
- package/dist/src/network-manager.d.ts.map +1 -1
- package/dist/src/network-manager.js +28 -33
- package/dist/src/network-manager.js.map +1 -1
- package/dist/src/protocol-factory.d.ts.map +1 -1
- package/dist/src/protocol-factory.js +8 -6
- package/dist/src/protocol-factory.js.map +1 -1
- package/dist/src/signal/index.d.ts +2 -2
- package/dist/src/signal/index.d.ts.map +1 -1
- package/dist/src/signal/index.js +2 -2
- package/dist/src/signal/index.js.map +1 -1
- package/dist/src/signal/message-router.d.ts +2 -2
- package/dist/src/signal/message-router.js +3 -3
- package/dist/src/signal/message-router.js.map +1 -1
- package/dist/src/signal/{signal-messaging.d.ts → signal-messenger.d.ts} +2 -2
- package/dist/src/signal/{signal-messaging.d.ts.map → signal-messenger.d.ts.map} +1 -1
- package/dist/src/signal/{signal-messaging.js → signal-messenger.js} +1 -1
- package/dist/src/signal/signal-messenger.js.map +1 -0
- package/dist/src/swarm/connection.d.ts +6 -3
- package/dist/src/swarm/connection.d.ts.map +1 -1
- package/dist/src/swarm/connection.js +28 -15
- package/dist/src/swarm/connection.js.map +1 -1
- package/dist/src/swarm/peer.d.ts +45 -0
- package/dist/src/swarm/peer.d.ts.map +1 -0
- package/dist/src/swarm/peer.js +113 -0
- package/dist/src/swarm/peer.js.map +1 -0
- package/dist/src/swarm/swarm-mapper.d.ts +2 -2
- package/dist/src/swarm/swarm-mapper.d.ts.map +1 -1
- package/dist/src/swarm/swarm-mapper.js +12 -10
- package/dist/src/swarm/swarm-mapper.js.map +1 -1
- package/dist/src/swarm/swarm.d.ts +13 -18
- package/dist/src/swarm/swarm.d.ts.map +1 -1
- package/dist/src/swarm/swarm.js +126 -97
- package/dist/src/swarm/swarm.js.map +1 -1
- package/dist/src/swarm/swarm.test.js +2 -2
- package/dist/src/swarm/swarm.test.js.map +1 -1
- package/dist/src/testing/test-builder.d.ts +31 -18
- package/dist/src/testing/test-builder.d.ts.map +1 -1
- package/dist/src/testing/test-builder.js +120 -48
- package/dist/src/testing/test-builder.js.map +1 -1
- package/dist/src/testing/test-protocol.d.ts +5 -5
- package/dist/src/testing/test-protocol.d.ts.map +1 -1
- package/dist/src/testing/test-protocol.js +28 -24
- package/dist/src/testing/test-protocol.js.map +1 -1
- package/dist/src/tests/basic-test-suite.d.ts +6 -0
- package/dist/src/tests/basic-test-suite.d.ts.map +1 -0
- package/dist/src/tests/basic-test-suite.js +142 -0
- package/dist/src/tests/basic-test-suite.js.map +1 -0
- package/dist/src/tests/memory-transport.test.d.ts +2 -0
- package/dist/src/tests/memory-transport.test.d.ts.map +1 -0
- package/dist/src/tests/memory-transport.test.js +12 -0
- package/dist/src/tests/memory-transport.test.js.map +1 -0
- package/dist/src/{presence.test.d.ts → tests/presence.test.d.ts} +0 -0
- package/dist/src/tests/presence.test.d.ts.map +1 -0
- package/dist/src/{presence.test.js → tests/presence.test.js} +21 -20
- package/dist/src/tests/presence.test.js.map +1 -0
- package/dist/src/tests/property-test-suite.d.ts +5 -0
- package/dist/src/tests/property-test-suite.d.ts.map +1 -0
- package/dist/src/tests/property-test-suite.js +203 -0
- package/dist/src/tests/property-test-suite.js.map +1 -0
- package/dist/src/tests/utils.d.ts +21 -0
- package/dist/src/tests/utils.d.ts.map +1 -0
- package/dist/src/tests/utils.js +76 -0
- package/dist/src/tests/utils.js.map +1 -0
- package/dist/src/tests/webrtc-transport.test.d.ts +2 -0
- package/dist/src/tests/webrtc-transport.test.d.ts.map +1 -0
- package/dist/src/tests/webrtc-transport.test.js +16 -0
- package/dist/src/tests/webrtc-transport.test.js.map +1 -0
- package/dist/src/topology/fully-connected-topology.d.ts +1 -1
- package/dist/src/topology/fully-connected-topology.d.ts.map +1 -1
- package/dist/src/topology/fully-connected-topology.js +4 -3
- package/dist/src/topology/fully-connected-topology.js.map +1 -1
- package/dist/src/topology/mmst-topology.js +4 -4
- package/dist/src/topology/mmst-topology.js.map +1 -1
- package/dist/src/topology/star-topology.js +4 -4
- package/dist/src/topology/star-topology.js.map +1 -1
- package/dist/src/topology/topology.d.ts +0 -5
- package/dist/src/topology/topology.d.ts.map +1 -1
- package/dist/src/transport/memory-transport.d.ts +8 -7
- package/dist/src/transport/memory-transport.d.ts.map +1 -1
- package/dist/src/transport/memory-transport.js +79 -45
- package/dist/src/transport/memory-transport.js.map +1 -1
- package/dist/src/transport/memory-transport.test.js +3 -2
- package/dist/src/transport/memory-transport.test.js.map +1 -1
- package/dist/src/transport/transport.d.ts +8 -4
- package/dist/src/transport/transport.d.ts.map +1 -1
- package/dist/src/transport/webrtc-simple-peer.test.d.ts +2 -0
- package/dist/src/transport/webrtc-simple-peer.test.d.ts.map +1 -0
- package/dist/src/transport/{wrtc-simple-peer.test.js → webrtc-simple-peer.test.js} +2 -2
- package/dist/src/transport/webrtc-simple-peer.test.js.map +1 -0
- package/dist/src/transport/webrtc-transport-proxy.d.ts +4 -4
- package/dist/src/transport/webrtc-transport-proxy.d.ts.map +1 -1
- package/dist/src/transport/webrtc-transport-proxy.js +15 -10
- package/dist/src/transport/webrtc-transport-proxy.js.map +1 -1
- package/dist/src/transport/webrtc-transport-proxy.test.js +2 -2
- package/dist/src/transport/webrtc-transport-proxy.test.js.map +1 -1
- package/dist/src/transport/webrtc-transport-service.js +2 -2
- package/dist/src/transport/webrtc-transport-service.js.map +1 -1
- package/dist/src/transport/webrtc-transport.d.ts +3 -3
- package/dist/src/transport/webrtc-transport.d.ts.map +1 -1
- package/dist/src/transport/webrtc-transport.js +10 -10
- package/dist/src/transport/webrtc-transport.js.map +1 -1
- package/dist/src/transport/webrtc-transport.test.js +3 -3
- package/dist/src/transport/webrtc-transport.test.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +25 -18
- package/src/index.ts +2 -2
- package/src/network-manager.ts +30 -45
- package/src/protocol-factory.ts +5 -3
- package/src/signal/index.ts +2 -2
- package/src/signal/integration.test.ts +1 -1
- package/src/signal/message-router.test.ts +1 -1
- package/src/signal/message-router.ts +2 -2
- package/src/signal/{signal-messaging.ts → signal-messenger.ts} +2 -2
- package/src/swarm/connection.ts +23 -12
- package/src/swarm/peer.ts +156 -0
- package/src/swarm/swarm-mapper.ts +21 -10
- package/src/swarm/swarm.ts +142 -111
- package/src/testing/test-builder.ts +143 -63
- package/src/testing/test-protocol.ts +31 -23
- package/src/tests/basic-test-suite.ts +168 -0
- package/src/tests/memory-transport.test.ts +11 -0
- package/src/{presence.test.ts → tests/presence.test.ts} +24 -23
- package/src/tests/property-test-suite.ts +221 -0
- package/src/tests/utils.ts +85 -0
- package/src/tests/webrtc-transport.test.ts +16 -0
- package/src/topology/fully-connected-topology.ts +5 -4
- package/src/topology/topology.ts +0 -5
- package/src/transport/memory-transport.test.ts +3 -2
- package/src/transport/memory-transport.ts +79 -49
- package/src/transport/transport.ts +9 -3
- package/src/transport/{wrtc-simple-peer.test.ts → webrtc-simple-peer.test.ts} +1 -1
- package/src/transport/webrtc-transport-proxy.test.ts +2 -2
- package/src/transport/webrtc-transport-proxy.ts +17 -8
- package/src/transport/webrtc-transport-service.ts +1 -1
- package/src/transport/webrtc-transport.test.ts +4 -6
- package/src/transport/webrtc-transport.ts +4 -4
- package/dist/src/network-manager.test.d.ts +0 -2
- package/dist/src/network-manager.test.d.ts.map +0 -1
- package/dist/src/network-manager.test.js +0 -596
- package/dist/src/network-manager.test.js.map +0 -1
- package/dist/src/presence.test.d.ts.map +0 -1
- package/dist/src/presence.test.js.map +0 -1
- package/dist/src/signal/signal-messaging.js.map +0 -1
- package/dist/src/transport/wrtc-simple-peer.test.d.ts +0 -2
- package/dist/src/transport/wrtc-simple-peer.test.d.ts.map +0 -1
- package/dist/src/transport/wrtc-simple-peer.test.js.map +0 -1
- package/src/network-manager.test.ts +0 -707
package/dist/src/swarm/swarm.js
CHANGED
|
@@ -15,7 +15,7 @@ const keys_1 = require("@dxos/keys");
|
|
|
15
15
|
const log_1 = require("@dxos/log");
|
|
16
16
|
const util_1 = require("@dxos/util");
|
|
17
17
|
const signal_1 = require("../signal");
|
|
18
|
-
const
|
|
18
|
+
const peer_1 = require("./peer");
|
|
19
19
|
const INITIATION_DELAY = 100;
|
|
20
20
|
// TODO(burdon): Factor out.
|
|
21
21
|
const getClassName = (obj) => Object.getPrototypeOf(obj).constructor.name;
|
|
@@ -25,6 +25,7 @@ const getClassName = (obj) => Object.getPrototypeOf(obj).constructor.name;
|
|
|
25
25
|
* Routes signal events and maintains swarm topology.
|
|
26
26
|
*/
|
|
27
27
|
class Swarm {
|
|
28
|
+
// TODO(burdon): Swarm => Peer.create/destroy =< Connection.open/close
|
|
28
29
|
// TODO(burdon): Split up properties.
|
|
29
30
|
constructor(_topic, _ownPeerId, _topology, _protocolProvider, _messenger, _transportFactory, _label) {
|
|
30
31
|
this._topic = _topic;
|
|
@@ -34,26 +35,29 @@ class Swarm {
|
|
|
34
35
|
this._messenger = _messenger;
|
|
35
36
|
this._transportFactory = _transportFactory;
|
|
36
37
|
this._label = _label;
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
38
|
+
this._peers = new util_1.ComplexMap(keys_1.PublicKey.hash);
|
|
39
|
+
this._destroyed = false;
|
|
39
40
|
/**
|
|
40
41
|
* Unique id of the swarm, local to the current peer, generated when swarm is joined.
|
|
41
42
|
*/
|
|
42
43
|
this.id = keys_1.PublicKey.random();
|
|
43
44
|
/**
|
|
44
45
|
* New connection to a peer is started.
|
|
46
|
+
* @internal
|
|
45
47
|
*/
|
|
46
48
|
this.connectionAdded = new async_1.Event();
|
|
47
49
|
/**
|
|
48
50
|
* Connection to a peer is dropped.
|
|
51
|
+
* @internal
|
|
49
52
|
*/
|
|
50
|
-
this.
|
|
53
|
+
this.disconnected = new async_1.Event();
|
|
51
54
|
/**
|
|
52
55
|
* Connection is established to a new peer.
|
|
56
|
+
* @internal
|
|
53
57
|
*/
|
|
54
58
|
this.connected = new async_1.Event();
|
|
55
59
|
this.errors = new debug_1.ErrorStream();
|
|
56
|
-
(0, log_1.log)('creating swarm', { topic: this._topic, peerId: _ownPeerId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
60
|
+
(0, log_1.log)('creating swarm', { id: this.id, topic: this._topic, peerId: _ownPeerId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 79, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
57
61
|
_topology.init(this._getSwarmController());
|
|
58
62
|
this._swarmMessenger = new signal_1.MessageRouter({
|
|
59
63
|
sendMessage: async (msg) => await this._messenger.sendMessage(msg),
|
|
@@ -67,10 +71,12 @@ class Swarm {
|
|
|
67
71
|
payloadType: 'dxos.mesh.swarm.SwarmMessage',
|
|
68
72
|
onMessage: async (message) => await this._swarmMessenger.receiveMessage(message)
|
|
69
73
|
})
|
|
70
|
-
.catch((error) => log_1.log.catch(error, {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
74
|
+
.catch((error) => log_1.log.catch(error, {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 95, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." }));
|
|
71
75
|
}
|
|
72
76
|
get connections() {
|
|
73
|
-
return Array.from(this.
|
|
77
|
+
return Array.from(this._peers.values())
|
|
78
|
+
.map((peer) => peer.connection)
|
|
79
|
+
.filter(util_1.isNotNullOrUndefined);
|
|
74
80
|
}
|
|
75
81
|
get ownPeerId() {
|
|
76
82
|
return this._ownPeerId;
|
|
@@ -84,42 +90,115 @@ class Swarm {
|
|
|
84
90
|
get topic() {
|
|
85
91
|
return this._topic;
|
|
86
92
|
}
|
|
93
|
+
// TODO(burdon): async open?
|
|
94
|
+
async destroy() {
|
|
95
|
+
(0, log_1.log)('destroying', { id: this.id, topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 121, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
96
|
+
this._destroyed = true;
|
|
97
|
+
await this._topology.destroy();
|
|
98
|
+
await Promise.all(Array.from(this._peers.keys()).map((key) => this._closeConnection(key)));
|
|
99
|
+
}
|
|
100
|
+
async setTopology(topology) {
|
|
101
|
+
if (topology === this._topology) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
(0, log_1.log)('setting topology', {
|
|
105
|
+
id: this.id,
|
|
106
|
+
topic: this._topic,
|
|
107
|
+
previous: getClassName(this._topology),
|
|
108
|
+
topology: getClassName(topology)
|
|
109
|
+
}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 131, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
110
|
+
await this._topology.destroy();
|
|
111
|
+
this._topology = topology;
|
|
112
|
+
this._topology.init(this._getSwarmController());
|
|
113
|
+
this._topology.update();
|
|
114
|
+
}
|
|
115
|
+
_getOrCreatePeer(peerId) {
|
|
116
|
+
let peer = this._peers.get(peerId);
|
|
117
|
+
if (!peer) {
|
|
118
|
+
peer = new peer_1.Peer(peerId, this._topic, this._ownPeerId, {
|
|
119
|
+
onConnected: () => {
|
|
120
|
+
this.connected.emit(peerId);
|
|
121
|
+
},
|
|
122
|
+
onDisconnected: async () => {
|
|
123
|
+
if (!peer.advertizing) {
|
|
124
|
+
await this._destroyPeer(peer.id);
|
|
125
|
+
}
|
|
126
|
+
this.disconnected.emit(peerId);
|
|
127
|
+
this._topology.update();
|
|
128
|
+
},
|
|
129
|
+
onRejected: () => {
|
|
130
|
+
// If the peer rejected our connection remove it from the set of candidates.
|
|
131
|
+
// TODO(dmaretskyi): Set flag instead.
|
|
132
|
+
if (this._peers.has(peerId)) {
|
|
133
|
+
void this._destroyPeer(peerId);
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
onAccepted: () => {
|
|
137
|
+
this._topology.update();
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
this._peers.set(peerId, peer);
|
|
141
|
+
}
|
|
142
|
+
return peer;
|
|
143
|
+
}
|
|
144
|
+
async _destroyPeer(peerId) {
|
|
145
|
+
(0, node_assert_1.default)(this._peers.has(peerId));
|
|
146
|
+
await this._peers.get(peerId).destroy();
|
|
147
|
+
this._peers.delete(peerId);
|
|
148
|
+
}
|
|
87
149
|
onSwarmEvent(swarmEvent) {
|
|
88
|
-
(0, log_1.log)('swarm event', { topic: this._topic, swarmEvent }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
150
|
+
(0, log_1.log)('swarm event', { id: this.id, topic: this._topic, swarmEvent }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 183, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." }); // TODO(burdon): Stringify.
|
|
151
|
+
if (this._destroyed) {
|
|
152
|
+
log_1.log.warn('ignored for destroyed swarm', { peerId: this.id, topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 185, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
89
155
|
if (swarmEvent.peerAvailable) {
|
|
90
156
|
const peerId = keys_1.PublicKey.from(swarmEvent.peerAvailable.peer);
|
|
91
|
-
(0, log_1.log)('new peer', { topic: this._topic, peerId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
157
|
+
(0, log_1.log)('new peer', { id: this.id, topic: this._topic, peerId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 191, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
92
158
|
if (!peerId.equals(this._ownPeerId)) {
|
|
93
|
-
this.
|
|
159
|
+
const peer = this._getOrCreatePeer(peerId);
|
|
160
|
+
peer.advertizing = true;
|
|
94
161
|
}
|
|
95
162
|
}
|
|
96
163
|
else if (swarmEvent.peerLeft) {
|
|
97
|
-
this.
|
|
164
|
+
const peer = this._peers.get(keys_1.PublicKey.from(swarmEvent.peerLeft.peer));
|
|
165
|
+
if (peer) {
|
|
166
|
+
peer.advertizing = false;
|
|
167
|
+
if (!peer.connection) {
|
|
168
|
+
void this._destroyPeer(peer.id);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
98
171
|
}
|
|
99
172
|
this._topology.update();
|
|
100
173
|
}
|
|
101
174
|
async onOffer(message) {
|
|
102
175
|
var _a, _b;
|
|
103
|
-
(0, log_1.log)('offer', { topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
176
|
+
(0, log_1.log)('offer', { id: this.id, topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 210, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
177
|
+
if (this._destroyed) {
|
|
178
|
+
log_1.log.warn('ignored for destroyed swarm', { peerId: this.id, topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 212, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
179
|
+
return { accept: false };
|
|
180
|
+
}
|
|
104
181
|
// Id of the peer offering us the connection.
|
|
105
182
|
(0, node_assert_1.default)(message.author);
|
|
106
183
|
const remoteId = message.author;
|
|
107
184
|
if (!((_a = message.recipient) === null || _a === void 0 ? void 0 : _a.equals(this._ownPeerId))) {
|
|
108
|
-
(0, log_1.log)('rejecting offer with incorrect peerId', { topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
185
|
+
(0, log_1.log)('rejecting offer with incorrect peerId', { id: this.id, topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 220, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
109
186
|
return { accept: false };
|
|
110
187
|
}
|
|
111
188
|
if (!((_b = message.topic) === null || _b === void 0 ? void 0 : _b.equals(this._topic))) {
|
|
112
|
-
(0, log_1.log)('rejecting offer with incorrect topic', { topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
189
|
+
(0, log_1.log)('rejecting offer with incorrect topic', { id: this.id, topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 224, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
113
190
|
return { accept: false };
|
|
114
191
|
}
|
|
192
|
+
const peer = this._getOrCreatePeer(remoteId);
|
|
115
193
|
// Check if we are already trying to connect to that peer.
|
|
116
|
-
if (
|
|
117
|
-
// Peer with the highest Id closes
|
|
194
|
+
if (peer.connection) {
|
|
195
|
+
// Peer with the highest Id closes its connection, and accepts remote peer's offer.
|
|
118
196
|
if (remoteId.toHex() < this._ownPeerId.toHex()) {
|
|
119
197
|
(0, log_1.log)("closing local connection and accepting remote peer's offer", {
|
|
198
|
+
id: this.id,
|
|
120
199
|
topic: this._topic,
|
|
121
200
|
peerId: this._ownPeerId
|
|
122
|
-
}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
201
|
+
}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 234, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
123
202
|
// Close our connection and accept remote peer's connection.
|
|
124
203
|
await this._closeConnection(remoteId).catch((err) => {
|
|
125
204
|
this.errors.raise(err);
|
|
@@ -132,12 +211,12 @@ class Swarm {
|
|
|
132
211
|
}
|
|
133
212
|
let accept = false;
|
|
134
213
|
if (await this._topology.onOffer(remoteId)) {
|
|
135
|
-
if (!
|
|
214
|
+
if (!peer.connection) {
|
|
136
215
|
// Connection might have been already established.
|
|
137
216
|
(0, node_assert_1.default)(message.sessionId);
|
|
138
217
|
const connection = this._createConnection(false, message.author, message.sessionId);
|
|
139
218
|
try {
|
|
140
|
-
connection.
|
|
219
|
+
connection.openConnection();
|
|
141
220
|
}
|
|
142
221
|
catch (err) {
|
|
143
222
|
this.errors.raise(err);
|
|
@@ -150,42 +229,27 @@ class Swarm {
|
|
|
150
229
|
}
|
|
151
230
|
async onSignal(message) {
|
|
152
231
|
var _a, _b;
|
|
153
|
-
(0, log_1.log)('signal', { topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
232
|
+
(0, log_1.log)('signal', { id: this.id, topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 270, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
233
|
+
if (this._destroyed) {
|
|
234
|
+
log_1.log.warn('ignored for destroyed swarm', { peerId: this.id, topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 272, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
154
237
|
(0, node_assert_1.default)((_a = message.recipient) === null || _a === void 0 ? void 0 : _a.equals(this._ownPeerId), `Invalid signal peer id expected=${this.ownPeerId}, actual=${message.recipient}`);
|
|
155
238
|
(0, node_assert_1.default)((_b = message.topic) === null || _b === void 0 ? void 0 : _b.equals(this._topic));
|
|
156
239
|
(0, node_assert_1.default)(message.author);
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
(0, log_1.log)('dropping signal message for non-existent connection', { topic: this._topic, message }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 187 });
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
await connection.signal(message);
|
|
163
|
-
}
|
|
164
|
-
async setTopology(topology) {
|
|
165
|
-
if (topology === this._topology) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
(0, log_1.log)('setting topology', {
|
|
169
|
-
topic: this._topic,
|
|
170
|
-
previous: getClassName(this._topology),
|
|
171
|
-
topology: getClassName(topology)
|
|
172
|
-
}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 198 });
|
|
173
|
-
await this._topology.destroy();
|
|
174
|
-
this._topology = topology;
|
|
175
|
-
this._topology.init(this._getSwarmController());
|
|
176
|
-
this._topology.update();
|
|
177
|
-
}
|
|
178
|
-
async destroy() {
|
|
179
|
-
(0, log_1.log)('destroying', { topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 210 });
|
|
180
|
-
await this._topology.destroy();
|
|
181
|
-
await Promise.all(Array.from(this._connections.keys()).map((key) => this._closeConnection(key)));
|
|
240
|
+
const peer = this._getOrCreatePeer(message.author);
|
|
241
|
+
await peer.onSignal(message);
|
|
182
242
|
}
|
|
183
243
|
_getSwarmController() {
|
|
184
244
|
return {
|
|
185
245
|
getState: () => ({
|
|
186
246
|
ownPeerId: this._ownPeerId,
|
|
187
|
-
connected: Array.from(this.
|
|
188
|
-
|
|
247
|
+
connected: Array.from(this._peers.values())
|
|
248
|
+
.filter((peer) => peer.connection)
|
|
249
|
+
.map((peer) => peer.id),
|
|
250
|
+
candidates: Array.from(this._peers.values())
|
|
251
|
+
.filter((peer) => !peer.connection && peer.advertizing)
|
|
252
|
+
.map((peer) => peer.id)
|
|
189
253
|
}),
|
|
190
254
|
connect: (peer) => this._initiateConnection(peer),
|
|
191
255
|
disconnect: async (peer) => {
|
|
@@ -199,77 +263,42 @@ class Swarm {
|
|
|
199
263
|
}
|
|
200
264
|
};
|
|
201
265
|
}
|
|
202
|
-
|
|
266
|
+
/**
|
|
267
|
+
* Creates a connection then sends message over signal network.
|
|
268
|
+
*/
|
|
203
269
|
async _initiateConnection(remoteId) {
|
|
270
|
+
var _a;
|
|
204
271
|
// It is likely that the other peer will also try to connect to us at the same time.
|
|
205
272
|
// If our peerId is higher, we will wait for a bit so that other peer has a chance to connect first.
|
|
206
273
|
if (remoteId.toHex() < this._ownPeerId.toHex()) {
|
|
207
274
|
await (0, async_1.sleep)(INITIATION_DELAY);
|
|
208
275
|
}
|
|
209
|
-
if (this.
|
|
276
|
+
if ((_a = this._peers.get(remoteId)) === null || _a === void 0 ? void 0 : _a.connection) {
|
|
210
277
|
// Do nothing if peer is already connected.
|
|
211
278
|
return;
|
|
212
279
|
}
|
|
213
280
|
const sessionId = keys_1.PublicKey.random();
|
|
214
|
-
(0, log_1.log)('initiating...', { topic: this._topic, peerId: remoteId, sessionId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
281
|
+
(0, log_1.log)('initiating...', { id: this.id, topic: this._topic, peerId: remoteId, sessionId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 326, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
215
282
|
const connection = this._createConnection(true, remoteId, sessionId);
|
|
216
283
|
connection.initiate();
|
|
217
284
|
this._topology.update();
|
|
218
|
-
(0, log_1.log)('initiated', { topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line:
|
|
285
|
+
(0, log_1.log)('initiated', { id: this.id, topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 330, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
219
286
|
}
|
|
220
|
-
|
|
287
|
+
/**
|
|
288
|
+
* Synchronously create a connection, which must be initialized.
|
|
289
|
+
*/
|
|
221
290
|
_createConnection(initiator, remoteId, sessionId) {
|
|
222
|
-
|
|
223
|
-
(0,
|
|
224
|
-
const connection = new connection_1.Connection(this._topic, this._ownPeerId, remoteId, sessionId, initiator, this._swarmMessenger, this._protocolProvider({ channel: (0, crypto_1.discoveryKey)(this._topic), initiator }), this._transportFactory);
|
|
225
|
-
this._connections.set(remoteId, connection);
|
|
291
|
+
const peer = this._getOrCreatePeer(remoteId);
|
|
292
|
+
const connection = peer.createConnection(this._swarmMessenger, initiator, sessionId, this._protocolProvider({ channel: (0, crypto_1.discoveryKey)(this._topic), initiator }), this._transportFactory);
|
|
226
293
|
this.connectionAdded.emit(connection);
|
|
227
|
-
connection.errors.handle((err) => {
|
|
228
|
-
// TODO(burdon): Change to warn? Why does this fail during tests?
|
|
229
|
-
(0, log_1.log)('connection failed', { topic: this._topic, peerId: this._ownPeerId, remoteId, initiator, err }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 277 });
|
|
230
|
-
this._closeConnection(remoteId).catch((err) => this.errors.raise(err));
|
|
231
|
-
});
|
|
232
|
-
connection.stateChanged.on((state) => {
|
|
233
|
-
var _a;
|
|
234
|
-
switch (state) {
|
|
235
|
-
case connection_1.ConnectionState.CONNECTED: {
|
|
236
|
-
this.connected.emit(remoteId);
|
|
237
|
-
break;
|
|
238
|
-
}
|
|
239
|
-
case connection_1.ConnectionState.REJECTED: {
|
|
240
|
-
// If the peer rejected our connection remove it from the set of candidates.
|
|
241
|
-
this._discoveredPeers.delete(remoteId);
|
|
242
|
-
break;
|
|
243
|
-
}
|
|
244
|
-
case connection_1.ConnectionState.ACCEPTED: {
|
|
245
|
-
this._topology.update();
|
|
246
|
-
break;
|
|
247
|
-
}
|
|
248
|
-
case connection_1.ConnectionState.CLOSED: {
|
|
249
|
-
(0, log_1.log)('connection closed', { topic: this._topic, peerId: this._ownPeerId, remoteId, initiator }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 300 });
|
|
250
|
-
// Connection might have been already closed or replace by a different one.
|
|
251
|
-
// Only remove the connection if it has the same session id.
|
|
252
|
-
if ((_a = this._connections.get(remoteId)) === null || _a === void 0 ? void 0 : _a.sessionId.equals(sessionId)) {
|
|
253
|
-
this._connections.delete(remoteId);
|
|
254
|
-
this.connectionRemoved.emit(connection);
|
|
255
|
-
this._topology.update();
|
|
256
|
-
}
|
|
257
|
-
break;
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
294
|
return connection;
|
|
262
295
|
}
|
|
263
|
-
// TODO(burdon): Make async.
|
|
264
296
|
async _closeConnection(peerId) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
if (!connection) {
|
|
297
|
+
const peer = this._peers.get(peerId);
|
|
298
|
+
if (!peer) {
|
|
268
299
|
return;
|
|
269
300
|
}
|
|
270
|
-
|
|
271
|
-
await connection.close();
|
|
272
|
-
(0, log_1.log)('closed', { topic: this._topic }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 326 });
|
|
301
|
+
await peer.closeConnection();
|
|
273
302
|
}
|
|
274
303
|
}
|
|
275
304
|
exports.Swarm = Swarm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/swarm/swarm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/swarm/swarm.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,9 +66,9 @@ describe('Swarm', function () {
|
|
|
66
66
|
since: new Date()
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
|
-
(0, log_1.log)('Candidates changed', {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.test.ts", line: 89 });
|
|
69
|
+
(0, log_1.log)('Candidates changed', {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.test.ts", line: 89, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
70
70
|
await promise;
|
|
71
|
-
(0, log_1.log)('Swarms connected', {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.test.ts", line: 91 });
|
|
71
|
+
(0, log_1.log)('Swarms connected', {}, { file: "packages/core/mesh/network-manager/src/swarm/swarm.test.ts", line: 91, scope: this, bugcheck: "If you see this message then it means that the source code preprocessor for @dxos/log is broken. It probably has misinterpreted an unrelated call for a logger invocation." });
|
|
72
72
|
await (0, wait_for_expect_1.default)(() => {
|
|
73
73
|
(0, earljs_1.expect)(receivedData).toEqual(data);
|
|
74
74
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swarm.test.js","sourceRoot":"","sources":["../../../src/swarm/swarm.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"swarm.test.js","sourceRoot":"","sources":["../../../src/swarm/swarm.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,45 @@
|
|
|
1
1
|
import { PublicKey } from '@dxos/keys';
|
|
2
2
|
import { MemorySignalManager, WebsocketSignalManager } from '@dxos/messaging';
|
|
3
3
|
import { NetworkManager } from '../network-manager';
|
|
4
|
-
import {
|
|
5
|
-
import { TransportFactory } from '../transport';
|
|
4
|
+
import { FullyConnectedTopology } from '../topology';
|
|
6
5
|
import { TestProtocolPlugin } from './test-protocol';
|
|
7
6
|
export declare const TEST_SIGNAL_URL = "ws://localhost:4000/.well-known/dx/signal";
|
|
8
|
-
export
|
|
9
|
-
|
|
7
|
+
export type TestBuilderOptions = {
|
|
8
|
+
signalHosts?: string[];
|
|
9
|
+
bridge?: boolean;
|
|
10
10
|
};
|
|
11
|
+
/**
|
|
12
|
+
* Builder used to construct networks and peers.
|
|
13
|
+
*/
|
|
11
14
|
export declare class TestBuilder {
|
|
12
|
-
|
|
15
|
+
readonly options: TestBuilderOptions;
|
|
13
16
|
private _signalContext;
|
|
14
|
-
constructor(
|
|
17
|
+
constructor(options?: TestBuilderOptions);
|
|
15
18
|
createSignalManager(): WebsocketSignalManager | MemorySignalManager;
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
export interface CreatePeerOptions {
|
|
19
|
-
topic: PublicKey;
|
|
20
|
-
peerId: PublicKey;
|
|
21
|
-
topology?: Topology;
|
|
22
|
-
signalHosts?: string[];
|
|
23
|
-
transportFactory: TransportFactory;
|
|
19
|
+
createPeer(): TestPeer;
|
|
24
20
|
}
|
|
25
21
|
/**
|
|
26
|
-
*
|
|
22
|
+
* Testing network peer.
|
|
27
23
|
*/
|
|
28
|
-
export declare
|
|
29
|
-
|
|
24
|
+
export declare class TestPeer {
|
|
25
|
+
private readonly testBuilder;
|
|
26
|
+
readonly peerId: PublicKey;
|
|
27
|
+
private readonly _swarms;
|
|
28
|
+
private _proxy?;
|
|
29
|
+
private _service?;
|
|
30
|
+
constructor(testBuilder: TestBuilder);
|
|
31
|
+
createNetworkManager(): NetworkManager;
|
|
32
|
+
open(): Promise<void>;
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
getSwarm(topic: PublicKey): TestSwarmConnection;
|
|
35
|
+
createSwarm(topic: PublicKey): TestSwarmConnection;
|
|
36
|
+
}
|
|
37
|
+
export declare class TestSwarmConnection {
|
|
38
|
+
readonly peer: TestPeer;
|
|
39
|
+
readonly topic: PublicKey;
|
|
30
40
|
plugin: TestProtocolPlugin;
|
|
31
|
-
|
|
41
|
+
constructor(peer: TestPeer, topic: PublicKey);
|
|
42
|
+
join(topology?: FullyConnectedTopology): Promise<this>;
|
|
43
|
+
leave(): Promise<this>;
|
|
44
|
+
}
|
|
32
45
|
//# sourceMappingURL=test-builder.d.ts.map
|
|
@@ -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;
|
|
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;AAK1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,EAAE,kBAAkB,EAAwB,MAAM,iBAAiB,CAAC;AAG3E,eAAO,MAAM,eAAe,8CAA8C,CAAC;AAE3E,MAAM,MAAM,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;IAKJ,KAAK;IASX,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;IAS/C,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,mBAAmB;CAUnD;AAGD,qBAAa,mBAAmB;IAGlB,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;IAF9D,MAAM,EAAE,kBAAkB,CAAC;gBAEN,IAAI,EAAE,QAAQ,EAAW,KAAK,EAAE,SAAS;IAQxD,IAAI,CAAC,QAAQ,yBAA+B;IAW5C,KAAK;CAIZ"}
|