@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.
Files changed (153) hide show
  1. package/dist/src/index.d.ts +2 -2
  2. package/dist/src/index.d.ts.map +1 -1
  3. package/dist/src/index.js +2 -2
  4. package/dist/src/index.js.map +1 -1
  5. package/dist/src/network-manager.d.ts +10 -14
  6. package/dist/src/network-manager.d.ts.map +1 -1
  7. package/dist/src/network-manager.js +28 -33
  8. package/dist/src/network-manager.js.map +1 -1
  9. package/dist/src/protocol-factory.d.ts.map +1 -1
  10. package/dist/src/protocol-factory.js +8 -6
  11. package/dist/src/protocol-factory.js.map +1 -1
  12. package/dist/src/signal/index.d.ts +2 -2
  13. package/dist/src/signal/index.d.ts.map +1 -1
  14. package/dist/src/signal/index.js +2 -2
  15. package/dist/src/signal/index.js.map +1 -1
  16. package/dist/src/signal/message-router.d.ts +2 -2
  17. package/dist/src/signal/message-router.js +3 -3
  18. package/dist/src/signal/message-router.js.map +1 -1
  19. package/dist/src/signal/{signal-messaging.d.ts → signal-messenger.d.ts} +2 -2
  20. package/dist/src/signal/{signal-messaging.d.ts.map → signal-messenger.d.ts.map} +1 -1
  21. package/dist/src/signal/{signal-messaging.js → signal-messenger.js} +1 -1
  22. package/dist/src/signal/signal-messenger.js.map +1 -0
  23. package/dist/src/swarm/connection.d.ts +6 -3
  24. package/dist/src/swarm/connection.d.ts.map +1 -1
  25. package/dist/src/swarm/connection.js +28 -15
  26. package/dist/src/swarm/connection.js.map +1 -1
  27. package/dist/src/swarm/peer.d.ts +45 -0
  28. package/dist/src/swarm/peer.d.ts.map +1 -0
  29. package/dist/src/swarm/peer.js +113 -0
  30. package/dist/src/swarm/peer.js.map +1 -0
  31. package/dist/src/swarm/swarm-mapper.d.ts +2 -2
  32. package/dist/src/swarm/swarm-mapper.d.ts.map +1 -1
  33. package/dist/src/swarm/swarm-mapper.js +12 -10
  34. package/dist/src/swarm/swarm-mapper.js.map +1 -1
  35. package/dist/src/swarm/swarm.d.ts +13 -18
  36. package/dist/src/swarm/swarm.d.ts.map +1 -1
  37. package/dist/src/swarm/swarm.js +126 -97
  38. package/dist/src/swarm/swarm.js.map +1 -1
  39. package/dist/src/swarm/swarm.test.js +2 -2
  40. package/dist/src/swarm/swarm.test.js.map +1 -1
  41. package/dist/src/testing/test-builder.d.ts +31 -18
  42. package/dist/src/testing/test-builder.d.ts.map +1 -1
  43. package/dist/src/testing/test-builder.js +120 -48
  44. package/dist/src/testing/test-builder.js.map +1 -1
  45. package/dist/src/testing/test-protocol.d.ts +5 -5
  46. package/dist/src/testing/test-protocol.d.ts.map +1 -1
  47. package/dist/src/testing/test-protocol.js +28 -24
  48. package/dist/src/testing/test-protocol.js.map +1 -1
  49. package/dist/src/tests/basic-test-suite.d.ts +6 -0
  50. package/dist/src/tests/basic-test-suite.d.ts.map +1 -0
  51. package/dist/src/tests/basic-test-suite.js +142 -0
  52. package/dist/src/tests/basic-test-suite.js.map +1 -0
  53. package/dist/src/tests/memory-transport.test.d.ts +2 -0
  54. package/dist/src/tests/memory-transport.test.d.ts.map +1 -0
  55. package/dist/src/tests/memory-transport.test.js +12 -0
  56. package/dist/src/tests/memory-transport.test.js.map +1 -0
  57. package/dist/src/{presence.test.d.ts → tests/presence.test.d.ts} +0 -0
  58. package/dist/src/tests/presence.test.d.ts.map +1 -0
  59. package/dist/src/{presence.test.js → tests/presence.test.js} +21 -20
  60. package/dist/src/tests/presence.test.js.map +1 -0
  61. package/dist/src/tests/property-test-suite.d.ts +5 -0
  62. package/dist/src/tests/property-test-suite.d.ts.map +1 -0
  63. package/dist/src/tests/property-test-suite.js +203 -0
  64. package/dist/src/tests/property-test-suite.js.map +1 -0
  65. package/dist/src/tests/utils.d.ts +21 -0
  66. package/dist/src/tests/utils.d.ts.map +1 -0
  67. package/dist/src/tests/utils.js +76 -0
  68. package/dist/src/tests/utils.js.map +1 -0
  69. package/dist/src/tests/webrtc-transport.test.d.ts +2 -0
  70. package/dist/src/tests/webrtc-transport.test.d.ts.map +1 -0
  71. package/dist/src/tests/webrtc-transport.test.js +16 -0
  72. package/dist/src/tests/webrtc-transport.test.js.map +1 -0
  73. package/dist/src/topology/fully-connected-topology.d.ts +1 -1
  74. package/dist/src/topology/fully-connected-topology.d.ts.map +1 -1
  75. package/dist/src/topology/fully-connected-topology.js +4 -3
  76. package/dist/src/topology/fully-connected-topology.js.map +1 -1
  77. package/dist/src/topology/mmst-topology.js +4 -4
  78. package/dist/src/topology/mmst-topology.js.map +1 -1
  79. package/dist/src/topology/star-topology.js +4 -4
  80. package/dist/src/topology/star-topology.js.map +1 -1
  81. package/dist/src/topology/topology.d.ts +0 -5
  82. package/dist/src/topology/topology.d.ts.map +1 -1
  83. package/dist/src/transport/memory-transport.d.ts +8 -7
  84. package/dist/src/transport/memory-transport.d.ts.map +1 -1
  85. package/dist/src/transport/memory-transport.js +79 -45
  86. package/dist/src/transport/memory-transport.js.map +1 -1
  87. package/dist/src/transport/memory-transport.test.js +3 -2
  88. package/dist/src/transport/memory-transport.test.js.map +1 -1
  89. package/dist/src/transport/transport.d.ts +8 -4
  90. package/dist/src/transport/transport.d.ts.map +1 -1
  91. package/dist/src/transport/webrtc-simple-peer.test.d.ts +2 -0
  92. package/dist/src/transport/webrtc-simple-peer.test.d.ts.map +1 -0
  93. package/dist/src/transport/{wrtc-simple-peer.test.js → webrtc-simple-peer.test.js} +2 -2
  94. package/dist/src/transport/webrtc-simple-peer.test.js.map +1 -0
  95. package/dist/src/transport/webrtc-transport-proxy.d.ts +4 -4
  96. package/dist/src/transport/webrtc-transport-proxy.d.ts.map +1 -1
  97. package/dist/src/transport/webrtc-transport-proxy.js +15 -10
  98. package/dist/src/transport/webrtc-transport-proxy.js.map +1 -1
  99. package/dist/src/transport/webrtc-transport-proxy.test.js +2 -2
  100. package/dist/src/transport/webrtc-transport-proxy.test.js.map +1 -1
  101. package/dist/src/transport/webrtc-transport-service.js +2 -2
  102. package/dist/src/transport/webrtc-transport-service.js.map +1 -1
  103. package/dist/src/transport/webrtc-transport.d.ts +3 -3
  104. package/dist/src/transport/webrtc-transport.d.ts.map +1 -1
  105. package/dist/src/transport/webrtc-transport.js +10 -10
  106. package/dist/src/transport/webrtc-transport.js.map +1 -1
  107. package/dist/src/transport/webrtc-transport.test.js +3 -3
  108. package/dist/src/transport/webrtc-transport.test.js.map +1 -1
  109. package/dist/src/types.d.ts +1 -1
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/package.json +25 -18
  112. package/src/index.ts +2 -2
  113. package/src/network-manager.ts +30 -45
  114. package/src/protocol-factory.ts +5 -3
  115. package/src/signal/index.ts +2 -2
  116. package/src/signal/integration.test.ts +1 -1
  117. package/src/signal/message-router.test.ts +1 -1
  118. package/src/signal/message-router.ts +2 -2
  119. package/src/signal/{signal-messaging.ts → signal-messenger.ts} +2 -2
  120. package/src/swarm/connection.ts +23 -12
  121. package/src/swarm/peer.ts +156 -0
  122. package/src/swarm/swarm-mapper.ts +21 -10
  123. package/src/swarm/swarm.ts +142 -111
  124. package/src/testing/test-builder.ts +143 -63
  125. package/src/testing/test-protocol.ts +31 -23
  126. package/src/tests/basic-test-suite.ts +168 -0
  127. package/src/tests/memory-transport.test.ts +11 -0
  128. package/src/{presence.test.ts → tests/presence.test.ts} +24 -23
  129. package/src/tests/property-test-suite.ts +221 -0
  130. package/src/tests/utils.ts +85 -0
  131. package/src/tests/webrtc-transport.test.ts +16 -0
  132. package/src/topology/fully-connected-topology.ts +5 -4
  133. package/src/topology/topology.ts +0 -5
  134. package/src/transport/memory-transport.test.ts +3 -2
  135. package/src/transport/memory-transport.ts +79 -49
  136. package/src/transport/transport.ts +9 -3
  137. package/src/transport/{wrtc-simple-peer.test.ts → webrtc-simple-peer.test.ts} +1 -1
  138. package/src/transport/webrtc-transport-proxy.test.ts +2 -2
  139. package/src/transport/webrtc-transport-proxy.ts +17 -8
  140. package/src/transport/webrtc-transport-service.ts +1 -1
  141. package/src/transport/webrtc-transport.test.ts +4 -6
  142. package/src/transport/webrtc-transport.ts +4 -4
  143. package/dist/src/network-manager.test.d.ts +0 -2
  144. package/dist/src/network-manager.test.d.ts.map +0 -1
  145. package/dist/src/network-manager.test.js +0 -596
  146. package/dist/src/network-manager.test.js.map +0 -1
  147. package/dist/src/presence.test.d.ts.map +0 -1
  148. package/dist/src/presence.test.js.map +0 -1
  149. package/dist/src/signal/signal-messaging.js.map +0 -1
  150. package/dist/src/transport/wrtc-simple-peer.test.d.ts +0 -2
  151. package/dist/src/transport/wrtc-simple-peer.test.d.ts.map +0 -1
  152. package/dist/src/transport/wrtc-simple-peer.test.js.map +0 -1
  153. package/src/network-manager.test.ts +0 -707
