@dxos/network-manager 2.33.9-dev.d0ae5f95 → 2.33.9-dev.d0dce35f

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 (151) hide show
  1. package/dist/src/network-manager.blueprint-test.d.ts +3 -1
  2. package/dist/src/network-manager.blueprint-test.d.ts.map +1 -1
  3. package/dist/src/network-manager.blueprint-test.js +50 -21
  4. package/dist/src/network-manager.blueprint-test.js.map +1 -1
  5. package/dist/src/network-manager.browser-test.js +1 -1
  6. package/dist/src/network-manager.browser-test.js.map +1 -1
  7. package/dist/src/network-manager.d.ts.map +1 -1
  8. package/dist/src/network-manager.js +6 -6
  9. package/dist/src/network-manager.js.map +1 -1
  10. package/dist/src/network-manager.test.js +5 -4
  11. package/dist/src/network-manager.test.js.map +1 -1
  12. package/dist/src/proto/gen/dxos/credentials.d.ts +39 -0
  13. package/dist/src/proto/gen/dxos/credentials.d.ts.map +1 -1
  14. package/dist/src/proto/gen/dxos/halo/keys.d.ts +44 -2
  15. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  16. package/dist/src/proto/gen/dxos/halo/keys.js +4 -0
  17. package/dist/src/proto/gen/dxos/halo/keys.js.map +1 -1
  18. package/dist/src/proto/gen/dxos/mesh/signal.d.ts +74 -37
  19. package/dist/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  20. package/dist/src/proto/gen/dxos/mesh/signalMessage.d.ts +79 -0
  21. package/dist/src/proto/gen/dxos/mesh/signalMessage.d.ts.map +1 -0
  22. package/dist/src/proto/gen/dxos/mesh/signalMessage.js +3 -0
  23. package/dist/src/proto/gen/dxos/mesh/signalMessage.js.map +1 -0
  24. package/dist/src/proto/gen/google/protobuf.d.ts +8 -2
  25. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  26. package/dist/src/proto/gen/index.d.ts +17 -5
  27. package/dist/src/proto/gen/index.d.ts.map +1 -1
  28. package/dist/src/proto/gen/index.js +1 -1
  29. package/dist/src/proto/gen/index.js.map +1 -1
  30. package/dist/src/proto/substitutions.d.ts +4 -0
  31. package/dist/src/proto/substitutions.d.ts.map +1 -1
  32. package/dist/src/proto/substitutions.js +3 -1
  33. package/dist/src/proto/substitutions.js.map +1 -1
  34. package/dist/src/signal/in-memory-signal-manager.d.ts +7 -7
  35. package/dist/src/signal/in-memory-signal-manager.d.ts.map +1 -1
  36. package/dist/src/signal/in-memory-signal-manager.js +29 -8
  37. package/dist/src/signal/in-memory-signal-manager.js.map +1 -1
  38. package/dist/src/signal/index.d.ts +1 -2
  39. package/dist/src/signal/index.d.ts.map +1 -1
  40. package/dist/src/signal/index.js +1 -2
  41. package/dist/src/signal/index.js.map +1 -1
  42. package/dist/src/signal/integration.test.d.ts +2 -0
  43. package/dist/src/signal/integration.test.d.ts.map +1 -0
  44. package/dist/src/signal/integration.test.js +102 -0
  45. package/dist/src/signal/integration.test.js.map +1 -0
  46. package/dist/src/signal/message-router.d.ts +7 -7
  47. package/dist/src/signal/message-router.d.ts.map +1 -1
  48. package/dist/src/signal/message-router.js +6 -1
  49. package/dist/src/signal/message-router.js.map +1 -1
  50. package/dist/src/signal/message-router.test.js +15 -19
  51. package/dist/src/signal/message-router.test.js.map +1 -1
  52. package/dist/src/signal/signal-client.d.ts +33 -18
  53. package/dist/src/signal/signal-client.d.ts.map +1 -1
  54. package/dist/src/signal/signal-client.js +102 -92
  55. package/dist/src/signal/signal-client.js.map +1 -1
  56. package/dist/src/signal/signal-client.test.js +60 -77
  57. package/dist/src/signal/signal-client.test.js.map +1 -1
  58. package/dist/src/signal/{websocket-signal-manager.d.ts → signal-manager-impl.d.ts} +13 -11
  59. package/dist/src/signal/signal-manager-impl.d.ts.map +1 -0
  60. package/dist/src/signal/signal-manager-impl.js +151 -0
  61. package/dist/src/signal/signal-manager-impl.js.map +1 -0
  62. package/dist/src/signal/signal-manager.d.ts +12 -11
  63. package/dist/src/signal/signal-manager.d.ts.map +1 -1
  64. package/dist/src/signal/signal-rpc-client.d.ts +19 -0
  65. package/dist/src/signal/signal-rpc-client.d.ts.map +1 -0
  66. package/dist/src/signal/signal-rpc-client.js +108 -0
  67. package/dist/src/signal/signal-rpc-client.js.map +1 -0
  68. package/dist/src/signal/signal-rpc-client.test.d.ts +2 -0
  69. package/dist/src/signal/signal-rpc-client.test.d.ts.map +1 -0
  70. package/dist/src/signal/signal-rpc-client.test.js +74 -0
  71. package/dist/src/signal/signal-rpc-client.test.js.map +1 -0
  72. package/dist/src/swarm/connection.d.ts +3 -3
  73. package/dist/src/swarm/connection.d.ts.map +1 -1
  74. package/dist/src/swarm/connection.js +1 -4
  75. package/dist/src/swarm/connection.js.map +1 -1
  76. package/dist/src/swarm/swarm.d.ts +6 -7
  77. package/dist/src/swarm/swarm.d.ts.map +1 -1
  78. package/dist/src/swarm/swarm.js +21 -17
  79. package/dist/src/swarm/swarm.js.map +1 -1
  80. package/dist/src/swarm/swarm.test.js +156 -117
  81. package/dist/src/swarm/swarm.test.js.map +1 -1
  82. package/dist/src/topology/fully-connected-topology.d.ts +0 -1
  83. package/dist/src/topology/fully-connected-topology.d.ts.map +1 -1
  84. package/dist/src/topology/fully-connected-topology.js +1 -6
  85. package/dist/src/topology/fully-connected-topology.js.map +1 -1
  86. package/dist/src/topology/mmst-topology.d.ts +0 -1
  87. package/dist/src/topology/mmst-topology.d.ts.map +1 -1
  88. package/dist/src/topology/mmst-topology.js +1 -6
  89. package/dist/src/topology/mmst-topology.js.map +1 -1
  90. package/dist/src/topology/star-topology.d.ts +0 -1
  91. package/dist/src/topology/star-topology.d.ts.map +1 -1
  92. package/dist/src/topology/star-topology.js +1 -6
  93. package/dist/src/topology/star-topology.js.map +1 -1
  94. package/dist/src/topology/topology.d.ts +0 -6
  95. package/dist/src/topology/topology.d.ts.map +1 -1
  96. package/dist/src/transport/in-memory-transport.d.ts +2 -2
  97. package/dist/src/transport/in-memory-transport.d.ts.map +1 -1
  98. package/dist/src/transport/in-memory-transport.js.map +1 -1
  99. package/dist/src/transport/transport.d.ts +3 -3
  100. package/dist/src/transport/transport.d.ts.map +1 -1
  101. package/dist/src/transport/webrtc-transport.d.ts +3 -3
  102. package/dist/src/transport/webrtc-transport.d.ts.map +1 -1
  103. package/dist/src/transport/webrtc-transport.js.map +1 -1
  104. package/dist/tests-setup.js +1 -1
  105. package/dist/tsconfig.tsbuildinfo +1 -1
  106. package/package.json +16 -14
  107. package/src/network-manager.blueprint-test.ts +61 -26
  108. package/src/network-manager.browser-test.ts +1 -1
  109. package/src/network-manager.test.ts +8 -7
  110. package/src/network-manager.ts +8 -9
  111. package/src/proto/defs/dxos/mesh/signal.proto +53 -35
  112. package/src/proto/defs/dxos/mesh/signalMessage.proto +51 -0
  113. package/src/proto/gen/dxos/credentials.ts +40 -0
  114. package/src/proto/gen/dxos/halo/keys.ts +45 -2
  115. package/src/proto/gen/dxos/mesh/signal.ts +73 -37
  116. package/src/proto/gen/dxos/mesh/signalMessage.ts +83 -0
  117. package/src/proto/gen/google/protobuf.ts +9 -2
  118. package/src/proto/gen/index.ts +18 -6
  119. package/src/proto/substitutions.ts +3 -1
  120. package/src/signal/in-memory-signal-manager.ts +37 -12
  121. package/src/signal/index.ts +1 -2
  122. package/src/signal/integration.test.ts +117 -0
  123. package/src/signal/message-router.test.ts +36 -41
  124. package/src/signal/message-router.ts +22 -18
  125. package/src/signal/signal-client.test.ts +70 -92
  126. package/src/signal/signal-client.ts +119 -113
  127. package/src/signal/signal-manager-impl.ts +166 -0
  128. package/src/signal/signal-manager.ts +12 -12
  129. package/src/signal/signal-rpc-client.test.ts +86 -0
  130. package/src/signal/signal-rpc-client.ts +121 -0
  131. package/src/swarm/connection.ts +5 -8
  132. package/src/swarm/swarm.test.ts +208 -169
  133. package/src/swarm/swarm.ts +24 -20
  134. package/src/topology/fully-connected-topology.ts +1 -9
  135. package/src/topology/mmst-topology.ts +1 -9
  136. package/src/topology/star-topology.ts +1 -7
  137. package/src/topology/topology.ts +0 -7
  138. package/src/transport/in-memory-transport.ts +2 -2
  139. package/src/transport/transport.ts +3 -3
  140. package/src/transport/webrtc-transport.ts +3 -3
  141. package/dist/browser-mocha/bundle.js +0 -119276
  142. package/dist/browser-mocha/main.js +0 -27
  143. package/dist/src/signal/websocket-rpc.d.ts +0 -30
  144. package/dist/src/signal/websocket-rpc.d.ts.map +0 -1
  145. package/dist/src/signal/websocket-rpc.js +0 -203
  146. package/dist/src/signal/websocket-rpc.js.map +0 -1
  147. package/dist/src/signal/websocket-signal-manager.d.ts.map +0 -1
  148. package/dist/src/signal/websocket-signal-manager.js +0 -134
  149. package/dist/src/signal/websocket-signal-manager.js.map +0 -1
  150. package/src/signal/websocket-rpc.ts +0 -208
  151. package/src/signal/websocket-signal-manager.ts +0 -158
