@streamr/dht 100.0.0-pretestnet.4 → 100.0.0-testnet-one.0

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 (233) hide show
  1. package/dist/src/connection/ConnectionLockHandler.js +2 -2
  2. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  3. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +2 -2
  4. package/dist/src/connection/ConnectionLockRpcRemote.js +2 -2
  5. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  6. package/dist/src/connection/ConnectionManager.js +4 -1
  7. package/dist/src/connection/ConnectionManager.js.map +1 -1
  8. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  9. package/dist/src/connection/ManagedConnection.js +1 -0
  10. package/dist/src/connection/ManagedConnection.js.map +1 -1
  11. package/dist/src/connection/connectivityChecker.d.ts +9 -0
  12. package/dist/src/connection/connectivityChecker.js +121 -0
  13. package/dist/src/connection/connectivityChecker.js.map +1 -0
  14. package/dist/src/connection/connectivityRequestHandler.d.ts +2 -0
  15. package/dist/src/connection/connectivityRequestHandler.js +79 -0
  16. package/dist/src/connection/connectivityRequestHandler.js.map +1 -0
  17. package/dist/src/connection/simulator/Simulator.js +3 -2
  18. package/dist/src/connection/simulator/Simulator.js.map +1 -1
  19. package/dist/src/connection/simulator/SimulatorConnection.js +1 -1
  20. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
  21. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +1 -1
  22. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
  23. package/dist/src/connection/webrtc/WebrtcConnector.js +1 -1
  24. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  25. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +1 -1
  26. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  27. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +2 -2
  28. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +2 -2
  29. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +1 -1
  30. package/dist/src/connection/webrtc/iceServerAsString.js +1 -1
  31. package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
  32. package/dist/src/connection/websocket/ClientWebsocket.js +1 -0
  33. package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
  34. package/dist/src/connection/websocket/WebsocketConnector.d.ts +0 -1
  35. package/dist/src/connection/websocket/WebsocketConnector.js +41 -7
  36. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
  37. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +2 -2
  38. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +2 -2
  39. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
  40. package/dist/src/dht/DhtNode.d.ts +9 -19
  41. package/dist/src/dht/DhtNode.js +76 -216
  42. package/dist/src/dht/DhtNode.js.map +1 -1
  43. package/dist/src/dht/DhtNodeRpcLocal.js +3 -3
  44. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  45. package/dist/src/dht/DhtNodeRpcRemote.d.ts +3 -3
  46. package/dist/src/dht/DhtNodeRpcRemote.js +4 -4
  47. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  48. package/dist/src/dht/ExternalApiRpcLocal.d.ts +4 -4
  49. package/dist/src/dht/ExternalApiRpcLocal.js +5 -12
  50. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  51. package/dist/src/dht/ExternalApiRpcRemote.d.ts +3 -3
  52. package/dist/src/dht/ExternalApiRpcRemote.js +5 -5
  53. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  54. package/dist/src/dht/PeerManager.d.ts +48 -0
  55. package/dist/src/dht/PeerManager.js +208 -0
  56. package/dist/src/dht/PeerManager.js.map +1 -0
  57. package/dist/src/dht/contact/ContactList.d.ts +1 -1
  58. package/dist/src/dht/contact/ContactList.js +1 -0
  59. package/dist/src/dht/contact/ContactList.js.map +1 -1
  60. package/dist/src/dht/contact/{Remote.d.ts → RpcRemote.d.ts} +3 -3
  61. package/dist/src/dht/contact/{Remote.js → RpcRemote.js} +8 -8
  62. package/dist/src/dht/contact/RpcRemote.js.map +1 -0
  63. package/dist/src/dht/discovery/DiscoverySession.d.ts +2 -9
  64. package/dist/src/dht/discovery/DiscoverySession.js +12 -26
  65. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  66. package/dist/src/dht/discovery/PeerDiscovery.d.ts +2 -9
  67. package/dist/src/dht/discovery/PeerDiscovery.js +13 -15
  68. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  69. package/dist/src/dht/find/FindRpcLocal.js +2 -1
  70. package/dist/src/dht/find/FindRpcLocal.js.map +1 -1
  71. package/dist/src/dht/find/FindSession.d.ts +6 -6
  72. package/dist/src/dht/find/FindSession.js +13 -13
  73. package/dist/src/dht/find/FindSession.js.map +1 -1
  74. package/dist/src/dht/find/FindSessionRpcLocal.d.ts +1 -1
  75. package/dist/src/dht/find/FindSessionRpcRemote.d.ts +2 -2
  76. package/dist/src/dht/find/FindSessionRpcRemote.js +2 -2
  77. package/dist/src/dht/find/FindSessionRpcRemote.js.map +1 -1
  78. package/dist/src/dht/find/Finder.d.ts +4 -4
  79. package/dist/src/dht/find/Finder.js +50 -42
  80. package/dist/src/dht/find/Finder.js.map +1 -1
  81. package/dist/src/dht/routing/FindRpcRemote.d.ts +2 -2
  82. package/dist/src/dht/routing/FindRpcRemote.js +7 -5
  83. package/dist/src/dht/routing/FindRpcRemote.js.map +1 -1
  84. package/dist/src/dht/routing/Router.d.ts +2 -6
  85. package/dist/src/dht/routing/Router.js +21 -18
  86. package/dist/src/dht/routing/Router.js.map +1 -1
  87. package/dist/src/dht/routing/RouterRpcLocal.d.ts +2 -2
  88. package/dist/src/dht/routing/RouterRpcLocal.js +4 -3
  89. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  90. package/dist/src/dht/routing/RouterRpcRemote.d.ts +2 -2
  91. package/dist/src/dht/routing/RouterRpcRemote.js +13 -8
  92. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  93. package/dist/src/dht/routing/RoutingSession.d.ts +1 -1
  94. package/dist/src/dht/routing/RoutingSession.js +16 -11
  95. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  96. package/dist/src/dht/routing/getPreviousPeer.js.map +1 -1
  97. package/dist/src/dht/store/LocalDataStore.d.ts +3 -3
  98. package/dist/src/dht/store/LocalDataStore.js +18 -17
  99. package/dist/src/dht/store/LocalDataStore.js.map +1 -1
  100. package/dist/src/dht/store/StoreRpcLocal.d.ts +10 -9
  101. package/dist/src/dht/store/StoreRpcLocal.js +91 -99
  102. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  103. package/dist/src/dht/store/StoreRpcRemote.d.ts +4 -5
  104. package/dist/src/dht/store/StoreRpcRemote.js +6 -15
  105. package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
  106. package/dist/src/exports.d.ts +1 -1
  107. package/dist/src/exports.js +4 -4
  108. package/dist/src/exports.js.map +1 -1
  109. package/dist/src/helpers/PeerID.js +2 -2
  110. package/dist/src/helpers/PeerID.js.map +1 -1
  111. package/dist/src/helpers/UUID.js +1 -1
  112. package/dist/src/helpers/UUID.js.map +1 -1
  113. package/dist/src/helpers/nodeId.d.ts +1 -0
  114. package/dist/src/helpers/{kademliaId.js → nodeId.js} +4 -4
  115. package/dist/src/helpers/nodeId.js.map +1 -0
  116. package/dist/src/helpers/peerIdFromPeerDescriptor.js +3 -3
  117. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
  118. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +5 -16
  119. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +2 -9
  120. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  121. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +80 -95
  122. package/dist/src/proto/packages/dht/protos/DhtRpc.js +67 -66
  123. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  124. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +3 -10
  125. package/dist/src/transport/RoutingRpcCommunicator.js +2 -0
  126. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  127. package/karma.config.js +2 -2
  128. package/package.json +5 -5
  129. package/protos/DhtRpc.proto +36 -36
  130. package/src/connection/ConnectionLockHandler.ts +2 -2
  131. package/src/connection/ConnectionLockRpcRemote.ts +2 -2
  132. package/src/connection/ConnectionManager.ts +4 -1
  133. package/src/connection/ConnectorFacade.ts +5 -4
  134. package/src/connection/ManagedConnection.ts +1 -0
  135. package/src/connection/connectivityChecker.ts +101 -0
  136. package/src/connection/connectivityRequestHandler.ts +79 -0
  137. package/src/connection/simulator/Simulator.ts +3 -2
  138. package/src/connection/simulator/SimulatorConnection.ts +1 -1
  139. package/src/connection/webrtc/BrowserWebrtcConnection.ts +10 -10
  140. package/src/connection/webrtc/NodeWebrtcConnection.ts +1 -1
  141. package/src/connection/webrtc/WebrtcConnector.ts +1 -1
  142. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +1 -1
  143. package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +2 -2
  144. package/src/connection/webrtc/iceServerAsString.ts +1 -1
  145. package/src/connection/websocket/ClientWebsocket.ts +1 -0
  146. package/src/connection/websocket/WebsocketConnector.ts +22 -12
  147. package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +2 -2
  148. package/src/dht/DhtNode.ts +102 -269
  149. package/src/dht/DhtNodeRpcLocal.ts +3 -3
  150. package/src/dht/DhtNodeRpcRemote.ts +4 -4
  151. package/src/dht/ExternalApiRpcLocal.ts +8 -13
  152. package/src/dht/ExternalApiRpcRemote.ts +5 -5
  153. package/src/dht/PeerManager.ts +256 -0
  154. package/src/dht/contact/ContactList.ts +3 -2
  155. package/src/dht/contact/{Remote.ts → RpcRemote.ts} +7 -6
  156. package/src/dht/discovery/DiscoverySession.ts +15 -40
  157. package/src/dht/discovery/PeerDiscovery.ts +18 -23
  158. package/src/dht/find/FindRpcLocal.ts +2 -2
  159. package/src/dht/find/FindSession.ts +20 -20
  160. package/src/dht/find/FindSessionRpcLocal.ts +1 -1
  161. package/src/dht/find/FindSessionRpcRemote.ts +2 -2
  162. package/src/dht/find/Finder.ts +79 -58
  163. package/src/dht/routing/FindRpcRemote.ts +7 -5
  164. package/src/dht/routing/Router.ts +22 -21
  165. package/src/dht/routing/RouterRpcLocal.ts +5 -5
  166. package/src/dht/routing/RouterRpcRemote.ts +13 -10
  167. package/src/dht/routing/RoutingSession.ts +15 -10
  168. package/src/dht/routing/getPreviousPeer.ts +1 -1
  169. package/src/dht/store/LocalDataStore.ts +18 -17
  170. package/src/dht/store/StoreRpcLocal.ts +101 -108
  171. package/src/dht/store/StoreRpcRemote.ts +7 -23
  172. package/src/exports.ts +1 -1
  173. package/src/helpers/PeerID.ts +2 -2
  174. package/src/helpers/UUID.ts +1 -1
  175. package/src/helpers/{kademliaId.ts → nodeId.ts} +1 -1
  176. package/src/helpers/peerIdFromPeerDescriptor.ts +3 -3
  177. package/src/proto/packages/dht/protos/DhtRpc.client.ts +6 -20
  178. package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -10
  179. package/src/proto/packages/dht/protos/DhtRpc.ts +103 -135
  180. package/src/transport/RoutingRpcCommunicator.ts +2 -0
  181. package/test/benchmark/Find.test.ts +4 -4
  182. package/test/benchmark/KademliaCorrectness.test.ts +2 -2
  183. package/test/benchmark/kademlia-simulation/Contact.ts +1 -1
  184. package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +1 -1
  185. package/test/end-to-end/Layer0-Layer1.test.ts +1 -1
  186. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +1 -1
  187. package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +2 -2
  188. package/test/end-to-end/Layer0Webrtc.test.ts +2 -2
  189. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +1 -1
  190. package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +1 -1
  191. package/test/end-to-end/WebsocketConnectionRequest.test.ts +1 -1
  192. package/test/end-to-end/memory-leak.test.ts +8 -12
  193. package/test/integration/ConnectionLocking.test.ts +2 -2
  194. package/test/integration/ConnectionManager.test.ts +14 -14
  195. package/test/integration/DhtJoinPeerDiscovery.test.ts +1 -1
  196. package/test/integration/DhtNodeExternalAPI.test.ts +10 -7
  197. package/test/integration/DhtNodeRpcRemote.test.ts +4 -4
  198. package/test/integration/DhtRpc.test.ts +6 -6
  199. package/test/integration/Find.test.ts +3 -3
  200. package/test/integration/Layer1-scale.test.ts +2 -2
  201. package/test/integration/Mock-Layer1-Layer0.test.ts +1 -1
  202. package/test/integration/{MigrateData.test.ts → ReplicateData.test.ts} +9 -9
  203. package/test/integration/RouteMessage.test.ts +2 -2
  204. package/test/integration/RouterRpcRemote.test.ts +2 -2
  205. package/test/integration/RpcErrors.test.ts +2 -2
  206. package/test/integration/ScaleDownDht.test.ts +4 -2
  207. package/test/integration/SimultaneousConnections.test.ts +8 -8
  208. package/test/integration/Store.test.ts +33 -13
  209. package/test/integration/StoreAndDelete.test.ts +19 -17
  210. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +20 -20
  211. package/test/integration/StoreRpcRemote.test.ts +3 -3
  212. package/test/integration/WebrtcConnectionManagement.test.ts +2 -2
  213. package/test/integration/WebrtcConnectorRpc.test.ts +1 -1
  214. package/test/integration/WebsocketConnectionManagement.test.ts +2 -2
  215. package/test/integration/WebsocketConnectorRpc.test.ts +2 -2
  216. package/test/unit/ConnectivityHelpers.test.ts +4 -4
  217. package/test/unit/Finder.test.ts +69 -23
  218. package/test/unit/LocalDataStore.test.ts +60 -43
  219. package/test/unit/RandomContactList.test.ts +2 -2
  220. package/test/unit/Router.test.ts +19 -11
  221. package/test/unit/RoutingSession.test.ts +76 -0
  222. package/test/unit/SortedContactList.test.ts +2 -2
  223. package/test/unit/WebsocketConnector.test.ts +1 -1
  224. package/test/unit/connectivityRequestHandler.test.ts +71 -0
  225. package/test/utils/mock/Router.ts +1 -1
  226. package/test/utils/utils.ts +24 -22
  227. package/dist/src/connection/ConnectivityChecker.d.ts +0 -17
  228. package/dist/src/connection/ConnectivityChecker.js +0 -208
  229. package/dist/src/connection/ConnectivityChecker.js.map +0 -1
  230. package/dist/src/dht/contact/Remote.js.map +0 -1
  231. package/dist/src/helpers/kademliaId.d.ts +0 -1
  232. package/dist/src/helpers/kademliaId.js.map +0 -1
  233. package/src/connection/ConnectivityChecker.ts +0 -199