@@ -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 connection_1 = require("./connection");
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._connections = new util_1.ComplexMap(keys_1.PublicKey.hash);
38
- this._discoveredPeers = new util_1.ComplexSet(keys_1.PublicKey.hash);
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.connectionRemoved = new async_1.Event();
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: 72 });
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: 88 }));
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._connections.values());
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: 111 });
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: 114 });
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._discoveredPeers.add(peerId);
159
+ const peer = this._getOrCreatePeer(peerId);
160
+ peer.advertizing = true;
94
161
  }
95
162
  }
96
163
  else if (swarmEvent.peerLeft) {
97
- this._discoveredPeers.delete(keys_1.PublicKey.from(swarmEvent.peerLeft.peer));
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: 126 });
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: 131 });
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: 135 });
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 (this._connections.has(remoteId)) {
117
- // Peer with the highest Id closes it's connection, and accepts remote peer's offer.
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: 143 });
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 (!this._connections.has(remoteId)) {
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.open();
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: 178 });
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 connection = this._connections.get(message.author);
158
- if (!connection) {
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._connections.keys()),
188
- candidates: Array.from(this._discoveredPeers.keys()).filter((key) => !this._connections.has(key))
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
- // TODO(burdon): Make async.
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._connections.has(remoteId)) {
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: 249 });
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: 253 });
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
- // TODO(burdon): Make async.
287
+ /**
288
+ * Synchronously create a connection, which must be initialized.
289
+ */
221
290
  _createConnection(initiator, remoteId, sessionId) {
222
- (0, log_1.log)('creating connection', { topic: this._topic, peerId: this._ownPeerId, remoteId, initiator }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 258 });
223
- (0, node_assert_1.default)(!this._connections.has(remoteId), 'Peer already connected.');
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
- (0, log_1.log)('closing...', { topic: this._topic, peerId }, { file: "packages/core/mesh/network-manager/src/swarm/swarm.ts", line: 318 });
266
- const connection = this._connections.get(peerId);
267
- if (!connection) {
297
+ const peer = this._peers.get(peerId);
298
+ if (!peer) {
268
299
  return;
269
300
  }
270
- this._connections.delete(peerId);
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":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAA2C;AAC3C,yCAA4C;AAC5C,uCAA0C;AAC1C,qCAAuC;AACvC,mCAAgC;AAIhC,qCAAoD;AAGpD,sCAA0C;AAK1C,6CAA2D;AAE3D,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,4BAA4B;AAC5B,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAE/E;;;;GAIG;AACH,MAAa,KAAK;IA2BhB,qCAAqC;IACrC,YACmB,MAAiB,EACjB,UAAqB,EAC9B,SAAmB,EACV,iBAAmC,EACnC,UAAqB,EACrB,iBAAmC,EACnC,MAA0B;QAN1B,WAAM,GAAN,MAAM,CAAW;QACjB,eAAU,GAAV,UAAU,CAAW;QAC9B,cAAS,GAAT,SAAS,CAAU;QACV,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,eAAU,GAAV,UAAU,CAAW;QACrB,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,WAAM,GAAN,MAAM,CAAoB;QAlC5B,iBAAY,GAAG,IAAI,iBAAU,CAAwB,gBAAS,CAAC,IAAI,CAAC,CAAC;QACrE,qBAAgB,GAAG,IAAI,iBAAU,CAAY,gBAAS,CAAC,IAAI,CAAC,CAAC;QAG9E;;WAEG;QACM,OAAE,GAAG,gBAAS,CAAC,MAAM,EAAE,CAAC;QAEjC;;WAEG;QACM,oBAAe,GAAG,IAAI,aAAK,EAAc,CAAC;QAEnD;;WAEG;QACM,sBAAiB,GAAG,IAAI,aAAK,EAAc,CAAC;QAErD;;WAEG;QACM,cAAS,GAAG,IAAI,aAAK,EAAa,CAAC;QAEnC,WAAM,GAAG,IAAI,mBAAW,EAAE,CAAC;QAYlC,IAAA,SAAG,EAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,8EAAC,CAAC;QAClE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAa,CAAC;YACvC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;YAClE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC;YACN,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,WAAW,EAAE,8BAA8B;YAC3C,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC;SACjF,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAG,CAAC,KAAK,CAAC,KAAK,kFAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,UAAsB;QACjC,IAAA,SAAG,EAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,+EAAC,CAAC;QACvD,IAAI,UAAU,CAAC,aAAa,EAAE;YAC5B,MAAM,MAAM,GAAG,gBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAA,SAAG,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,+EAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;aACnC;SACF;aAAM,IAAI,UAAU,CAAC,QAAQ,EAAE;YAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACxE;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;;QACjC,IAAA,SAAG,EAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,+EAAC,CAAC;QAC9C,6CAA6C;QAC7C,IAAA,qBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA,EAAE;YAC/C,IAAA,SAAG,EAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,+EAAC,CAAC;YAC9E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,EAAE;YACvC,IAAA,SAAG,EAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,+EAAC,CAAC;YAC7E,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC1B;QAED,0DAA0D;QAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnC,oFAAoF;YACpF,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;gBAC9C,IAAA,SAAG,EAAC,4DAA4D,EAAE;oBAChE,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,IAAI,CAAC,UAAU;iBACxB,+EAAC,CAAC;gBACH,4DAA4D;gBAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,qGAAqG;gBACrG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aACzB;SACF;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACpC,kDAAkD;gBAClD,IAAA,qBAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpF,IAAI;oBACF,UAAU,CAAC,IAAI,EAAE,CAAC;iBACnB;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;gBAED,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB;;QACnC,IAAA,SAAG,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,+EAAC,CAAC;QAC/C,IAAA,qBAAM,EACJ,MAAA,OAAO,CAAC,SAAS,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1C,mCAAmC,IAAI,CAAC,SAAS,YAAY,OAAO,CAAC,SAAS,EAAE,CACjF,CAAC;QACF,IAAA,qBAAM,EAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAA,qBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE;YACf,IAAA,SAAG,EAAC,qDAAqD,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,+EAAC,CAAC;YAC5F,OAAO;SACR;QAED,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAkB;QAClC,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YAC/B,OAAO;SACR;QACD,IAAA,SAAG,EAAC,kBAAkB,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;SACjC,+EAAC,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAA,SAAG,EAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,+EAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAEO,mBAAmB;QACzB,OAAO;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC/C,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAClG,CAAC;YACF,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACjD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACzB,IAAI;oBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBACnC;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;IACpB,KAAK,CAAC,mBAAmB,CAAC,QAAmB;QACnD,oFAAoF;QACpF,oGAAoG;QACpG,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,IAAA,aAAK,EAAC,gBAAgB,CAAC,CAAC;SAC/B;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnC,2CAA2C;YAC3C,OAAO;SACR;QAED,MAAM,SAAS,GAAG,gBAAS,CAAC,MAAM,EAAE,CAAC;QAErC,IAAA,SAAG,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,+EAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrE,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAA,SAAG,EAAC,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,+EAAC,CAAC;IAC3C,CAAC;IAED,4BAA4B;IACpB,iBAAiB,CAAC,SAAkB,EAAE,QAAmB,EAAE,SAAoB;QACrF,IAAA,SAAG,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,+EAAC,CAAC;QACjG,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAI,uBAAU,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAU,EACf,QAAQ,EACR,SAAS,EACT,SAAS,EACT,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EACzE,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEtC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,iEAAiE;YACjE,IAAA,SAAG,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,+EAAC,CAAC;YACpG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;;YACnC,QAAQ,KAAK,EAAE;gBACb,KAAK,4BAAe,CAAC,SAAS,CAAC,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;iBACP;gBAED,KAAK,4BAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7B,4EAA4E;oBAC5E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACvC,MAAM;iBACP;gBAED,KAAK,4BAAe,CAAC,QAAQ,CAAC,CAAC;oBAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM;iBACP;gBAED,KAAK,4BAAe,CAAC,MAAM,CAAC,CAAC;oBAC3B,IAAA,SAAG,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,+EAAC,CAAC;oBAC/F,2EAA2E;oBAC3E,4DAA4D;oBAC5D,IAAI,MAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;wBAChE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACxC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;qBACzB;oBACD,MAAM;iBACP;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4BAA4B;IACpB,KAAK,CAAC,gBAAgB,CAAC,MAAiB;QAC9C,IAAA,SAAG,EAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,+EAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,IAAA,SAAG,EAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,+EAAC,CAAC;IACxC,CAAC;CACF;AArSD,sBAqSC"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/swarm/swarm.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAEjC,uCAA2C;AAC3C,yCAA4C;AAC5C,uCAA0C;AAC1C,qCAAuC;AACvC,mCAAgC;AAIhC,qCAA8D;AAG9D,sCAAuE;AAKvE,iCAA8B;AAE9B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,4BAA4B;AAC5B,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;AAE/E;;;;GAIG;AACH,MAAa,KAAK;IAgChB,sEAAsE;IAEtE,qCAAqC;IACrC,YACmB,MAAiB,EACjB,UAAqB,EAC9B,SAAmB,EACV,iBAAmC,EACnC,UAAqB,EACrB,iBAAmC,EACnC,MAA0B;QAN1B,WAAM,GAAN,MAAM,CAAW;QACjB,eAAU,GAAV,UAAU,CAAW;QAC9B,cAAS,GAAT,SAAS,CAAU;QACV,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,eAAU,GAAV,UAAU,CAAW;QACrB,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,WAAM,GAAN,MAAM,CAAoB;QAzC5B,WAAM,GAAG,IAAI,iBAAU,CAAkB,gBAAS,CAAC,IAAI,CAAC,CAAC;QAIlE,eAAU,GAAG,KAAK,CAAC;QAE3B;;WAEG;QACM,OAAE,GAAG,gBAAS,CAAC,MAAM,EAAE,CAAC;QAEjC;;;WAGG;QACM,oBAAe,GAAG,IAAI,aAAK,EAAc,CAAC;QAEnD;;;WAGG;QACM,iBAAY,GAAG,IAAI,aAAK,EAAa,CAAC;QAE/C;;;WAGG;QACM,cAAS,GAAG,IAAI,aAAK,EAAa,CAAC;QAEnC,WAAM,GAAG,IAAI,mBAAW,EAAE,CAAC;QAclC,IAAA,SAAG,EAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,mRAAC,CAAC;QAC/E,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAa,CAAC;YACvC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC;YAClE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/C,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU;aACZ,MAAM,CAAC;YACN,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,WAAW,EAAE,8BAA8B;YAC3C,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC;SACjF,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAG,CAAC,KAAK,CAAC,KAAK,uRAAC,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;aAC9B,MAAM,CAAC,2BAAoB,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,OAAO;QACX,IAAA,SAAG,EAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oRAAC,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAkB;QAClC,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;YAC/B,OAAO;SACR;QACD,IAAA,SAAG,EAAC,kBAAkB,EAAE;YACtB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC;SACjC,oRAAC,CAAC;QAEH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAEO,gBAAgB,CAAC,MAAiB;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,IAAI,WAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;gBACpD,WAAW,EAAE,GAAG,EAAE;oBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;gBACD,cAAc,EAAE,KAAK,IAAI,EAAE;oBACzB,IAAI,CAAC,IAAK,CAAC,WAAW,EAAE;wBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAK,CAAC,EAAE,CAAC,CAAC;qBACnC;oBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,4EAA4E;oBAC5E,sCAAsC;oBACtC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBAC3B,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;qBAChC;gBACH,CAAC;gBACD,UAAU,EAAE,GAAG,EAAE;oBACf,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC/B;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAiB;QAC1C,IAAA,qBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,UAAsB;QACjC,IAAA,SAAG,EAAC,aAAa,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,oRAAC,CAAC,CAAC,2BAA2B;QAChG,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,SAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oRAAC,CAAC;YACjF,OAAO;SACR;QAED,IAAI,UAAU,CAAC,aAAa,EAAE;YAC5B,MAAM,MAAM,GAAG,gBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7D,IAAA,SAAG,EAAC,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,oRAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;SACF;aAAM,IAAI,UAAU,CAAC,QAAQ,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACjC;aACF;SACF;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB;;QACjC,IAAA,SAAG,EAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,oRAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,SAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oRAAC,CAAC;YACjF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC1B;QAED,6CAA6C;QAC7C,IAAA,qBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA,EAAE;YAC/C,IAAA,SAAG,EAAC,uCAAuC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,oRAAC,CAAC;YAC3F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC1B;QACD,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,EAAE;YACvC,IAAA,SAAG,EAAC,sCAAsC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,oRAAC,CAAC;YAC1F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SAC1B;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,0DAA0D;QAC1D,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,mFAAmF;YACnF,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;gBAC9C,IAAA,SAAG,EAAC,4DAA4D,EAAE;oBAChE,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,KAAK,EAAE,IAAI,CAAC,MAAM;oBAClB,MAAM,EAAE,IAAI,CAAC,UAAU;iBACxB,oRAAC,CAAC;gBACH,4DAA4D;gBAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,qGAAqG;gBACrG,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aACzB;SACF;QAED,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,kDAAkD;gBAClD,IAAA,qBAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpF,IAAI;oBACF,UAAU,CAAC,cAAc,EAAE,CAAC;iBAC7B;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;gBAED,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAsB;;QACnC,IAAA,SAAG,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,oRAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,SAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oRAAC,CAAC;YACjF,OAAO;SACR;QACD,IAAA,qBAAM,EACJ,MAAA,OAAO,CAAC,SAAS,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1C,mCAAmC,IAAI,CAAC,SAAS,YAAY,OAAO,CAAC,SAAS,EAAE,CACjF,CAAC;QACF,IAAA,qBAAM,EAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAA,qBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEO,mBAAmB;QACzB,OAAO;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;qBACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;qBACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;qBACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC;qBACtD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;aAC1B,CAAC;YACF,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACjD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACzB,IAAI;oBACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;iBACnC;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,QAAmB;;QACnD,oFAAoF;QACpF,oGAAoG;QACpG,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YAC9C,MAAM,IAAA,aAAK,EAAC,gBAAgB,CAAC,CAAC;SAC/B;QAED,IAAI,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,UAAU,EAAE;YACzC,2CAA2C;YAC3C,OAAO;SACR;QAED,MAAM,SAAS,GAAG,gBAAS,CAAC,MAAM,EAAE,CAAC;QAErC,IAAA,SAAG,EAAC,eAAe,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,oRAAC,CAAC;QACvF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrE,UAAU,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,IAAA,SAAG,EAAC,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,oRAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,SAAkB,EAAE,QAAmB,EAAE,SAAoB;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,IAAI,CAAC,eAAe,EACpB,SAAS,EACT,SAAS,EACT,IAAI,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EACzE,IAAI,CAAC,iBAAiB,CACvB,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAiB;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;CACF;AApUD,sBAoUC"}
@@ -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 { Topology } from '../topology';
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 declare type TestBuilderOptions = {
9
- signalUrl?: string;
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
- private _options;
15
+ readonly options: TestBuilderOptions;
13
16
  private _signalContext;
14
- constructor(_options?: TestBuilderOptions);
17
+ constructor(options?: TestBuilderOptions);
15
18
  createSignalManager(): WebsocketSignalManager | MemorySignalManager;
16
- createNetworkManager(): NetworkManager;
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
- * @deprecated
22
+ * Testing network peer.
27
23
  */
28
- export declare const createPeer: ({ topic, peerId, topology, signalHosts, transportFactory }: CreatePeerOptions) => Promise<{
29
- networkManager: NetworkManager;
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;AAG1G,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAA0B,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAA0B,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAwB,MAAM,iBAAiB,CAAC;AAG3E,eAAO,MAAM,eAAe,8CAA8C,CAAC;AAE3E,oBAAY,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,qBAAa,WAAW;IAGV,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,cAAc,CAAoC;gBAEtC,QAAQ,GAAE,kBAAuB;IAErD,mBAAmB;IAQnB,oBAAoB;CAMrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAKD;;GAEG;AACH,eAAO,MAAM,UAAU,+DAMpB,iBAAiB;;;EAmBnB,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"}