@@ -23,13 +23,12 @@ const log = (0, debug_1.default)('dxos:network-manager:swarm');
23
23
  */
24
24
  class Swarm {
25
25
  // TODO(burdon): Split up properties.
26
- constructor(_topic, _ownPeerId, _topology, _protocolProvider, _signalMessaging, _lookupPeers, _transportFactory, _label) {
26
+ constructor(_topic, _ownPeerId, _topology, _protocolProvider, _signalMessaging, _transportFactory, _label) {
27
27
  this._topic = _topic;
28
28
  this._ownPeerId = _ownPeerId;
29
29
  this._topology = _topology;
30
30
  this._protocolProvider = _protocolProvider;
31
31
  this._signalMessaging = _signalMessaging;
32
- this._lookupPeers = _lookupPeers;
33
32
  this._transportFactory = _transportFactory;
34
33
  this._label = _label;
35
34
  /**
@@ -38,7 +37,6 @@ class Swarm {
38
37
  this.id = protocols_1.PublicKey.random();
39
38
  this._connections = new util_1.ComplexMap(x => x.toHex());
40
39
  this._discoveredPeers = new util_1.ComplexSet(x => x.toHex());
41
- this._peerCandidatesUpdated = new async_1.Event();
42
40
  /**
43
41
  * New connection to a peer is started.
44
42
  */
@@ -70,16 +68,18 @@ class Swarm {
70
68
  get topic() {
71
69
  return this._topic;
72
70
  }
73
- onPeerCandidatesChanged(candidates) {
74
- log(`New peers for ${this._topic} ${candidates}`);
75
- this._discoveredPeers.clear();
76
- for (const candidate of candidates) {
77
- if (candidate.equals(this._ownPeerId)) {
78
- continue;
71
+ onSwarmEvent(swarmEvent) {
72
+ log(`Swarm event ${JSON.stringify(swarmEvent)}`);
73
+ if (swarmEvent.peerAvailable) {
74
+ const peerId = protocols_1.PublicKey.from(swarmEvent.peerAvailable.peer);
75
+ log(`New peer for ${this._topic} ${peerId}`);
76
+ if (!peerId.equals(this._ownPeerId)) {
77
+ this._discoveredPeers.add(peerId);
79
78
  }
80
- this._discoveredPeers.add(candidate);
81
79
  }
82
- this._peerCandidatesUpdated.emit();
80
+ else if (swarmEvent.peerLeft) {
81
+ this._discoveredPeers.delete(protocols_1.PublicKey.from(swarmEvent.peerLeft.peer));
82
+ }
83
83
  this._topology.update();
84
84
  }
85
85
  async onOffer(message) {
@@ -88,8 +88,14 @@ class Swarm {
88
88
  // Id of the peer offering us the connection.
89
89
  (0, node_assert_1.default)(message.id);
90
90
  const remoteId = message.id;
91
- (0, node_assert_1.default)((_a = message.remoteId) === null || _a === void 0 ? void 0 : _a.equals(this._ownPeerId));
92
- (0, node_assert_1.default)((_b = message.topic) === null || _b === void 0 ? void 0 : _b.equals(this._topic));
91
+ if (!((_a = message.remoteId) === null || _a === void 0 ? void 0 : _a.equals(this._ownPeerId))) {
92
+ log(`Rejecting offer with incorrect peerId: ${message.remoteId}`);
93
+ return { accept: false };
94
+ }
95
+ if (!((_b = message.topic) === null || _b === void 0 ? void 0 : _b.equals(this._topic))) {
96
+ log(`Rejecting offer with incorrect topic: ${message.topic}`);
97
+ return { accept: false };
98
+ }
93
99
  // Check if we are already trying to connect to that peer.
94
100
  if (this._connections.has(remoteId)) {
95
101
  // Peer with the highest Id closes it's connection, and accepts remote peer's offer.
@@ -166,9 +172,6 @@ class Swarm {
166
172
  this.errors.raise(err);
167
173
  }
168
174
  this._topology.update();
169
- },
170
- lookup: () => {
171
- this._lookupPeers(this._topic);
172
175
  }
173
176
  };
174
177
  }
@@ -178,6 +181,7 @@ class Swarm {
178
181
  return;
179
182
  }
180
183
  const sessionId = protocols_1.PublicKey.random();
184
+ log(`Initiate connection: topic=${this._topic} peerId=${remoteId} sessionId=${sessionId}`);
181
185
  const connection = this._createConnection(true, remoteId, sessionId);
182
186
  this._signalMessaging.offer({
183
187
  id: this._ownPeerId,
@@ -212,7 +216,7 @@ class Swarm {
212
216
  this._topology.update();
213
217
  }
214
218
  _createConnection(initiator, remoteId, sessionId) {
215
- log(`Create connection topic=${this._topic} remoteId=${remoteId} initiator=${initiator}`);
219
+ log(`Create connection topic=${this._topic} ownId=${this._ownPeerId} remoteId=${remoteId} initiator=${initiator}`);
216
220
  (0, node_assert_1.default)(!this._connections.has(remoteId), 'Peer already connected.');
217
221
  const connection = new connection_1.Connection(this._topic, this._ownPeerId, remoteId, sessionId, initiator, (msg) => this._signalMessaging.signal(msg), this._protocolProvider({ channel: (0, crypto_1.discoveryKey)(this._topic), initiator }), this._transportFactory);
218
222
  this._connections.set(remoteId, connection);
@@ -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":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAEjC,uCAAoC;AACpC,yCAA4C;AAC5C,uCAA0C;AAC1C,+CAA4C;AAC5C,qCAAoD;AASpD,6CAA2D;AAE3D,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,4BAA4B,CAAC,CAAC;AAEhD;;;;GAIG;AACH,MAAa,KAAK;IA8BhB,qCAAqC;IACrC,YACmB,MAAiB,EACjB,UAAqB,EAC9B,SAAmB,EACV,iBAAmC,EACnC,gBAAiC,EACjC,iBAAmC,EACnC,MAA0B;QAN1B,WAAM,GAAN,MAAM,CAAW;QACjB,eAAU,GAAV,UAAU,CAAW;QAC9B,cAAS,GAAT,SAAS,CAAU;QACV,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,WAAM,GAAN,MAAM,CAAoB;QArC7C;;WAEG;QACM,OAAE,GAAG,qBAAS,CAAC,MAAM,EAAE,CAAC;QAEhB,iBAAY,GAAG,IAAI,iBAAU,CAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,qBAAgB,GAAG,IAAI,iBAAU,CAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAM9E;;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,GAAG,CAAC,wBAAwB,MAAM,WAAW,UAAU,EAAE,CAAC,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAjCD,IAAI,WAAW;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAiCD,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,CAAE,UAAsB;QAClC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,UAAU,CAAC,aAAa,EAAE;YAC5B,MAAM,MAAM,GAAG,qBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7D,GAAG,CAAC,gBAAgB,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;YAC7C,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,qBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACxE;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,OAAsB;;QACnC,GAAG,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,6CAA6C;QAC7C,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAA,MAAA,OAAO,CAAC,QAAQ,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA,EAAE;YAC9C,GAAG,CAAC,0CAA0C,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClE,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,GAAG,CAAC,yCAAyC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9D,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,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,+DAA+D,CAAC,CAAC;gBACxF,4DAA4D;gBAC5D,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAChD,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,EAAE,kDAAkD;gBACxF,IAAA,qBAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAChF,IAAI;oBACF,UAAU,CAAC,OAAO,EAAE,CAAC;iBACtB;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,OAAsB;;QACpC,GAAG,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,IAAA,qBAAM,EAAC,MAAA,OAAO,CAAC,QAAQ,0CAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,mCAAmC,IAAI,CAAC,SAAS,YAAY,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnI,IAAA,qBAAM,EAAC,MAAA,OAAO,CAAC,KAAK,0CAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE;YACf,GAAG,CAAC,8DAA8D,IAAI,CAAC,MAAM,YAAY,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;YACvG,OAAO;SACR;QAED,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,WAAW,CAAE,WAAqB;QACtC,GAAG,CAAC,oBAAoB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACxJ,IAAI,WAAW,KAAK,IAAI,CAAC,SAAS,EAAE;YAClC,OAAO;SACR;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC7B,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,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,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,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,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,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAChG,CAAC;YACF,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC/C,UAAU,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBACvB,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;IAEO,mBAAmB,CAAE,QAAmB;QAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnC,2CAA2C;YAC3C,OAAO;SACR;QAED,MAAM,SAAS,GAAG,qBAAS,CAAC,MAAM,EAAE,CAAC;QAErC,GAAG,CAAC,8BAA8B,IAAI,CAAC,MAAM,WAAW,QAAQ,cAAc,SAAS,EAAE,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAC1B,EAAE,EAAE,IAAI,CAAC,UAAU;YACnB,QAAQ;YACR,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;SACpB,CAAC;aACC,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,UAAU,aAAa,QAAQ,EAAE,CAAC,CAAC;YACrH,IAAI,UAAU,CAAC,KAAK,KAAK,4BAAe,CAAC,OAAO,EAAE;gBAChD,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACxB,OAAO;aACR;YAED,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,IAAI;oBACF,UAAU,CAAC,OAAO,EAAE,CAAC;iBACtB;gBAAC,OAAO,GAAQ,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBACxB;aACF;iBAAM;gBACL,4EAA4E;gBAC5E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAE,SAAkB,EAAE,QAAmB,EAAE,SAAoB;QACtF,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,UAAU,aAAa,QAAQ,cAAc,SAAS,EAAE,CAAC,CAAC;QACnH,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,CAAC,GAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,EACzD,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,KAAK,CAAC,EAAE;YAC/B,GAAG,CAAC,0BAA0B,IAAI,CAAC,MAAM,aAAa,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,4BAAe,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAErH,KAAK,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,4BAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;;YAChF,GAAG,CAAC,2BAA2B,IAAI,CAAC,MAAM,aAAa,QAAQ,cAAc,SAAS,EAAE,CAAC,CAAC;YAC1F,2EAA2E;YAC3E,4DAA4D;YAC5D,IAAI,MAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBAChE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAE,MAAiB;QAC/C,GAAG,CAAC,0BAA0B,IAAI,CAAC,MAAM,aAAa,MAAM,EAAE,CAAC,CAAC;QAChE,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;IAC3B,CAAC;CACF;AApQD,sBAoQC"}
@@ -19,124 +19,163 @@ const topology_1 = require("../topology");
19
19
  const transport_1 = require("../transport");
20
20
  const swarm_1 = require("./swarm");
21
21
  const log = (0, debug_1.default)('dxos:network-manager:swarm:test');
22
- class MockSignalConnection {
23
- constructor(_swarm, _delay = 10) {
24
- this._swarm = _swarm;
25
- this._delay = _delay;
22
+ describe('Swarm', () => {
23
+ class MockSignalConnection {
24
+ constructor(_swarm, _delay = 10) {
25
+ this._swarm = _swarm;
26
+ this._delay = _delay;
27
+ }
28
+ async offer(msg) {
29
+ await (0, async_1.sleep)(this._delay);
30
+ return this._swarm().onOffer(msg);
31
+ }
32
+ async signal(msg) {
33
+ await (0, async_1.sleep)(this._delay);
34
+ await this._swarm().onSignal(msg);
35
+ }
26
36
  }
27
- async offer(msg) {
28
- await (0, async_1.sleep)(this._delay);
29
- return this._swarm().onOffer(msg);
30
- }
31
- async signal(msg) {
32
- await (0, async_1.sleep)(this._delay);
33
- await this._swarm().onSignal(msg);
34
- }
35
- }
36
- const setup = ({ router = false } = {}) => {
37
- const topic = protocols_1.PublicKey.random();
38
- const peerId1 = protocols_1.PublicKey.random();
39
- const peerId2 = protocols_1.PublicKey.random();
40
- // eslint-disable-next-line prefer-const
41
- let swarm1;
42
- // eslint-disable-next-line prefer-const
43
- let swarm2;
44
- const mr1 = new message_router_1.MessageRouter({
45
- sendMessage: msg => mr2.receiveMessage(msg),
46
- onSignal: msg => swarm1.onSignal(msg),
47
- onOffer: msg => swarm1.onOffer(msg)
48
- });
49
- (0, testutils_1.afterTest)(() => mr1.destroy());
50
- const mr2 = new message_router_1.MessageRouter({
51
- sendMessage: msg => mr1.receiveMessage(msg),
52
- onSignal: msg => swarm2.onSignal(msg),
53
- onOffer: msg => swarm2.onOffer(msg)
54
- });
55
- (0, testutils_1.afterTest)(() => mr2.destroy());
56
- const sm1 = router ? mr1 : new MockSignalConnection(() => swarm2);
57
- const sm2 = router ? mr2 : new MockSignalConnection(() => swarm1);
58
- swarm1 = new swarm_1.Swarm(topic, peerId1, new topology_1.FullyConnectedTopology(), () => new mesh_protocol_1.Protocol(), sm1, () => { }, (0, transport_1.createWebRTCTransportFactory)(), undefined);
59
- swarm2 = new swarm_1.Swarm(topic, peerId2, new topology_1.FullyConnectedTopology(), () => new mesh_protocol_1.Protocol(), sm2, () => { }, (0, transport_1.createWebRTCTransportFactory)(), undefined);
60
- (0, testutils_1.afterTest)(async () => {
37
+ const setup = ({ router = false } = {}) => {
38
+ const topic = protocols_1.PublicKey.random();
39
+ const peerId1 = protocols_1.PublicKey.random();
40
+ const peerId2 = protocols_1.PublicKey.random();
41
+ // eslint-disable-next-line prefer-const
42
+ let swarm1;
43
+ // eslint-disable-next-line prefer-const
44
+ let swarm2;
45
+ const mr1 = new message_router_1.MessageRouter({
46
+ sendMessage: msg => mr2.receiveMessage(msg),
47
+ onSignal: msg => swarm1.onSignal(msg),
48
+ onOffer: msg => swarm1.onOffer(msg)
49
+ });
50
+ (0, testutils_1.afterTest)(() => mr1.destroy());
51
+ const mr2 = new message_router_1.MessageRouter({
52
+ sendMessage: msg => mr1.receiveMessage(msg),
53
+ onSignal: msg => swarm2.onSignal(msg),
54
+ onOffer: msg => swarm2.onOffer(msg)
55
+ });
56
+ (0, testutils_1.afterTest)(() => mr2.destroy());
57
+ const sm1 = router ? mr1 : new MockSignalConnection(() => swarm2);
58
+ const sm2 = router ? mr2 : new MockSignalConnection(() => swarm1);
59
+ swarm1 = new swarm_1.Swarm(topic, peerId1, new topology_1.FullyConnectedTopology(), () => new mesh_protocol_1.Protocol(), sm1, (0, transport_1.createWebRTCTransportFactory)(), undefined);
60
+ swarm2 = new swarm_1.Swarm(topic, peerId2, new topology_1.FullyConnectedTopology(), () => new mesh_protocol_1.Protocol(), sm2, (0, transport_1.createWebRTCTransportFactory)(), undefined);
61
+ (0, testutils_1.afterTest)(async () => {
62
+ await swarm1.destroy();
63
+ await swarm2.destroy();
64
+ });
65
+ return { swarm1, swarm2, peerId1, peerId2 };
66
+ };
67
+ (0, mocha_1.it)('connects two peers in a swarm', async () => {
68
+ const { swarm1, swarm2, peerId1, peerId2 } = setup();
69
+ (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
70
+ (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
71
+ const promise = Promise.all([
72
+ (0, async_1.promiseTimeout)(swarm1.connected.waitForCount(1), 3000, new Error('Swarm1 connect timeout.')),
73
+ (0, async_1.promiseTimeout)(swarm2.connected.waitForCount(1), 3000, new Error('Swarm2 connect timeout.'))
74
+ ]);
75
+ // Behavior of the Signal Server.
76
+ swarm1.onSwarmEvent({
77
+ peerAvailable: {
78
+ peer: peerId1.asUint8Array(),
79
+ since: new Date()
80
+ }
81
+ });
82
+ swarm1.onSwarmEvent({
83
+ peerAvailable: {
84
+ peer: peerId2.asUint8Array(),
85
+ since: new Date()
86
+ }
87
+ });
88
+ log('Candidates changed');
89
+ await promise;
90
+ log('Swarms connected');
91
+ const swarm1Connection = swarm1.connections[0];
92
+ const swarm2Connection = swarm2.connections[0];
93
+ const onData = (0, earljs_1.mockFn)().returns(undefined);
94
+ swarm2Connection.transport.peer.on('data', onData);
95
+ const data = Buffer.from('1234');
96
+ swarm1Connection.transport.peer.send(data);
97
+ await (0, wait_for_expect_1.default)(() => {
98
+ (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
99
+ });
100
+ }).timeout(5000);
101
+ (0, mocha_1.it)('two peers try to originate connections to each other simultaneously', async () => {
102
+ const { swarm1, swarm2, peerId1, peerId2 } = setup();
103
+ (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
104
+ (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
105
+ swarm1.onSwarmEvent({
106
+ peerAvailable: {
107
+ peer: peerId2.asUint8Array(),
108
+ since: new Date()
109
+ }
110
+ });
111
+ swarm2.onSwarmEvent({
112
+ peerAvailable: {
113
+ peer: peerId1.asUint8Array(),
114
+ since: new Date()
115
+ }
116
+ });
117
+ await Promise.all([
118
+ swarm1.connected.waitForCount(1),
119
+ swarm2.connected.waitForCount(1)
120
+ ]);
121
+ }).timeout(5000);
122
+ (0, mocha_1.it)('second peer discovered after delay', async () => {
123
+ const { swarm1, swarm2, peerId1, peerId2 } = setup();
124
+ (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
125
+ (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
126
+ swarm1.onSwarmEvent({
127
+ peerAvailable: {
128
+ peer: peerId2.asUint8Array(),
129
+ since: new Date()
130
+ }
131
+ });
132
+ await (0, async_1.sleep)(15);
133
+ swarm2.onSwarmEvent({
134
+ peerAvailable: {
135
+ peer: peerId1.asUint8Array(),
136
+ since: new Date()
137
+ }
138
+ });
139
+ await Promise.all([
140
+ swarm1.connected.waitForCount(1),
141
+ swarm1.connected.waitForCount(1)
142
+ ]);
143
+ const swarm1Connection = swarm1.connections[0];
144
+ const swarm2Connection = swarm2.connections[0];
145
+ const onData = (0, earljs_1.mockFn)().returns(undefined);
146
+ swarm2Connection.transport.peer.on('data', onData);
147
+ const data = Buffer.from('1234');
148
+ swarm1Connection.transport.peer.send(data);
149
+ await (0, wait_for_expect_1.default)(() => {
150
+ (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
151
+ });
152
+ }).timeout(5000);
153
+ (0, mocha_1.it)('swarming with message router', async () => {
154
+ const { swarm1, swarm2, peerId2 } = setup({ router: true });
155
+ const promise = Promise.all([
156
+ (0, async_1.promiseTimeout)(swarm1.connected.waitForCount(1), 3000, new Error('Swarm1 connect timeout.')),
157
+ (0, async_1.promiseTimeout)(swarm2.connected.waitForCount(1), 3000, new Error('Swarm2 connect timeout.'))
158
+ ]);
159
+ swarm1.onSwarmEvent({
160
+ peerAvailable: {
161
+ peer: peerId2.asUint8Array(),
162
+ since: new Date()
163
+ }
164
+ });
165
+ log('Candidates changed');
166
+ await promise;
167
+ log('Swarms connected');
168
+ const swarm1Connection = swarm1.connections[0];
169
+ const swarm2Connection = swarm2.connections[0];
170
+ const onData = (0, earljs_1.mockFn)().returns(undefined);
171
+ swarm2Connection.transport.peer.on('data', onData);
172
+ const data = Buffer.from('1234');
173
+ swarm1Connection.transport.peer.send(data);
174
+ await (0, wait_for_expect_1.default)(() => {
175
+ (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
176
+ });
61
177
  await swarm1.destroy();
62
178
  await swarm2.destroy();
63
- });
64
- return { swarm1, swarm2, peerId1, peerId2 };
65
- };
66
- (0, mocha_1.it)('connects two peers in a swarm', async () => {
67
- const { swarm1, swarm2, peerId2 } = setup();
68
- (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
69
- (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
70
- const promise = Promise.all([
71
- (0, async_1.promiseTimeout)(swarm1.connected.waitForCount(1), 3000, new Error('Swarm1 connect timeout.')),
72
- (0, async_1.promiseTimeout)(swarm2.connected.waitForCount(1), 3000, new Error('Swarm2 connect timeout.'))
73
- ]);
74
- swarm1.onPeerCandidatesChanged([peerId2]);
75
- log('Candidates changed');
76
- await promise;
77
- log('Swarms connected');
78
- const swarm1Connection = swarm1.connections[0];
79
- const swarm2Connection = swarm2.connections[0];
80
- const onData = (0, earljs_1.mockFn)().returns(undefined);
81
- swarm2Connection.transport.peer.on('data', onData);
82
- const data = Buffer.from('1234');
83
- swarm1Connection.transport.peer.send(data);
84
- await (0, wait_for_expect_1.default)(() => {
85
- (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
86
- });
87
- }).timeout(5000);
88
- (0, mocha_1.it)('two peers try to originate connections to each other simultaneously', async () => {
89
- const { swarm1, swarm2, peerId1, peerId2 } = setup();
90
- (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
91
- (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
92
- swarm1.onPeerCandidatesChanged([peerId2]);
93
- swarm2.onPeerCandidatesChanged([peerId1]);
94
- await Promise.all([
95
- swarm1.connected.waitForCount(1),
96
- swarm2.connected.waitForCount(1)
97
- ]);
98
- }).timeout(5000);
99
- (0, mocha_1.it)('second peer discovered after delay', async () => {
100
- const { swarm1, swarm2, peerId1, peerId2 } = setup();
101
- (0, earljs_1.expect)(swarm1.connections.length).toEqual(0);
102
- (0, earljs_1.expect)(swarm2.connections.length).toEqual(0);
103
- swarm1.onPeerCandidatesChanged([peerId2]);
104
- await (0, async_1.sleep)(15);
105
- swarm2.onPeerCandidatesChanged([peerId1]);
106
- await Promise.all([
107
- swarm1.connected.waitForCount(1),
108
- swarm1.connected.waitForCount(1)
109
- ]);
110
- const swarm1Connection = swarm1.connections[0];
111
- const swarm2Connection = swarm2.connections[0];
112
- const onData = (0, earljs_1.mockFn)().returns(undefined);
113
- swarm2Connection.transport.peer.on('data', onData);
114
- const data = Buffer.from('1234');
115
- swarm1Connection.transport.peer.send(data);
116
- await (0, wait_for_expect_1.default)(() => {
117
- (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
118
- });
119
- }).timeout(5000);
120
- (0, mocha_1.it)('swarming with message router', async () => {
121
- const { swarm1, swarm2, peerId2 } = setup({ router: true });
122
- const promise = Promise.all([
123
- (0, async_1.promiseTimeout)(swarm1.connected.waitForCount(1), 3000, new Error('Swarm1 connect timeout.')),
124
- (0, async_1.promiseTimeout)(swarm2.connected.waitForCount(1), 3000, new Error('Swarm2 connect timeout.'))
125
- ]);
126
- swarm1.onPeerCandidatesChanged([peerId2]);
127
- log('Candidates changed');
128
- await promise;
129
- log('Swarms connected');
130
- const swarm1Connection = swarm1.connections[0];
131
- const swarm2Connection = swarm2.connections[0];
132
- const onData = (0, earljs_1.mockFn)().returns(undefined);
133
- swarm2Connection.transport.peer.on('data', onData);
134
- const data = Buffer.from('1234');
135
- swarm1Connection.transport.peer.send(data);
136
- await (0, wait_for_expect_1.default)(() => {
137
- (0, earljs_1.expect)(onData).toHaveBeenCalledWith([data]);
138
- });
139
- await swarm1.destroy();
140
- await swarm2.destroy();
141
- }).timeout(5000);
179
+ }).timeout(5000);
180
+ });
142
181
  //# sourceMappingURL=swarm.test.js.map
@@ -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":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,kDAA0B;AAC1B,mCAAwC;AACxC,iCAAmC;AACnC,sEAA4C;AAE5C,uCAAoD;AACpD,uDAA+C;AAC/C,+CAA4C;AAC5C,+CAA4C;AAI5C,6DAAyD;AACzD,0CAAqD;AACrD,4CAA6E;AAC7E,mCAAgC;AAEhC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,iCAAiC,CAAC,CAAC;AAErD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,MAAM,oBAAoB;QACxB,YACW,MAAmB,EACnB,SAAS,EAAE;YADX,WAAM,GAAN,MAAM,CAAa;YACnB,WAAM,GAAN,MAAM,CAAK;QACnB,CAAC;QAEJ,KAAK,CAAC,KAAK,CAAE,GAAkB;YAC7B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,MAAM,CAAE,GAAkB;YAC9B,MAAM,IAAA,aAAK,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;KACF;IAED,MAAM,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,qBAAS,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,qBAAS,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,qBAAS,CAAC,MAAM,EAAE,CAAC;QACnC,wCAAwC;QACxC,IAAI,MAAa,CAAC;QAClB,wCAAwC;QACxC,IAAI,MAAa,CAAC;QAElB,MAAM,GAAG,GAAkB,IAAI,8BAAa,CAAC;YAC3C,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC;YAC3C,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SACpC,CAAC,CAAC;QACH,IAAA,qBAAS,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAkB,IAAI,8BAAa,CAAC;YAC3C,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC;YAC3C,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SACpC,CAAC,CAAC;QACH,IAAA,qBAAS,EAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAE/B,MAAM,GAAG,GAAoB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAEnF,MAAM,GAAG,GAAoB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAEnF,MAAM,GAAG,IAAI,aAAK,CAChB,KAAK,EACL,OAAO,EACP,IAAI,iCAAsB,EAAE,EAC5B,GAAG,EAAE,CAAC,IAAI,wBAAQ,EAAE,EACpB,GAAG,EACH,IAAA,wCAA4B,GAAE,EAC9B,SAAS,CACV,CAAC;QAEF,MAAM,GAAG,IAAI,aAAK,CAChB,KAAK,EACL,OAAO,EACP,IAAI,iCAAsB,EAAE,EAC5B,GAAG,EAAE,CAAC,IAAI,wBAAQ,EAAE,EACpB,GAAG,EACH,IAAA,wCAA4B,GAAE,EAC9B,SAAS,CACV,CAAC;QAEF,IAAA,qBAAS,EAAC,KAAK,IAAI,EAAE;YACnB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC,CAAC;IAEF,IAAA,UAAI,EAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QAErD,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YAC1B,IAAA,sBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5F,IAAA,sBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC7F,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1B,MAAM,OAAO,CAAC;QACd,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAExB,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,eAAM,GAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,IAAA,yBAAa,EAAC,GAAG,EAAE;YACvB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;IAElB,IAAA,UAAI,EAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QAErD,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;IAElB,IAAA,UAAI,EAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QAErD,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QACH,MAAM,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;SACjC,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,eAAM,GAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,IAAA,yBAAa,EAAC,GAAG,EAAE;YACvB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;IAElB,IAAA,UAAI,EAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YAC1B,IAAA,sBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5F,IAAA,sBAAc,EAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC7F,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC;YAClB,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE;gBAC5B,KAAK,EAAE,IAAI,IAAI,EAAE;aAClB;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1B,MAAM,OAAO,CAAC;QACd,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAExB,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAA,eAAM,GAA0B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,gBAAgB,CAAC,SAA6B,CAAC,IAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,IAAA,yBAAa,EAAC,GAAG,EAAE;YACvB,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -2,7 +2,6 @@ import { PublicKey } from '@dxos/protocols';
2
2
  import { SwarmController, Topology } from './topology';
3
3
  export declare class FullyConnectedTopology implements Topology {
4
4
  private _controller?;
5
- private _intervalId?;
6
5
  init(controller: SwarmController): void;
7
6
  update(): void;
8
7
  onOffer(peer: PublicKey): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"fully-connected-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/fully-connected-topology.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IASxC,MAAM,IAAK,IAAI;IAQT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAM/B,QAAQ;CAGT"}
1
+ {"version":3,"file":"fully-connected-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/fully-connected-topology.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAKxC,MAAM,IAAK,IAAI;IAQT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAI/B,QAAQ;CAGT"}
@@ -12,9 +12,6 @@ class FullyConnectedTopology {
12
12
  init(controller) {
13
13
  (0, node_assert_1.default)(!this._controller, 'Already initialized');
14
14
  this._controller = controller;
15
- this._intervalId = setInterval(() => {
16
- controller.lookup();
17
- }, 10000);
18
15
  }
19
16
  update() {
20
17
  (0, node_assert_1.default)(this._controller, 'Not initialized');
@@ -27,9 +24,7 @@ class FullyConnectedTopology {
27
24
  return true;
28
25
  }
29
26
  async destroy() {
30
- if (this._intervalId !== undefined) {
31
- clearInterval(this._intervalId);
32
- }
27
+ // Nothing to do.
33
28
  }
34
29
  toString() {
35
30
  return 'FullyConnectedTopology';
@@ -1 +1 @@
1
- {"version":3,"file":"fully-connected-topology.js","sourceRoot":"","sources":["../../../src/topology/fully-connected-topology.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAMjC,MAAa,sBAAsB;IAKjC,IAAI,CAAE,UAA2B;QAC/B,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,EAAE,KAAM,CAAC,CAAC;IACb,CAAC;IAED,MAAM;QACJ,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC5C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,IAAe;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACjC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AAnCD,wDAmCC"}
1
+ {"version":3,"file":"fully-connected-topology.js","sourceRoot":"","sources":["../../../src/topology/fully-connected-topology.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,8DAAiC;AAMjC,MAAa,sBAAsB;IAGjC,IAAI,CAAE,UAA2B;QAC/B,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC5C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAC/D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAChC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,IAAe;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,iBAAiB;IACnB,CAAC;IAED,QAAQ;QACN,OAAO,wBAAwB,CAAC;IAClC,CAAC;CACF;AA3BD,wDA2BC"}
@@ -19,7 +19,6 @@ export declare class MMSTTopology implements Topology {
19
19
  private readonly _maxPeers;
20
20
  private readonly _sampleSize;
21
21
  private _controller?;
22
- private _lookupIntervalId?;
23
22
  private _sampleCollected;
24
23
  constructor({ originateConnections, maxPeers, sampleSize }?: MMSTTopologyOptions);
25
24
  init(controller: SwarmController): void;
@@ -1 +1 @@
1
- {"version":3,"file":"mmst-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/mmst-topology.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAE3C,OAAO,CAAC,gBAAgB,CAAS;gBAEpB,EACX,oBAAwB,EACxB,QAAY,EACZ,UAAe,EAChB,GAAE,mBAAwB;IAM3B,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IASxC,MAAM,IAAK,IAAI;IAWT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,aAAa;IAsBrB,QAAQ;CAGT"}
1
+ {"version":3,"file":"mmst-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/mmst-topology.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,YAAa,YAAW,QAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,OAAO,CAAC,gBAAgB,CAAS;gBAEpB,EACX,oBAAwB,EACxB,QAAY,EACZ,UAAe,EAChB,GAAE,mBAAwB;IAM3B,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAKxC,MAAM,IAAK,IAAI;IAWT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,CAAC,aAAa;IAsBrB,QAAQ;CAGT"}
@@ -21,9 +21,6 @@ class MMSTTopology {
21
21
  init(controller) {
22
22
  (0, node_assert_1.default)(!this._controller, 'Already initialized');
23
23
  this._controller = controller;
24
- this._lookupIntervalId = setInterval(() => {
25
- controller.lookup();
26
- }, 10000);
27
24
  }
28
25
  update() {
29
26
  (0, node_assert_1.default)(this._controller, 'Not initialized');
@@ -43,9 +40,7 @@ class MMSTTopology {
43
40
  return accept;
44
41
  }
45
42
  async destroy() {
46
- if (this._lookupIntervalId !== undefined) {
47
- clearInterval(this._lookupIntervalId);
48
- }
43
+ // Nothing to do.
49
44
  }
50
45
  _runAlgorithm() {
51
46
  (0, node_assert_1.default)(this._controller, 'Not initialized');
@@ -1 +1 @@
1
- {"version":3,"file":"mmst-topology.js","sourceRoot":"","sources":["../../../src/topology/mmst-topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mmst-topology.js","sourceRoot":"","sources":["../../../src/topology/mmst-topology.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { SwarmController, Topology } from './topology';
3
3
  export declare class StarTopology implements Topology {
4
4
  private readonly _centralPeer;
5
5
  private _controller?;
6
- private _intervalId?;
7
6
  constructor(_centralPeer: PublicKey);
8
7
  toString(): string;
9
8
  init(controller: SwarmController): void;
@@ -1 +1 @@
1
- {"version":3,"file":"star-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/star-topology.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,qBAAa,YAAa,YAAW,QAAQ;IAKzC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAGlB,YAAY,EAAE,SAAS;IAG1C,QAAQ;IAIR,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAQxC,MAAM,IAAK,IAAI;IAuBT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;CAKhC"}
1
+ {"version":3,"file":"star-topology.d.ts","sourceRoot":"","sources":["../../../src/topology/star-topology.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,qBAAa,YAAa,YAAW,QAAQ;IAIzC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAH/B,OAAO,CAAC,WAAW,CAAC,CAAkB;gBAGnB,YAAY,EAAE,SAAS;IAG1C,QAAQ;IAIR,IAAI,CAAE,UAAU,EAAE,eAAe,GAAG,IAAI;IAKxC,MAAM,IAAK,IAAI;IAuBT,OAAO,CAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAO3C,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -20,9 +20,6 @@ class StarTopology {
20
20
  init(controller) {
21
21
  (0, node_assert_1.default)(!this._controller, 'Already initialized.');
22
22
  this._controller = controller;
23
- this._intervalId = setInterval(() => {
24
- controller.lookup();
25
- }, 10000);
26
23
  }
27
24
  update() {
28
25
  (0, node_assert_1.default)(this._controller, 'Not initialized.');
@@ -52,9 +49,7 @@ class StarTopology {
52
49
  return ownPeerId.equals(this._centralPeer) || peer.equals(this._centralPeer);
53
50
  }
54
51
  async destroy() {
55
- if (this._intervalId !== undefined) {
56
- clearInterval(this._intervalId);
57
- }
52
+ // Nothing to do.
58
53
  }
59
54
  }
60
55
  exports.StarTopology = StarTopology;
@@ -1 +1 @@
1
- {"version":3,"file":"star-topology.js","sourceRoot":"","sources":["../../../src/topology/star-topology.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAMjC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,oCAAoC,CAAC,CAAC;AAExD,MAAa,YAAY;IAIvB,YACmB,YAAuB;QAAvB,iBAAY,GAAZ,YAAY,CAAW;IACvC,CAAC;IAEJ,QAAQ;QACN,OAAO,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC;IAC9C,CAAC;IAED,IAAI,CAAE,UAA2B;QAC/B,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,UAAU,CAAC,MAAM,EAAE,CAAC;QACtB,CAAC,EAAE,KAAM,CAAC,CAAC;IACb,CAAC;IAED,MAAM;QACJ,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC7C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACxC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YACtE,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACnC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACnC;aACF;SACF;QAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,2BAA2B;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACzE,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAChC;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,IAAe;QAC5B,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3H,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACjC;IACH,CAAC;CACF;AAvDD,oCAuDC"}
1
+ {"version":3,"file":"star-topology.js","sourceRoot":"","sources":["../../../src/topology/star-topology.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAC1B,8DAAiC;AAMjC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,oCAAoC,CAAC,CAAC;AAExD,MAAa,YAAY;IAGvB,YACmB,YAAuB;QAAvB,iBAAY,GAAZ,YAAY,CAAW;IACvC,CAAC;IAEJ,QAAQ;QACN,OAAO,gBAAgB,IAAI,CAAC,YAAY,GAAG,CAAC;IAC9C,CAAC;IAED,IAAI,CAAE,UAA2B;QAC/B,IAAA,qBAAM,EAAC,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC7C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YACxC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YACtE,gDAAgD;YAChD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACnC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;iBACnC;aACF;SACF;QAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,2BAA2B;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACzE,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAChC;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,IAAe;QAC5B,IAAA,qBAAM,EAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3H,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO;QACX,iBAAiB;IACnB,CAAC;CACF;AAjDD,oCAiDC"}
@@ -12,12 +12,6 @@ export interface SwarmController {
12
12
  * Disconnect from a peer.
13
13
  */
14
14
  disconnect(peer: PublicKey): void;
15
- /**
16
- * Trigger a lookup of any other peers swarming on this topic.
17
- *
18
- * Updates will be propagated through `update` method.
19
- */
20
- lookup(): void;
21
15
  }
22
16
  export interface SwarmState {
23
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,IAAI,UAAU,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACH,SAAS,EAAE,SAAS,EAAE,CAAA;IAEtB;;OAEG;IACH,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../src/topology/topology.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,IAAI,UAAU,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAA;IAEpB;;OAEG;IACH,SAAS,EAAE,SAAS,EAAE,CAAA;IAEtB;;OAEG;IACH,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,MAAM,IAAI,IAAI,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}