@@ -1 +1 @@
1
- {"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,7 @@ import { WebrtcConnectionRequest } from "./DhtRpc";
14
14
  import { WebsocketConnectionResponse } from "./DhtRpc";
15
15
  import { WebsocketConnectionRequest } from "./DhtRpc";
16
16
  import { FindResponse } from "./DhtRpc";
17
- import { DeleteDataResponse } from "./DhtRpc";
18
- import { DeleteDataRequest } from "./DhtRpc";
19
- import { MigrateDataResponse } from "./DhtRpc";
20
- import { MigrateDataRequest } from "./DhtRpc";
17
+ import { ReplicateDataRequest } from "./DhtRpc";
21
18
  import { StoreDataResponse } from "./DhtRpc";
22
19
  import { StoreDataRequest } from "./DhtRpc";
23
20
  import { RouteMessageAck } from "./DhtRpc";
@@ -77,13 +74,9 @@ export interface IStoreRpc<T = ServerCallContext> {
77
74
  */
78
75
  storeData(request: StoreDataRequest, context: T): Promise<StoreDataResponse>;
79
76
  /**
80
- * @generated from protobuf rpc: migrateData(dht.MigrateDataRequest) returns (dht.MigrateDataResponse);
77
+ * @generated from protobuf rpc: replicateData(dht.ReplicateDataRequest) returns (google.protobuf.Empty);
81
78
  */
82
- migrateData(request: MigrateDataRequest, context: T): Promise<MigrateDataResponse>;
83
- /**
84
- * @generated from protobuf rpc: deleteData(dht.DeleteDataRequest) returns (dht.DeleteDataResponse);
85
- */
86
- deleteData(request: DeleteDataRequest, context: T): Promise<DeleteDataResponse>;
79
+ replicateData(request: ReplicateDataRequest, context: T): Promise<Empty>;
87
80
  }
88
81
  /**
89
82
  * @generated from protobuf service dht.FindSessionRpc
@@ -29,6 +29,7 @@ class RoutingRpcCommunicator extends proto_rpc_1.RpcCommunicator {
29
29
  messageType: DhtRpc_1.MessageType.RPC,
30
30
  targetDescriptor
31
31
  };
32
+ // TODO is it possible to have explicit default values for "doNotConnect" and "doNotMindStopped"?
32
33
  if (msg.header.response || callContext && callContext.doNotConnect && callContext.doNotMindStopped) {
33
34
  return this.sendFn(message, true, true);
34
35
  }
@@ -44,6 +45,7 @@ class RoutingRpcCommunicator extends proto_rpc_1.RpcCommunicator {
44
45
  if (message.serviceId == this.ownServiceId && message.body.oneofKind === 'rpcMessage') {
45
46
  const context = new DhtCallContext_1.DhtCallContext();
46
47
  context.incomingSourceDescriptor = message.sourceDescriptor;
48
+ // TODO should we have some handling for this floating promise?
47
49
  this.handleIncomingMessage(message.body.rpcMessage, context);
48
50
  }
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/RoutingRpcCommunicator.ts"],"names":[],"mappings":";;;AAAA,gEAA0F;AAC1F,+BAAyB;AACzB,kDAA2E;AAC3E,mEAA+D;AAI/D,MAAa,sBAAuB,SAAQ,2BAAe;IAIvD,YACI,YAAuB,EACvB,MAA+D,EAC/D,MAA8B;QAE9B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAe,EAAE,UAAkB,EAAE,WAA4B,EAAE,EAAE;YAClG,IAAI,gBAAgC,CAAA;YACpC,mBAAmB;YACnB,IAAI,WAAY,CAAC,gBAAgB,EAAE;gBAC/B,gBAAgB,GAAG,WAAY,CAAC,gBAAiB,CAAA;aACpD;iBAAM,EAAE,oBAAoB;gBACzB,gBAAgB,GAAG,WAAY,CAAC,wBAAyB,CAAA;aAC5D;YAED,MAAM,OAAO,GAAY;gBACrB,SAAS,EAAE,IAAA,SAAE,GAAE;gBACf,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,IAAI,EAAE;oBACF,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,GAAG;iBAClB;gBACD,WAAW,EAAE,oBAAW,CAAC,GAAG;gBAC5B,gBAAgB;aACnB,CAAA;YAED,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,gBAAgB,EAAG;gBACjG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aAC1C;iBAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;gBACvE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;aACpC;iBAAM;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;aAC9B;QAEL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACnF,MAAM,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAA;YACpC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAA;YAC3D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;SAC/D;IACL,CAAC;CACJ;AAnDD,wDAmDC"}
1
+ {"version":3,"file":"RoutingRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/RoutingRpcCommunicator.ts"],"names":[],"mappings":";;;AAAA,gEAA0F;AAC1F,+BAAyB;AACzB,kDAA2E;AAC3E,mEAA+D;AAI/D,MAAa,sBAAuB,SAAQ,2BAAe;IAIvD,YACI,YAAuB,EACvB,MAA+D,EAC/D,MAA8B;QAE9B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAe,EAAE,UAAkB,EAAE,WAA4B,EAAE,EAAE;YAClG,IAAI,gBAAgC,CAAA;YACpC,mBAAmB;YACnB,IAAI,WAAY,CAAC,gBAAgB,EAAE;gBAC/B,gBAAgB,GAAG,WAAY,CAAC,gBAAiB,CAAA;aACpD;iBAAM,EAAE,oBAAoB;gBACzB,gBAAgB,GAAG,WAAY,CAAC,wBAAyB,CAAA;aAC5D;YAED,MAAM,OAAO,GAAY;gBACrB,SAAS,EAAE,IAAA,SAAE,GAAE;gBACf,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,IAAI,EAAE;oBACF,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,GAAG;iBAClB;gBACD,WAAW,EAAE,oBAAW,CAAC,GAAG;gBAC5B,gBAAgB;aACnB,CAAA;YAED,iGAAiG;YACjG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,gBAAgB,EAAG;gBACjG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aAC1C;iBAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;gBACvE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;aACpC;iBAAM;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;aAC9B;QAEL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACnF,MAAM,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAA;YACpC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAA;YAC3D,+DAA+D;YAC/D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;SAC/D;IACL,CAAC;CACJ;AArDD,wDAqDC"}
package/karma.config.js CHANGED
@@ -3,8 +3,8 @@ const path = require('path')
3
3
  const { createKarmaConfig, createWebpackConfig } = require('@streamr/browser-test-runner')
4
4
 
5
5
  const TEST_PATHS = [
6
- 'test/unit/**/*.ts',
7
- './test/integration/**/!(DhtWith*|MigrateData*).ts/',
6
+ 'test/unit/**/!(connectivityRequestHandler*).ts',
7
+ './test/integration/**/!(DhtWith*|ReplicateData*).ts/',
8
8
  './test/end-to-end/**/!(RecoveryFromFailedAutoCertification*|memory-leak*).ts'
9
9
  ]
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamr/dht",
3
- "version": "100.0.0-pretestnet.4",
3
+ "version": "100.0.0-testnet-one.0",
4
4
  "description": "Streamr Network DHT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,9 +31,9 @@
31
31
  "dependencies": {
32
32
  "@protobuf-ts/runtime": "^2.8.2",
33
33
  "@protobuf-ts/runtime-rpc": "^2.8.2",
34
- "@streamr/autocertifier-client": "100.0.0-pretestnet.4",
35
- "@streamr/proto-rpc": "100.0.0-pretestnet.4",
36
- "@streamr/utils": "100.0.0-pretestnet.4",
34
+ "@streamr/autocertifier-client": "100.0.0-testnet-one.0",
35
+ "@streamr/proto-rpc": "100.0.0-testnet-one.0",
36
+ "@streamr/utils": "100.0.0-testnet-one.0",
37
37
  "eventemitter3": "^5.0.0",
38
38
  "heap": "^0.2.6",
39
39
  "ipaddr.js": "^2.0.1",
@@ -46,7 +46,7 @@
46
46
  },
47
47
  "devDependencies": {
48
48
  "@streamr/browser-test-runner": "^0.0.1",
49
- "@streamr/test-utils": "100.0.0-pretestnet.4",
49
+ "@streamr/test-utils": "100.0.0-testnet-one.0",
50
50
  "@types/express": "^4.17.21",
51
51
  "@types/heap": "^0.2.34",
52
52
  "@types/k-bucket": "^5.0.1",
@@ -25,8 +25,7 @@ service FindRpc {
25
25
 
26
26
  service StoreRpc {
27
27
  rpc storeData (StoreDataRequest) returns (StoreDataResponse);
28
- rpc migrateData (MigrateDataRequest) returns (MigrateDataResponse);
29
- rpc deleteData (DeleteDataRequest) returns (DeleteDataResponse);
28
+ rpc replicateData (ReplicateDataRequest) returns (google.protobuf.Empty);
30
29
  }
31
30
 
32
31
  service FindSessionRpc {
@@ -58,10 +57,11 @@ service ExternalApiRpc {
58
57
  // Used inside RpcMessage
59
58
 
60
59
  message StoreDataRequest {
61
- bytes kademliaId = 1;
60
+ bytes key = 1;
62
61
  google.protobuf.Any data = 2;
63
- uint32 ttl = 3;
64
- google.protobuf.Timestamp storerTime = 4;
62
+ PeerDescriptor creator = 3;
63
+ google.protobuf.Timestamp createdAt = 4;
64
+ uint32 ttl = 5;
65
65
  }
66
66
 
67
67
  message StoreDataResponse {
@@ -77,35 +77,23 @@ message ExternalStoreDataResponse {
77
77
  repeated PeerDescriptor storers = 1;
78
78
  }
79
79
 
80
- message MigrateDataRequest {
81
- DataEntry dataEntry = 1;
82
- }
83
-
84
- message MigrateDataResponse {
85
- string error = 1;
86
- }
87
-
88
- message DeleteDataRequest {
89
- bytes kademliaId = 1;
90
- }
91
-
92
- message DeleteDataResponse {
93
- bool deleted = 1;
80
+ message ReplicateDataRequest {
81
+ DataEntry entry = 1;
94
82
  }
95
83
 
96
84
  message DataEntry {
97
- PeerDescriptor storer = 1;
98
- bytes kademliaId = 2;
99
- google.protobuf.Any data = 3;
100
- google.protobuf.Timestamp storedAt = 4;
101
- uint32 ttl = 5; // milliseconds
102
- bool stale = 6;
103
- bool deleted = 7;
104
- google.protobuf.Timestamp storerTime = 8;
85
+ bytes key = 1;
86
+ google.protobuf.Any data = 2;
87
+ PeerDescriptor creator = 3;
88
+ google.protobuf.Timestamp createdAt = 4;
89
+ google.protobuf.Timestamp storedAt = 5;
90
+ uint32 ttl = 6; // milliseconds
91
+ bool stale = 7;
92
+ bool deleted = 8;
105
93
  }
106
94
 
107
95
  message ClosestPeersRequest {
108
- bytes kademliaId = 1;
96
+ bytes nodeId = 1;
109
97
  string requestId = 2;
110
98
  }
111
99
 
@@ -116,13 +104,19 @@ message ClosestPeersResponse {
116
104
 
117
105
  message FindRequest {
118
106
  string sessionId = 1;
119
- bool fetchData = 2;
107
+ FindAction action = 2;
108
+ }
109
+
110
+ enum FindAction {
111
+ NODE = 0;
112
+ FETCH_DATA = 1;
113
+ DELETE_DATA = 2;
120
114
  }
121
115
 
122
116
  message FindResponse {
123
117
  repeated PeerDescriptor closestConnectedPeers = 1;
124
118
  repeated DataEntry dataEntries = 2;
125
- optional bool noCloserNodesFound = 3;
119
+ bool noCloserNodesFound = 3;
126
120
  repeated PeerDescriptor routingPath = 4;
127
121
  }
128
122
 
@@ -139,7 +133,7 @@ message LeaveNotice {
139
133
  }
140
134
 
141
135
  message PeerDescriptor {
142
- bytes kademliaId = 1;
136
+ bytes nodeId = 1;
143
137
  NodeType type = 2;
144
138
  ConnectivityMethod udp = 3;
145
139
  ConnectivityMethod tcp = 4;
@@ -177,7 +171,15 @@ message RouteMessageWrapper {
177
171
 
178
172
  message RouteMessageAck {
179
173
  string requestId = 1;
180
- string error = 2;
174
+ optional RouteMessageError error = 2;
175
+ }
176
+
177
+ enum RouteMessageError {
178
+ NO_TARGETS = 0;
179
+ DUPLICATE = 1;
180
+ // TODO: can this be removed? If DhtNode is already stopped the server side requests
181
+ // should not be processed
182
+ STOPPED = 2;
181
183
  }
182
184
 
183
185
  // Correspond to the MessageType Enum
@@ -277,7 +279,6 @@ message UnlockRequest {
277
279
 
278
280
  message LockResponse {
279
281
  bool accepted = 1;
280
- optional bool reason = 2;
281
282
  }
282
283
 
283
284
  enum DisconnectMode {
@@ -293,10 +294,9 @@ message DisconnectNoticeResponse {
293
294
  }
294
295
 
295
296
  message ExternalFindDataRequest {
296
- bytes kademliaId = 1;
297
+ bytes key = 1;
297
298
  }
298
299
 
299
300
  message ExternalFindDataResponse {
300
- repeated DataEntry dataEntries = 1;
301
- optional string error = 2;
301
+ repeated DataEntry entries = 1;
302
302
  }
@@ -26,7 +26,7 @@ export class ConnectionLockHandler {
26
26
  }
27
27
 
28
28
  public isLocalLocked(id: PeerIDKey, lockId?: LockID): boolean {
29
- if (!lockId) {
29
+ if (lockId === undefined) {
30
30
  return this.localLocks.has(id)
31
31
  } else {
32
32
  return this.localLocks.has(id) && this.localLocks.get(id)!.has(lockId)
@@ -34,7 +34,7 @@ export class ConnectionLockHandler {
34
34
  }
35
35
 
36
36
  public isRemoteLocked(id: PeerIDKey, lockId?: LockID): boolean {
37
- if (!lockId) {
37
+ if (lockId === undefined) {
38
38
  return this.remoteLocks.has(id)
39
39
  } else {
40
40
  if (this.remoteLocks.has(id) && this.remoteLocks.get(id)!.has(lockId)) {
@@ -4,12 +4,12 @@ import { IConnectionLockRpcClient } from '../proto/packages/dht/protos/DhtRpc.cl
4
4
  import { LockRequest, UnlockRequest, PeerDescriptor, DisconnectNotice, DisconnectMode } from '../proto/packages/dht/protos/DhtRpc'
5
5
  import * as Err from '../helpers/errors'
6
6
  import { getNodeIdFromPeerDescriptor } from '../helpers/peerIdFromPeerDescriptor'
7
- import { Remote } from '../dht/contact/Remote'
7
+ import { RpcRemote } from '../dht/contact/RpcRemote'
8
8
  import { LockID } from './ConnectionLockHandler'
9
9
 
10
10
  const logger = new Logger(module)
11
11
 
12
- export class ConnectionLockRpcRemote extends Remote<IConnectionLockRpcClient> {
12
+ export class ConnectionLockRpcRemote extends RpcRemote<IConnectionLockRpcClient> {
13
13
 
14
14
  constructor(
15
15
  localPeerDescriptor: PeerDescriptor,
@@ -141,6 +141,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
141
141
  addRemoteLocked: (id: PeerIDKey, serviceId: string) => this.locks.addRemoteLocked(id, serviceId),
142
142
  removeRemoteLocked: (id: PeerIDKey, serviceId: string) => this.locks.removeRemoteLocked(id, serviceId),
143
143
  closeConnection: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean, reason?: string) => {
144
+ // TODO should we have some handling for this floating promise?
144
145
  this.closeConnection(peerDescriptor, gracefulLeave, reason)
145
146
  },
146
147
  getLocalPeerDescriptor: () => this.getLocalPeerDescriptor()
@@ -213,6 +214,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
213
214
  } else {
214
215
  logger.trace('handshake of connection not completed, force-closing')
215
216
  const eventReceived = waitForEvent3<ManagedConnectionEvents>(peer, 'disconnected', 2000)
217
+ // TODO should we have some handling for this floating promise?
216
218
  peer.close(true)
217
219
  try {
218
220
  await eventReceived
@@ -383,7 +385,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
383
385
  + ' onDisconnected() did nothing, no such connection in connectionManager')
384
386
  if (storedConnection) {
385
387
  logger.trace(getNodeIdOrUnknownFromPeerDescriptor(connection.getPeerDescriptor())
386
- + ' connectionIds do not match ' + storedConnection.connectionId + ' ' + connection.connectionId)
388
+ + ' connectionIds do not match ' + storedConnection.connectionId.toString() + ' ' + connection.connectionId.toString())
387
389
  }
388
390
  }
389
391
 
@@ -522,6 +524,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
522
524
  })
523
525
  .catch((e) => {
524
526
  logger.trace('force-closing connection after timeout ' + e)
527
+ // TODO should we have some handling for this floating promise?
525
528
  connection.close(true)
526
529
  })
527
530
  .finally(() => {
@@ -39,6 +39,7 @@ export interface DefaultConnectorFacadeConfig {
39
39
  webrtcPortRange?: PortRange
40
40
  maxMessageSize?: number
41
41
  tlsCertificate?: TlsCertificate
42
+ // TODO explicit default value for "websocketServerEnableTls" or make it required
42
43
  websocketServerEnableTls?: boolean
43
44
  autoCertifierUrl?: string
44
45
  autoCertifierConfigFile?: string
@@ -63,7 +64,7 @@ export class DefaultConnectorFacade implements ConnectorFacade {
63
64
  ): Promise<void> {
64
65
  logger.trace(`Creating WebsocketConnectorRpcLocal`)
65
66
  const webSocketConnectorConfig = {
66
- transport: this.config.transport!,
67
+ transport: this.config.transport,
67
68
  // TODO should we use canConnect also for WebrtcConnector? (NET-1142)
68
69
  canConnect: (peerDescriptor: PeerDescriptor) => canConnect(peerDescriptor),
69
70
  onNewConnection,
@@ -80,7 +81,7 @@ export class DefaultConnectorFacade implements ConnectorFacade {
80
81
  this.websocketConnector = new WebsocketConnector(webSocketConnectorConfig)
81
82
  logger.trace(`Creating WebRtcConnectorRpcLocal`)
82
83
  this.webrtcConnector = new WebrtcConnector({
83
- transport: this.config.transport!,
84
+ transport: this.config.transport,
84
85
  iceServers: this.config.iceServers,
85
86
  allowPrivateAddresses: this.config.webrtcAllowPrivateAddresses,
86
87
  bufferThresholdLow: this.config.webrtcDatachannelBufferThresholdLow,
@@ -101,8 +102,8 @@ export class DefaultConnectorFacade implements ConnectorFacade {
101
102
  this.setLocalPeerDescriptor(localPeerDescriptor)
102
103
  if (localPeerDescriptor.websocket && !this.config.tlsCertificate && this.config.websocketServerEnableTls) {
103
104
  try {
104
- await this.websocketConnector!.autoCertify()
105
- const connectivityResponse = await this.websocketConnector!.checkConnectivity(false)
105
+ await this.websocketConnector.autoCertify()
106
+ const connectivityResponse = await this.websocketConnector.checkConnectivity(false)
106
107
  const autocertifiedLocalPeerDescriptor = this.config.createLocalPeerDescriptor(connectivityResponse)
107
108
  if (autocertifiedLocalPeerDescriptor.websocket !== undefined) {
108
109
  this.setLocalPeerDescriptor(autocertifiedLocalPeerDescriptor)
@@ -85,6 +85,7 @@ export class ManagedConnection extends EventEmitter<Events> {
85
85
 
86
86
  this.handshaker.once('handshakeFailed', (error) => {
87
87
  if (error === HandshakeError.INVALID_TARGET_PEER_DESCRIPTOR) {
88
+ // TODO should we have some handling for this floating promise?
88
89
  this.close(false)
89
90
  } else {
90
91
  logger.trace(getNodeIdOrUnknownFromPeerDescriptor(this.remotePeerDescriptor) + ' handshakeFailed: ' + error)
@@ -0,0 +1,101 @@
1
+ import { Logger, RunAndRaceEventsReturnType, runAndRaceEvents3 } from '@streamr/utils'
2
+ import { v4 } from 'uuid'
3
+ import * as Err from '../helpers/errors'
4
+ import {
5
+ ConnectivityRequest, ConnectivityResponse,
6
+ Message, MessageType, PeerDescriptor
7
+ } from '../proto/packages/dht/protos/DhtRpc'
8
+ import { ConnectionEvents, IConnection } from './IConnection'
9
+ import { ClientWebsocket } from './websocket/ClientWebsocket'
10
+ import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketConnector'
11
+
12
+ const logger = new Logger(module)
13
+
14
+ export const connectAsync = async ({ url, selfSigned, timeoutMs = 1000 }:
15
+ { url: string, selfSigned: boolean, timeoutMs?: number }
16
+ ): Promise<IConnection> => {
17
+ const socket = new ClientWebsocket()
18
+ let result: RunAndRaceEventsReturnType<ConnectionEvents>
19
+ try {
20
+ result = await runAndRaceEvents3<ConnectionEvents>([
21
+ () => { socket.connect(url, selfSigned) }],
22
+ socket, ['connected', 'error'],
23
+ timeoutMs)
24
+ } catch (e) {
25
+ throw new Err.ConnectionFailed('WebSocket connection timed out')
26
+ }
27
+ if (result.winnerName === 'error') {
28
+ throw new Err.ConnectionFailed('Could not open WebSocket connection')
29
+ }
30
+ return socket
31
+ }
32
+
33
+ export const CONNECTIVITY_CHECKER_SERVICE_ID = 'system/connectivity-checker'
34
+ const CONNECTIVITY_CHECKER_TIMEOUT = 5000
35
+
36
+ export const sendConnectivityRequest = async (
37
+ request: ConnectivityRequest,
38
+ entryPoint: PeerDescriptor
39
+ ): Promise<ConnectivityResponse> => {
40
+ let outgoingConnection: IConnection
41
+ const wsServerInfo = {
42
+ host: entryPoint.websocket!.host,
43
+ port: entryPoint.websocket!.port,
44
+ tls: entryPoint.websocket!.tls,
45
+ }
46
+ const url = connectivityMethodToWebsocketUrl(wsServerInfo, 'connectivityRequest')
47
+ try {
48
+ outgoingConnection = await connectAsync({
49
+ url,
50
+ selfSigned: request.selfSigned
51
+ })
52
+ } catch (e) {
53
+ throw new Err.ConnectionFailed(`Failed to connect to the entrypoint ${url}`, e)
54
+ }
55
+ // send connectivity request
56
+ const msg: Message = {
57
+ serviceId: CONNECTIVITY_CHECKER_SERVICE_ID,
58
+ messageType: MessageType.CONNECTIVITY_REQUEST, messageId: v4(),
59
+ body: {
60
+ oneofKind: 'connectivityRequest',
61
+ connectivityRequest: request
62
+ }
63
+ }
64
+ const responseAwaiter = () => {
65
+ return new Promise((resolve: (res: ConnectivityResponse) => void, reject) => {
66
+ const timeoutId = setTimeout(() => {
67
+ // TODO should we have some handling for this floating promise?
68
+ outgoingConnection.close(false)
69
+ reject(new Err.ConnectivityResponseTimeout('timeout'))
70
+ }, CONNECTIVITY_CHECKER_TIMEOUT)
71
+ const listener = (bytes: Uint8Array) => {
72
+ // TODO should we have some handling for this floating promise?
73
+ outgoingConnection.close(false)
74
+ try {
75
+ const message: Message = Message.fromBinary(bytes)
76
+ if (message.body.oneofKind === 'connectivityResponse') {
77
+ logger.trace('ConnectivityResponse received: ' + JSON.stringify(Message.toJson(message)))
78
+ const connectivityResponseMessage = message.body.connectivityResponse
79
+ outgoingConnection!.off('data', listener)
80
+ clearTimeout(timeoutId)
81
+ resolve(connectivityResponseMessage)
82
+ } else {
83
+ return
84
+ }
85
+ } catch (err) {
86
+ logger.trace(`Could not parse message: ${err}`)
87
+ }
88
+ }
89
+ outgoingConnection!.on('data', listener)
90
+ })
91
+ }
92
+ try {
93
+ const retPromise = responseAwaiter()
94
+ outgoingConnection.send(Message.toBinary(msg))
95
+ logger.trace('ConnectivityRequest sent: ' + JSON.stringify(Message.toJson(msg)))
96
+ return await retPromise
97
+ } catch (e) {
98
+ logger.error('error getting connectivityresponse')
99
+ throw e
100
+ }
101
+ }
@@ -0,0 +1,79 @@
1
+ import { Logger } from '@streamr/utils'
2
+ import { v4 } from 'uuid'
3
+ import {
4
+ ConnectivityRequest, ConnectivityResponse,
5
+ Message, MessageType
6
+ } from '../proto/packages/dht/protos/DhtRpc'
7
+ import { NatType } from './ConnectionManager'
8
+ import { CONNECTIVITY_CHECKER_SERVICE_ID, connectAsync } from './connectivityChecker'
9
+ import { IConnection } from './IConnection'
10
+ import { ServerWebsocket } from './websocket/ServerWebsocket'
11
+ import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketConnector'
12
+
13
+ const logger = new Logger(module)
14
+
15
+ export const attachConnectivityRequestHandler = (connectionToListenTo: ServerWebsocket): void => {
16
+ connectionToListenTo.on('data', async (data: Uint8Array) => {
17
+ logger.trace('server received data')
18
+ try {
19
+ const message = Message.fromBinary(data)
20
+ if (message.body.oneofKind === 'connectivityRequest') {
21
+ logger.trace('ConnectivityRequest received: ' + JSON.stringify(Message.toJson(message)))
22
+ try {
23
+ await handleIncomingConnectivityRequest(connectionToListenTo, message.body.connectivityRequest)
24
+ logger.trace('handleIncomingConnectivityRequest ok')
25
+ } catch (e) {
26
+ logger.error('handleIncomingConnectivityRequest', { error: e })
27
+ }
28
+ }
29
+ } catch (err) {
30
+ logger.trace(`Could not parse message: ${err}`)
31
+ }
32
+ })
33
+ }
34
+
35
+ const handleIncomingConnectivityRequest = async (connection: ServerWebsocket, connectivityRequest: ConnectivityRequest): Promise<void> => {
36
+ let outgoingConnection: IConnection | undefined
37
+ let connectivityResponseMessage: ConnectivityResponse | undefined
38
+ const host = connectivityRequest.host ?? connection.getRemoteAddress()
39
+ try {
40
+ const wsServerInfo = {
41
+ host,
42
+ port: connectivityRequest.port,
43
+ tls: connectivityRequest.tls
44
+ }
45
+ const url = connectivityMethodToWebsocketUrl(wsServerInfo, 'connectivityProbe')
46
+ logger.trace(`Attempting Connectivity Check to ${url}`)
47
+ outgoingConnection = await connectAsync({
48
+ url,
49
+ selfSigned: connectivityRequest.selfSigned
50
+ })
51
+ } catch (err) {
52
+ logger.debug('error', { err })
53
+ connectivityResponseMessage = {
54
+ host,
55
+ natType: NatType.UNKNOWN
56
+ }
57
+ }
58
+ if (outgoingConnection) {
59
+ // TODO should we have some handling for this floating promise?
60
+ outgoingConnection.close(false)
61
+ logger.trace('Connectivity test produced positive result, communicating reply to the requester ' + host + ':' + connectivityRequest.port)
62
+ connectivityResponseMessage = {
63
+ host,
64
+ natType: NatType.OPEN_INTERNET,
65
+ websocket: { host, port: connectivityRequest.port, tls: connectivityRequest.tls }
66
+ }
67
+ }
68
+ const msg: Message = {
69
+ serviceId: CONNECTIVITY_CHECKER_SERVICE_ID,
70
+ messageType: MessageType.CONNECTIVITY_RESPONSE,
71
+ messageId: v4(),
72
+ body: {
73
+ oneofKind: 'connectivityResponse',
74
+ connectivityResponse: connectivityResponseMessage!
75
+ }
76
+ }
77
+ connection.send(Message.toBinary(msg))
78
+ logger.trace('ConnectivityResponse sent: ' + JSON.stringify(Message.toJson(msg)))
79
+ }
@@ -148,7 +148,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
148
148
  this.latencyTable = getRegionDelayMatrix()
149
149
  }
150
150
 
151
- if (this.latencyType === LatencyType.FIXED && !this.fixedLatency) {
151
+ if ((this.latencyType === LatencyType.FIXED) && (this.fixedLatency === undefined)) {
152
152
  throw new Error('LatencyType.FIXED requires the desired latency to be given as second parameter')
153
153
  }
154
154
 
@@ -185,7 +185,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
185
185
 
186
186
  if (sourceRegion === undefined || targetRegion === undefined || sourceRegion > 15 || targetRegion > 15) {
187
187
  logger.error('invalid region index given to Simulator')
188
- throw ('invalid region index given to Simulator')
188
+ throw new Error('invalid region index given to Simulator')
189
189
  }
190
190
 
191
191
  latency = this.latencyTable![sourceRegion][targetRegion]
@@ -313,6 +313,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
313
313
  this.simulatorTimeout = setTimeout(this.executeQueuedOperations, timeDifference)
314
314
 
315
315
  if (Simulator.clock) {
316
+ // TODO should we have some handling for this floating promise?
316
317
  Simulator.clock.runAllAsync()
317
318
  }
318
319
  }