@streamr/dht 100.0.0-pretestnet.2 → 100.0.0-pretestnet.3

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 (316) hide show
  1. package/dist/src/connection/ConnectionLockHandler.d.ts +7 -8
  2. package/dist/src/connection/ConnectionLockHandler.js +16 -14
  3. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  4. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +20 -0
  5. package/dist/src/connection/ConnectionLockRpcLocal.js +47 -0
  6. package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -0
  7. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +4 -3
  8. package/dist/src/connection/ConnectionLockRpcRemote.js +6 -6
  9. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  10. package/dist/src/connection/ConnectionManager.d.ts +5 -8
  11. package/dist/src/connection/ConnectionManager.js +77 -107
  12. package/dist/src/connection/ConnectionManager.js.map +1 -1
  13. package/dist/src/connection/ConnectivityChecker.d.ts +7 -6
  14. package/dist/src/connection/ConnectivityChecker.js +23 -20
  15. package/dist/src/connection/ConnectivityChecker.js.map +1 -1
  16. package/dist/src/connection/ConnectorFacade.d.ts +15 -12
  17. package/dist/src/connection/ConnectorFacade.js +61 -26
  18. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  19. package/dist/src/connection/Handshaker.d.ts +2 -2
  20. package/dist/src/connection/Handshaker.js +28 -28
  21. package/dist/src/connection/Handshaker.js.map +1 -1
  22. package/dist/src/connection/IConnection.d.ts +5 -6
  23. package/dist/src/connection/IConnection.js.map +1 -1
  24. package/dist/src/connection/ManagedConnection.d.ts +3 -4
  25. package/dist/src/connection/ManagedConnection.js +30 -30
  26. package/dist/src/connection/ManagedConnection.js.map +1 -1
  27. package/dist/src/connection/ManagedWebrtcConnection.d.ts +7 -0
  28. package/dist/src/connection/ManagedWebrtcConnection.js +20 -0
  29. package/dist/src/connection/ManagedWebrtcConnection.js.map +1 -0
  30. package/dist/src/connection/{Simulator → simulator}/Simulator.js +3 -3
  31. package/dist/src/connection/{Simulator → simulator}/Simulator.js.map +1 -1
  32. package/dist/src/connection/{Simulator → simulator}/SimulatorConnection.d.ts +3 -4
  33. package/dist/src/connection/{Simulator → simulator}/SimulatorConnection.js +22 -22
  34. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -0
  35. package/dist/src/connection/{Simulator → simulator}/SimulatorConnector.d.ts +2 -2
  36. package/dist/src/connection/{Simulator → simulator}/SimulatorConnector.js +11 -11
  37. package/dist/src/connection/{Simulator → simulator}/SimulatorConnector.js.map +1 -1
  38. package/dist/src/connection/{Simulator → simulator}/SimulatorTransport.d.ts +1 -1
  39. package/dist/src/connection/{Simulator → simulator}/SimulatorTransport.js +2 -2
  40. package/dist/src/connection/simulator/SimulatorTransport.js.map +1 -0
  41. package/dist/src/connection/{Simulator → simulator}/pings.js.map +1 -1
  42. package/dist/src/connection/{WebRTC/IWebRtcConnection.d.ts → webrtc/IWebrtcConnection.d.ts} +2 -2
  43. package/dist/src/connection/{WebRTC/IWebRtcConnection.js → webrtc/IWebrtcConnection.js} +1 -1
  44. package/dist/src/connection/webrtc/IWebrtcConnection.js.map +1 -0
  45. package/dist/src/connection/{WebRTC/NodeWebRtcConnection.d.ts → webrtc/NodeWebrtcConnection.d.ts} +6 -7
  46. package/dist/src/connection/{WebRTC/NodeWebRtcConnection.js → webrtc/NodeWebrtcConnection.js} +36 -36
  47. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -0
  48. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +38 -0
  49. package/dist/src/connection/webrtc/WebrtcConnector.js +178 -0
  50. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -0
  51. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +26 -0
  52. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +99 -0
  53. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -0
  54. package/dist/src/connection/{WebRTC/WebRtcConnectorRpcRemote.d.ts → webrtc/WebrtcConnectorRpcRemote.d.ts} +4 -4
  55. package/dist/src/connection/{WebRTC/WebRtcConnectorRpcRemote.js → webrtc/WebrtcConnectorRpcRemote.js} +6 -8
  56. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +1 -0
  57. package/dist/src/connection/{WebRTC → webrtc}/iceServerAsString.d.ts +1 -1
  58. package/dist/src/connection/{WebRTC → webrtc}/iceServerAsString.js.map +1 -1
  59. package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +26 -0
  60. package/dist/src/connection/websocket/AutoCertifierClientFacade.js +37 -0
  61. package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +1 -0
  62. package/dist/src/connection/{WebSocket/ClientWebSocket.d.ts → websocket/ClientWebsocket.d.ts} +5 -4
  63. package/dist/src/connection/{WebSocket/ClientWebSocket.js → websocket/ClientWebsocket.js} +20 -16
  64. package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -0
  65. package/dist/src/connection/{WebSocket/ServerWebSocket.d.ts → websocket/ServerWebsocket.d.ts} +2 -2
  66. package/dist/src/connection/{WebSocket/ServerWebSocket.js → websocket/ServerWebsocket.js} +23 -27
  67. package/dist/src/connection/websocket/ServerWebsocket.js.map +1 -0
  68. package/dist/src/connection/{WebSocket/WebSocketConnectorRpcLocal.d.ts → websocket/WebsocketConnector.d.ts} +23 -15
  69. package/dist/src/connection/{WebSocket/WebSocketConnectorRpcLocal.js → websocket/WebsocketConnector.js} +107 -101
  70. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -0
  71. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +17 -0
  72. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +26 -0
  73. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +1 -0
  74. package/dist/src/connection/{WebSocket/WebSocketConnectorRpcRemote.d.ts → websocket/WebsocketConnectorRpcRemote.d.ts} +3 -3
  75. package/dist/src/connection/{WebSocket/WebSocketConnectorRpcRemote.js → websocket/WebsocketConnectorRpcRemote.js} +5 -10
  76. package/dist/src/connection/{WebSocket/WebSocketConnectorRpcRemote.js.map → websocket/WebsocketConnectorRpcRemote.js.map} +1 -1
  77. package/dist/src/connection/{WebSocket/WebSocketServer.d.ts → websocket/WebsocketServer.d.ts} +6 -3
  78. package/dist/src/connection/{WebSocket/WebSocketServer.js → websocket/WebsocketServer.js} +39 -19
  79. package/dist/src/connection/websocket/WebsocketServer.js.map +1 -0
  80. package/dist/src/dht/DhtNode.d.ts +11 -19
  81. package/dist/src/dht/DhtNode.js +119 -150
  82. package/dist/src/dht/DhtNode.js.map +1 -1
  83. package/dist/src/dht/DhtNodeRpcLocal.d.ts +22 -0
  84. package/dist/src/dht/DhtNodeRpcLocal.js +42 -0
  85. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -0
  86. package/dist/src/dht/{RemoteDhtNode.d.ts → DhtNodeRpcRemote.d.ts} +5 -3
  87. package/dist/src/dht/{RemoteDhtNode.js → DhtNodeRpcRemote.js} +17 -21
  88. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -0
  89. package/dist/src/dht/ExternalApiRpcLocal.d.ts +16 -0
  90. package/dist/src/dht/ExternalApiRpcLocal.js +30 -0
  91. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -0
  92. package/dist/src/dht/ExternalApiRpcRemote.d.ts +1 -1
  93. package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
  94. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  95. package/dist/src/dht/contact/Remote.d.ts +4 -1
  96. package/dist/src/dht/contact/Remote.js +28 -2
  97. package/dist/src/dht/contact/Remote.js.map +1 -1
  98. package/dist/src/dht/contact/SortedContactList.d.ts +2 -2
  99. package/dist/src/dht/contact/SortedContactList.js +3 -3
  100. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  101. package/dist/src/dht/discovery/DiscoverySession.d.ts +9 -7
  102. package/dist/src/dht/discovery/DiscoverySession.js +8 -8
  103. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  104. package/dist/src/dht/discovery/PeerDiscovery.d.ts +7 -10
  105. package/dist/src/dht/discovery/PeerDiscovery.js +5 -5
  106. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  107. package/dist/src/dht/find/FindRpcLocal.d.ts +14 -0
  108. package/dist/src/dht/find/FindRpcLocal.js +25 -0
  109. package/dist/src/dht/find/FindRpcLocal.js.map +1 -0
  110. package/dist/src/dht/find/{RecursiveFindSession.d.ts → FindSession.d.ts} +12 -13
  111. package/dist/src/dht/find/{RecursiveFindSession.js → FindSession.js} +17 -15
  112. package/dist/src/dht/find/FindSession.js.map +1 -0
  113. package/dist/src/dht/find/FindSessionRpcLocal.d.ts +12 -0
  114. package/dist/src/dht/find/FindSessionRpcLocal.js +17 -0
  115. package/dist/src/dht/find/FindSessionRpcLocal.js.map +1 -0
  116. package/dist/src/dht/find/{RemoteRecursiveFindSession.d.ts → FindSessionRpcRemote.d.ts} +2 -2
  117. package/dist/src/dht/find/{RemoteRecursiveFindSession.js → FindSessionRpcRemote.js} +5 -5
  118. package/dist/src/dht/find/FindSessionRpcRemote.js.map +1 -0
  119. package/dist/src/dht/find/{RecursiveFinder.d.ts → Finder.d.ts} +16 -19
  120. package/dist/src/dht/find/{RecursiveFinder.js → Finder.js} +50 -46
  121. package/dist/src/dht/find/Finder.js.map +1 -0
  122. package/dist/src/dht/routing/FindRpcRemote.d.ts +6 -0
  123. package/dist/src/dht/routing/FindRpcRemote.js +41 -0
  124. package/dist/src/dht/routing/FindRpcRemote.js.map +1 -0
  125. package/dist/src/dht/routing/Router.d.ts +10 -17
  126. package/dist/src/dht/routing/Router.js +47 -90
  127. package/dist/src/dht/routing/Router.js.map +1 -1
  128. package/dist/src/dht/routing/RouterRpcLocal.d.ts +22 -0
  129. package/dist/src/dht/routing/RouterRpcLocal.js +66 -0
  130. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -0
  131. package/dist/src/dht/routing/RouterRpcRemote.d.ts +0 -1
  132. package/dist/src/dht/routing/RouterRpcRemote.js +15 -43
  133. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  134. package/dist/src/dht/routing/RoutingSession.d.ts +17 -8
  135. package/dist/src/dht/routing/RoutingSession.js +124 -131
  136. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  137. package/dist/src/dht/routing/getPreviousPeer.d.ts +2 -0
  138. package/dist/src/dht/routing/getPreviousPeer.js +9 -0
  139. package/dist/src/dht/routing/getPreviousPeer.js.map +1 -0
  140. package/dist/src/dht/store/StoreRpcLocal.d.ts +11 -8
  141. package/dist/src/dht/store/StoreRpcLocal.js +25 -24
  142. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  143. package/dist/src/dht/store/StoreRpcRemote.js +3 -7
  144. package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
  145. package/dist/src/exports.d.ts +11 -5
  146. package/dist/src/exports.js +17 -4
  147. package/dist/src/exports.js.map +1 -1
  148. package/dist/src/helpers/Connectivity.d.ts +4 -0
  149. package/dist/src/helpers/Connectivity.js +24 -0
  150. package/dist/src/helpers/Connectivity.js.map +1 -0
  151. package/dist/src/helpers/errors.d.ts +3 -3
  152. package/dist/src/helpers/errors.js +7 -7
  153. package/dist/src/helpers/protoClasses.js +3 -3
  154. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +56 -39
  155. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +49 -36
  156. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  157. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +64 -84
  158. package/dist/src/proto/packages/dht/protos/DhtRpc.js +64 -66
  159. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  160. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +26 -21
  161. package/dist/src/rpc-protocol/DhtCallContext.d.ts +0 -1
  162. package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -1
  163. package/dist/src/transport/ITransport.d.ts +5 -6
  164. package/dist/src/transport/ListeningRpcCommunicator.d.ts +2 -1
  165. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
  166. package/dist/src/transport/RoutingRpcCommunicator.d.ts +2 -1
  167. package/dist/src/transport/RoutingRpcCommunicator.js +0 -1
  168. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  169. package/dist/src/types/ServiceID.d.ts +1 -0
  170. package/dist/src/types/ServiceID.js +3 -0
  171. package/dist/src/types/ServiceID.js.map +1 -0
  172. package/karma.config.js +4 -4
  173. package/package.json +10 -8
  174. package/protos/DhtRpc.proto +32 -35
  175. package/src/connection/ConnectionLockHandler.ts +19 -17
  176. package/src/connection/ConnectionLockRpcLocal.ts +74 -0
  177. package/src/connection/ConnectionLockRpcRemote.ts +7 -6
  178. package/src/connection/ConnectionManager.ts +59 -95
  179. package/src/connection/ConnectivityChecker.ts +30 -26
  180. package/src/connection/ConnectorFacade.ts +74 -34
  181. package/src/connection/Handshaker.ts +9 -9
  182. package/src/connection/IConnection.ts +5 -6
  183. package/src/connection/ManagedConnection.ts +21 -22
  184. package/src/connection/{ManagedWebRtcConnection.ts → ManagedWebrtcConnection.ts} +9 -9
  185. package/src/connection/{Simulator → simulator}/Simulator.ts +4 -4
  186. package/src/connection/{Simulator → simulator}/SimulatorConnection.ts +23 -24
  187. package/src/connection/{Simulator → simulator}/SimulatorConnector.ts +13 -13
  188. package/src/connection/{Simulator → simulator}/SimulatorTransport.ts +2 -2
  189. package/src/connection/{WebRTC/BrowserWebRtcConnection.ts → webrtc/BrowserWebrtcConnection.ts} +12 -13
  190. package/src/connection/{WebRTC/IWebRtcConnection.ts → webrtc/IWebrtcConnection.ts} +2 -2
  191. package/src/connection/{WebRTC/NodeWebRtcConnection.ts → webrtc/NodeWebrtcConnection.ts} +32 -33
  192. package/src/connection/webrtc/WebrtcConnector.ts +225 -0
  193. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +132 -0
  194. package/src/connection/{WebRTC/WebRtcConnectorRpcRemote.ts → webrtc/WebrtcConnectorRpcRemote.ts} +6 -7
  195. package/src/connection/{WebRTC → webrtc}/iceServerAsString.ts +1 -1
  196. package/src/connection/websocket/AutoCertifierClientFacade.ts +91 -0
  197. package/src/connection/{WebSocket/ClientWebSocket.ts → websocket/ClientWebsocket.ts} +19 -17
  198. package/src/connection/{WebSocket/ServerWebSocket.ts → websocket/ServerWebsocket.ts} +21 -27
  199. package/src/connection/{WebSocket/WebSocketConnectorRpcLocal.ts → websocket/WebsocketConnector.ts} +109 -100
  200. package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +41 -0
  201. package/src/connection/{WebSocket/WebSocketConnectorRpcRemote.ts → websocket/WebsocketConnectorRpcRemote.ts} +6 -12
  202. package/src/connection/{WebSocket/WebSocketServer.ts → websocket/WebsocketServer.ts} +40 -22
  203. package/src/dht/DhtNode.ts +144 -179
  204. package/src/dht/DhtNodeRpcLocal.ts +68 -0
  205. package/src/dht/{RemoteDhtNode.ts → DhtNodeRpcRemote.ts} +12 -13
  206. package/src/dht/ExternalApiRpcLocal.ts +46 -0
  207. package/src/dht/ExternalApiRpcRemote.ts +4 -4
  208. package/src/dht/contact/Remote.ts +32 -4
  209. package/src/dht/contact/SortedContactList.ts +4 -4
  210. package/src/dht/discovery/DiscoverySession.ts +23 -20
  211. package/src/dht/discovery/PeerDiscovery.ts +14 -17
  212. package/src/dht/find/FindRpcLocal.ts +35 -0
  213. package/src/dht/find/{RecursiveFindSession.ts → FindSession.ts} +25 -25
  214. package/src/dht/find/FindSessionRpcLocal.ts +25 -0
  215. package/src/dht/find/{RemoteRecursiveFindSession.ts → FindSessionRpcRemote.ts} +9 -5
  216. package/src/dht/find/{RecursiveFinder.ts → Finder.ts} +77 -71
  217. package/src/dht/routing/FindRpcRemote.ts +40 -0
  218. package/src/dht/routing/Router.ts +69 -105
  219. package/src/dht/routing/RouterRpcLocal.ts +81 -0
  220. package/src/dht/routing/RouterRpcRemote.ts +15 -45
  221. package/src/dht/routing/RoutingSession.ts +56 -61
  222. package/src/dht/routing/getPreviousPeer.ts +6 -0
  223. package/src/dht/store/StoreRpcLocal.ts +44 -37
  224. package/src/dht/store/StoreRpcRemote.ts +4 -8
  225. package/src/exports.ts +11 -5
  226. package/src/helpers/Connectivity.ts +19 -0
  227. package/src/helpers/errors.ts +3 -3
  228. package/src/helpers/protoClasses.ts +6 -6
  229. package/src/proto/packages/dht/protos/DhtRpc.client.ts +75 -59
  230. package/src/proto/packages/dht/protos/DhtRpc.server.ts +26 -21
  231. package/src/proto/packages/dht/protos/DhtRpc.ts +87 -114
  232. package/src/rpc-protocol/DhtCallContext.ts +0 -1
  233. package/src/transport/ITransport.ts +5 -8
  234. package/src/transport/ListeningRpcCommunicator.ts +2 -1
  235. package/src/transport/RoutingRpcCommunicator.ts +3 -4
  236. package/src/types/ServiceID.ts +1 -0
  237. package/test/benchmark/{RecursiveFind.test.ts → Find.test.ts} +6 -6
  238. package/test/benchmark/KademliaCorrectness.test.ts +2 -2
  239. package/test/benchmark/kademlia-simulation/SimulationNode.ts +3 -3
  240. package/test/end-to-end/Layer0-Layer1.test.ts +13 -5
  241. package/test/end-to-end/Layer0.test.ts +35 -17
  242. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +24 -6
  243. package/test/end-to-end/{Layer0WebRTC-Layer1.test.ts → Layer0Webrtc-Layer1.test.ts} +1 -1
  244. package/test/end-to-end/{Layer0WebRTC.test.ts → Layer0Webrtc.test.ts} +14 -10
  245. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +8 -4
  246. package/test/end-to-end/{Layer1-Scale-WebRTC.test.ts → Layer1-Scale-Webrtc.test.ts} +2 -2
  247. package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +52 -0
  248. package/test/end-to-end/{WebSocketConnectionRequest.test.ts → WebsocketConnectionRequest.test.ts} +16 -8
  249. package/test/end-to-end/memory-leak.test.ts +85 -0
  250. package/test/integration/ConnectionLocking.test.ts +4 -4
  251. package/test/integration/ConnectionManager.test.ts +37 -28
  252. package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
  253. package/test/integration/DhtNodeExternalAPI.test.ts +10 -10
  254. package/test/integration/{RemoteDhtNode.test.ts → DhtNodeRpcRemote.test.ts} +10 -10
  255. package/test/integration/DhtRpc.test.ts +5 -5
  256. package/test/integration/{RecursiveFind.test.ts → Find.test.ts} +3 -3
  257. package/test/integration/Layer1-scale.test.ts +1 -1
  258. package/test/integration/MigrateData.test.ts +6 -5
  259. package/test/integration/Mock-Layer1-Layer0.test.ts +1 -1
  260. package/test/integration/MultipleEntryPointJoining.test.ts +6 -6
  261. package/test/integration/RouteMessage.test.ts +26 -26
  262. package/test/integration/RpcErrors.test.ts +10 -10
  263. package/test/integration/ScaleDownDht.test.ts +3 -3
  264. package/test/integration/SimultaneousConnections.test.ts +10 -7
  265. package/test/integration/Store.test.ts +1 -1
  266. package/test/integration/StoreAndDelete.test.ts +1 -1
  267. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +12 -12
  268. package/test/integration/{WebRtcConnectionManagement.test.ts → WebrtcConnectionManagement.test.ts} +4 -4
  269. package/test/integration/{WebRtcConnectorRpc.test.ts → WebrtcConnectorRpc.test.ts} +7 -8
  270. package/test/integration/{WebSocket.test.ts → Websocket.test.ts} +14 -13
  271. package/test/integration/{WebSocketConnectionManagement.test.ts → WebsocketConnectionManagement.test.ts} +4 -4
  272. package/test/integration/{WebSocketConnectorRpc.test.ts → WebsocketConnectorRpc.test.ts} +15 -15
  273. package/test/unit/AutoCertifierClientFacade.test.ts +58 -0
  274. package/test/unit/ConnectivityHelpers.test.ts +69 -0
  275. package/test/unit/{RecursiveFinder.test.ts → Finder.test.ts} +19 -17
  276. package/test/unit/Router.test.ts +26 -26
  277. package/test/unit/UUID.test.ts +1 -1
  278. package/test/unit/{WebSocketConnectorRpcLocal.test.ts → WebsocketConnector.test.ts} +8 -8
  279. package/test/unit/{WebSocketServer.test.ts → WebsocketServer.test.ts} +20 -14
  280. package/test/unit/webrtcReplaceInternalIpWithExternalIp.test.ts +1 -1
  281. package/test/utils/FakeRpcCommunicator.ts +23 -0
  282. package/test/utils/mock/Transport.ts +1 -1
  283. package/test/utils/utils.ts +14 -24
  284. package/tsconfig.browser.json +1 -1
  285. package/tsconfig.jest.json +3 -2
  286. package/tsconfig.node.json +3 -2
  287. package/dist/src/connection/ManagedWebRtcConnection.d.ts +0 -7
  288. package/dist/src/connection/ManagedWebRtcConnection.js +0 -20
  289. package/dist/src/connection/ManagedWebRtcConnection.js.map +0 -1
  290. package/dist/src/connection/Simulator/SimulatorConnection.js.map +0 -1
  291. package/dist/src/connection/Simulator/SimulatorTransport.js.map +0 -1
  292. package/dist/src/connection/WebRTC/IWebRtcConnection.js.map +0 -1
  293. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js.map +0 -1
  294. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.d.ts +0 -51
  295. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js +0 -249
  296. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js.map +0 -1
  297. package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js.map +0 -1
  298. package/dist/src/connection/WebSocket/ClientWebSocket.js.map +0 -1
  299. package/dist/src/connection/WebSocket/ServerWebSocket.js.map +0 -1
  300. package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.js.map +0 -1
  301. package/dist/src/connection/WebSocket/WebSocketServer.js.map +0 -1
  302. package/dist/src/dht/RemoteDhtNode.js.map +0 -1
  303. package/dist/src/dht/find/RecursiveFindSession.js.map +0 -1
  304. package/dist/src/dht/find/RecursiveFinder.js.map +0 -1
  305. package/dist/src/dht/find/RemoteRecursiveFindSession.js.map +0 -1
  306. package/dist/src/dht/registerExternalApiRpcMethods.d.ts +0 -2
  307. package/dist/src/dht/registerExternalApiRpcMethods.js +0 -32
  308. package/dist/src/dht/registerExternalApiRpcMethods.js.map +0 -1
  309. package/src/connection/WebRTC/WebRtcConnectorRpcLocal.ts +0 -335
  310. package/src/dht/registerExternalApiRpcMethods.ts +0 -44
  311. package/test/utils/mock/RecursiveFinder.ts +0 -19
  312. /package/dist/src/connection/{Simulator → simulator}/Simulator.d.ts +0 -0
  313. /package/dist/src/connection/{Simulator → simulator}/pings.d.ts +0 -0
  314. /package/dist/src/connection/{Simulator → simulator}/pings.js +0 -0
  315. /package/dist/src/connection/{WebRTC → webrtc}/iceServerAsString.js +0 -0
  316. /package/src/connection/{Simulator → simulator}/pings.ts +0 -0
@@ -14,25 +14,32 @@ const RouterRpcRemote_1 = require("./RouterRpcRemote");
14
14
  const DhtRpc_client_1 = require("../../proto/packages/dht/protos/DhtRpc.client");
15
15
  const proto_rpc_1 = require("@streamr/proto-rpc");
16
16
  const Contact_1 = require("../contact/Contact");
17
+ const FindRpcRemote_1 = require("./FindRpcRemote");
18
+ const Remote_1 = require("../contact/Remote");
19
+ const getPreviousPeer_1 = require("./getPreviousPeer");
17
20
  const logger = new utils_1.Logger(module);
18
21
  const MAX_FAILED_HOPS = 2;
19
22
  class RemoteContact extends Contact_1.Contact {
20
- constructor(peer, ownPeerDescriptor, rpcCommunicator) {
23
+ constructor(peer, localPeerDescriptor, rpcCommunicator) {
21
24
  super(peer.getPeerDescriptor());
22
- this.router = new RouterRpcRemote_1.RouterRpcRemote(ownPeerDescriptor, peer.getPeerDescriptor(), peer.getServiceId(), (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.RouterRpcClient(rpcCommunicator.getRpcClientTransport())));
25
+ this.routerRpcRemote = new RouterRpcRemote_1.RouterRpcRemote(localPeerDescriptor, peer.getPeerDescriptor(), peer.getServiceId(), (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.RouterRpcClient(rpcCommunicator.getRpcClientTransport())), Remote_1.EXISTING_CONNECTION_TIMEOUT);
26
+ this.findRpcRemote = new FindRpcRemote_1.FindRpcRemote(localPeerDescriptor, peer.getPeerDescriptor(), peer.getServiceId(), (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.FindRpcClient(rpcCommunicator.getRpcClientTransport())), Remote_1.EXISTING_CONNECTION_TIMEOUT);
23
27
  }
24
- getRouter() {
25
- return this.router;
28
+ getRouterRpcRemote() {
29
+ return this.routerRpcRemote;
30
+ }
31
+ getFindRpcRemote() {
32
+ return this.findRpcRemote;
26
33
  }
27
34
  }
28
35
  var RoutingMode;
29
36
  (function (RoutingMode) {
30
37
  RoutingMode[RoutingMode["ROUTE"] = 0] = "ROUTE";
31
38
  RoutingMode[RoutingMode["FORWARD"] = 1] = "FORWARD";
32
- RoutingMode[RoutingMode["RECURSIVE_FIND"] = 2] = "RECURSIVE_FIND";
39
+ RoutingMode[RoutingMode["FIND"] = 2] = "FIND";
33
40
  })(RoutingMode || (exports.RoutingMode = RoutingMode = {}));
34
41
  class RoutingSession extends eventemitter3_1.default {
35
- constructor(rpcCommunicator, ownPeerDescriptor, messageToRoute, connections, parallelism, mode = RoutingMode.ROUTE, destinationId, excludedPeerIDs) {
42
+ constructor(rpcCommunicator, localPeerDescriptor, messageToRoute, connections, parallelism, mode = RoutingMode.ROUTE, excludedPeerIDs) {
36
43
  super();
37
44
  this.sessionId = (0, uuid_1.v4)();
38
45
  this.ongoingRequests = new Set();
@@ -40,140 +47,126 @@ class RoutingSession extends eventemitter3_1.default {
40
47
  this.successfulHopCounter = 0;
41
48
  this.mode = RoutingMode.ROUTE;
42
49
  this.stopped = false;
43
- this.onRequestFailed = (peerId) => {
44
- logger.trace('onRequestFailed() sessionId: ' + this.sessionId);
45
- if (this.stopped) {
46
- return;
47
- }
48
- if (this.ongoingRequests.has(peerId.toKey())) {
49
- this.ongoingRequests.delete(peerId.toKey());
50
- }
51
- const contacts = this.findMoreContacts();
52
- if (contacts.length < 1 && this.ongoingRequests.size < 1) {
53
- logger.trace('routing failed, emitting routingFailed sessionId: ' + this.sessionId);
54
- this.stopped = true;
55
- this.emitFailure();
56
- }
57
- else {
58
- this.failedHopCounter += 1;
59
- logger.trace('routing failed, retrying to route sessionId: ' + this.sessionId + ' failedHopCounter: ' + this.failedHopCounter);
60
- this.sendMoreRequests(contacts);
61
- }
62
- };
63
- this.emitFailure = () => {
64
- if (this.successfulHopCounter >= 1) {
65
- this.emit('partialSuccess', this.sessionId);
66
- }
67
- else {
68
- this.emit('routingFailed', this.sessionId);
69
- }
70
- };
71
- this.onRequestSucceeded = () => {
72
- logger.trace('onRequestSucceeded() sessionId: ' + this.sessionId);
73
- if (this.stopped) {
74
- return;
75
- }
76
- this.successfulHopCounter += 1;
77
- const contacts = this.findMoreContacts();
78
- if (this.successfulHopCounter >= this.parallelism || contacts.length < 1) {
79
- this.stopped = true;
80
- this.emit('routingSucceeded', this.sessionId);
81
- }
82
- else if (contacts.length > 0 && this.ongoingRequests.size < 1) {
83
- this.sendMoreRequests(contacts);
84
- }
85
- };
86
- this.sendRouteMessageRequest = async (contact) => {
87
- if (this.stopped) {
88
- return false;
89
- }
90
- const router = contact.getRouter();
91
- if (this.mode === RoutingMode.FORWARD) {
92
- return router.forwardMessage({
93
- ...this.messageToRoute,
94
- previousPeer: this.ownPeerDescriptor
95
- });
96
- }
97
- else if (this.mode === RoutingMode.RECURSIVE_FIND) {
98
- return router.findRecursively({
99
- ...this.messageToRoute,
100
- previousPeer: this.ownPeerDescriptor
101
- });
102
- }
103
- else {
104
- return router.routeMessage({
105
- ...this.messageToRoute,
106
- previousPeer: this.ownPeerDescriptor
107
- });
108
- }
109
- };
110
- this.findMoreContacts = () => {
111
- logger.trace('findMoreContacts() sessionId: ' + this.sessionId);
112
- // the contents of the connections might have changed between the rounds
113
- // addContacts() will only add new contacts that were not there yet
114
- const contacts = Array.from(this.connections.values())
115
- .map((peer) => new RemoteContact(peer, this.ownPeerDescriptor, this.rpcCommunicator));
116
- this.contactList.addContacts(contacts);
117
- return this.contactList.getUncontactedContacts(this.parallelism);
118
- };
119
- this.sendMoreRequests = (uncontacted) => {
120
- logger.trace('sendMoreRequests() sessionId: ' + this.sessionId);
121
- if (this.stopped) {
122
- return;
123
- }
124
- if (uncontacted.length < 1) {
125
- this.emitFailure();
126
- return;
127
- }
128
- if (this.failedHopCounter >= MAX_FAILED_HOPS) {
129
- logger.trace(`Stopping routing after ${MAX_FAILED_HOPS} failed attempts for sessionId: ${this.sessionId}`);
130
- this.emitFailure();
131
- return;
132
- }
133
- while ((this.ongoingRequests.size) < this.parallelism && (uncontacted.length > 0) && !this.stopped) {
134
- const nextPeer = uncontacted.shift();
135
- // eslint-disable-next-line max-len
136
- logger.trace(`Sending routeMessage request to contact: ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(nextPeer.getPeerDescriptor())} (sessionId=${this.sessionId})`);
137
- this.contactList.setContacted(nextPeer.getPeerId());
138
- this.ongoingRequests.add(nextPeer.getPeerId().toKey());
139
- setImmediate(async () => {
140
- try {
141
- const succeeded = await this.sendRouteMessageRequest(nextPeer);
142
- if (succeeded) {
143
- this.onRequestSucceeded();
144
- }
145
- else {
146
- this.onRequestFailed(nextPeer.getPeerId());
147
- }
148
- }
149
- catch (e) {
150
- logger.debug('Unable to route message ', { error: e });
151
- }
152
- finally {
153
- logger.trace('sendRouteMessageRequest returned');
154
- }
155
- });
156
- }
157
- };
158
50
  this.rpcCommunicator = rpcCommunicator;
159
- this.ownPeerDescriptor = ownPeerDescriptor;
51
+ this.localPeerDescriptor = localPeerDescriptor;
160
52
  this.messageToRoute = messageToRoute;
161
53
  this.connections = connections;
162
54
  this.parallelism = parallelism;
163
55
  this.mode = mode;
164
- const previousId = messageToRoute.previousPeer ? PeerID_1.PeerID.fromValue(messageToRoute.previousPeer.kademliaId) : undefined;
165
- this.contactList = new SortedContactList_1.SortedContactList(destinationId ? PeerID_1.PeerID.fromValue(destinationId) : PeerID_1.PeerID.fromValue(this.messageToRoute.destinationPeer.kademliaId), 10000, undefined, true, previousId, excludedPeerIDs);
56
+ const previousPeer = (0, getPreviousPeer_1.getPreviousPeer)(messageToRoute);
57
+ const previousId = previousPeer ? PeerID_1.PeerID.fromValue(previousPeer.kademliaId) : undefined;
58
+ this.contactList = new SortedContactList_1.SortedContactList(PeerID_1.PeerID.fromValue(this.messageToRoute.destinationPeer.kademliaId), 10000, undefined, true, previousId, excludedPeerIDs);
59
+ }
60
+ onRequestFailed(peerId) {
61
+ logger.trace('onRequestFailed() sessionId: ' + this.sessionId);
62
+ if (this.stopped) {
63
+ return;
64
+ }
65
+ if (this.ongoingRequests.has(peerId.toKey())) {
66
+ this.ongoingRequests.delete(peerId.toKey());
67
+ }
68
+ const contacts = this.findMoreContacts();
69
+ if (contacts.length === 0 && this.ongoingRequests.size === 0) {
70
+ logger.trace('routing failed, emitting routingFailed sessionId: ' + this.sessionId);
71
+ // TODO should call this.stop() so that we do cleanup? (after the emitFailure call)
72
+ this.stopped = true;
73
+ this.emitFailure();
74
+ }
75
+ else {
76
+ this.failedHopCounter += 1;
77
+ logger.trace('routing failed, retrying to route sessionId: ' + this.sessionId + ' failedHopCounter: ' + this.failedHopCounter);
78
+ this.sendMoreRequests(contacts);
79
+ }
80
+ }
81
+ emitFailure() {
82
+ if (this.successfulHopCounter >= 1) {
83
+ this.emit('partialSuccess', this.sessionId);
84
+ }
85
+ else {
86
+ this.emit('routingFailed', this.sessionId);
87
+ }
166
88
  }
167
- start() {
168
- logger.trace('start() sessionId: ' + this.sessionId);
89
+ onRequestSucceeded() {
90
+ logger.trace('onRequestSucceeded() sessionId: ' + this.sessionId);
91
+ if (this.stopped) {
92
+ return;
93
+ }
94
+ this.successfulHopCounter += 1;
169
95
  const contacts = this.findMoreContacts();
170
- if (contacts.length < 1) {
171
- logger.trace('start() throwing noCandidatesFound sessionId: ' + this.sessionId);
96
+ if (this.successfulHopCounter >= this.parallelism || contacts.length === 0) {
97
+ // TODO should call this.stop() so that we do cleanup? (after the routingSucceeded call)
172
98
  this.stopped = true;
173
- this.emit('noCandidatesFound', this.sessionId);
174
- throw new Error('noCandidatesFound ' + this.sessionId);
99
+ this.emit('routingSucceeded', this.sessionId);
100
+ }
101
+ else if (contacts.length > 0 && this.ongoingRequests.size === 0) {
102
+ this.sendMoreRequests(contacts);
103
+ }
104
+ }
105
+ async sendRouteMessageRequest(contact) {
106
+ if (this.stopped) {
107
+ return false;
108
+ }
109
+ const msg = {
110
+ ...this.messageToRoute,
111
+ routingPath: this.messageToRoute.routingPath.concat([this.localPeerDescriptor])
112
+ };
113
+ if (this.mode === RoutingMode.FORWARD) {
114
+ return contact.getRouterRpcRemote().forwardMessage(msg);
115
+ }
116
+ else if (this.mode === RoutingMode.FIND) {
117
+ return contact.getFindRpcRemote().routeFindRequest(msg);
118
+ }
119
+ else {
120
+ return contact.getRouterRpcRemote().routeMessage(msg);
121
+ }
122
+ }
123
+ findMoreContacts() {
124
+ logger.trace('findMoreContacts() sessionId: ' + this.sessionId);
125
+ // the contents of the connections might have changed between the rounds
126
+ // addContacts() will only add new contacts that were not there yet
127
+ const contacts = Array.from(this.connections.values())
128
+ .map((peer) => new RemoteContact(peer, this.localPeerDescriptor, this.rpcCommunicator));
129
+ this.contactList.addContacts(contacts);
130
+ return this.contactList.getUncontactedContacts(this.parallelism);
131
+ }
132
+ sendMoreRequests(uncontacted) {
133
+ logger.trace('sendMoreRequests() sessionId: ' + this.sessionId);
134
+ if (this.stopped) {
135
+ return;
136
+ }
137
+ if (uncontacted.length === 0) {
138
+ this.emitFailure();
139
+ return;
140
+ }
141
+ if (this.failedHopCounter >= MAX_FAILED_HOPS) {
142
+ logger.trace(`Stopping routing after ${MAX_FAILED_HOPS} failed attempts for sessionId: ${this.sessionId}`);
143
+ this.emitFailure();
144
+ return;
145
+ }
146
+ while ((this.ongoingRequests.size < this.parallelism) && (uncontacted.length > 0) && !this.stopped) {
147
+ const nextPeer = uncontacted.shift();
148
+ // eslint-disable-next-line max-len
149
+ logger.trace(`Sending routeMessage request to contact: ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(nextPeer.getPeerDescriptor())} (sessionId=${this.sessionId})`);
150
+ this.contactList.setContacted(nextPeer.getPeerId());
151
+ this.ongoingRequests.add(nextPeer.getPeerId().toKey());
152
+ setImmediate(async () => {
153
+ try {
154
+ const succeeded = await this.sendRouteMessageRequest(nextPeer);
155
+ if (succeeded) {
156
+ this.onRequestSucceeded();
157
+ }
158
+ else {
159
+ this.onRequestFailed(nextPeer.getPeerId());
160
+ }
161
+ }
162
+ catch (e) {
163
+ logger.debug('Unable to route message ', { error: e });
164
+ }
165
+ finally {
166
+ logger.trace('sendRouteMessageRequest returned');
167
+ }
168
+ });
175
169
  }
176
- this.sendMoreRequests(contacts);
177
170
  }
178
171
  stop() {
179
172
  this.stopped = true;
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingSession.js","sourceRoot":"","sources":["../../../../src/dht/routing/RoutingSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutingSession.js","sourceRoot":"","sources":["../../../../src/dht/routing/RoutingSession.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { PeerDescriptor, RouteMessageWrapper } from '../../proto/packages/dht/protos/DhtRpc';
2
+ export declare const getPreviousPeer: (routeMessage: RouteMessageWrapper) => PeerDescriptor | undefined;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPreviousPeer = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const getPreviousPeer = (routeMessage) => {
6
+ return (0, lodash_1.last)(routeMessage.routingPath);
7
+ };
8
+ exports.getPreviousPeer = getPreviousPeer;
9
+ //# sourceMappingURL=getPreviousPeer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPreviousPeer.js","sourceRoot":"","sources":["../../../../src/dht/routing/getPreviousPeer.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAGtB,MAAM,eAAe,GAAG,CAAC,YAAiC,EAA8B,EAAE;IAC7F,OAAO,IAAA,aAAI,EAAC,YAAY,CAAC,WAAY,CAAC,CAAA;AAC1C,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B"}
@@ -2,28 +2,30 @@ import { DeleteDataRequest, DeleteDataResponse, MigrateDataRequest, MigrateDataR
2
2
  import { Any } from '../../proto/google/protobuf/any';
3
3
  import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
4
4
  import { RoutingRpcCommunicator } from '../../transport/RoutingRpcCommunicator';
5
- import { IRecursiveFinder } from '../find/RecursiveFinder';
5
+ import { IFinder } from '../find/Finder';
6
6
  import { LocalDataStore } from './LocalDataStore';
7
7
  import { IStoreRpc } from '../../proto/packages/dht/protos/DhtRpc.server';
8
8
  import EventEmitter from 'eventemitter3';
9
9
  import { Events } from '../DhtNode';
10
- import { RemoteDhtNode } from '../RemoteDhtNode';
10
+ import { DhtNodeRpcRemote } from '../DhtNodeRpcRemote';
11
+ import { ServiceID } from '../../types/ServiceID';
11
12
  interface DataStoreConfig {
12
13
  rpcCommunicator: RoutingRpcCommunicator;
13
- recursiveFinder: IRecursiveFinder;
14
- ownPeerDescriptor: PeerDescriptor;
14
+ finder: IFinder;
15
+ localPeerDescriptor: PeerDescriptor;
15
16
  localDataStore: LocalDataStore;
16
- serviceId: string;
17
+ serviceId: ServiceID;
17
18
  maxTtl: number;
18
19
  highestTtl: number;
19
20
  redundancyFactor: number;
20
21
  dhtNodeEmitter: EventEmitter<Events>;
21
- getNodesClosestToIdFromBucket: (id: Uint8Array, n?: number) => RemoteDhtNode[];
22
+ getNodesClosestToIdFromBucket: (id: Uint8Array, n?: number) => DhtNodeRpcRemote[];
23
+ rpcRequestTimeout?: number;
22
24
  }
23
25
  export declare class StoreRpcLocal implements IStoreRpc {
24
26
  private readonly rpcCommunicator;
25
- private readonly recursiveFinder;
26
- private readonly ownPeerDescriptor;
27
+ private readonly finder;
28
+ private readonly localPeerDescriptor;
27
29
  private readonly localDataStore;
28
30
  private readonly serviceId;
29
31
  private readonly maxTtl;
@@ -31,6 +33,7 @@ export declare class StoreRpcLocal implements IStoreRpc {
31
33
  private readonly redundancyFactor;
32
34
  private readonly dhtNodeEmitter;
33
35
  private readonly getNodesClosestToIdFromBucket;
36
+ private readonly rpcRequestTimeout?;
34
37
  constructor(config: DataStoreConfig);
35
38
  private shouldMigrateDataToNewNode;
36
39
  private migrateDataToContact;
@@ -15,14 +15,15 @@ const logger = new utils_1.Logger(module);
15
15
  class StoreRpcLocal {
16
16
  constructor(config) {
17
17
  this.rpcCommunicator = config.rpcCommunicator;
18
- this.recursiveFinder = config.recursiveFinder;
19
- this.ownPeerDescriptor = config.ownPeerDescriptor;
18
+ this.finder = config.finder;
19
+ this.localPeerDescriptor = config.localPeerDescriptor;
20
20
  this.localDataStore = config.localDataStore;
21
21
  this.serviceId = config.serviceId;
22
22
  this.maxTtl = config.maxTtl;
23
23
  this.highestTtl = config.highestTtl;
24
24
  this.redundancyFactor = config.redundancyFactor;
25
25
  this.dhtNodeEmitter = config.dhtNodeEmitter;
26
+ this.rpcRequestTimeout = config.rpcRequestTimeout;
26
27
  this.getNodesClosestToIdFromBucket = config.getNodesClosestToIdFromBucket;
27
28
  this.rpcCommunicator.registerRpcMethod(DhtRpc_1.StoreDataRequest, DhtRpc_1.StoreDataResponse, 'storeData', (request, context) => this.storeData(request, context));
28
29
  this.rpcCommunicator.registerRpcMethod(DhtRpc_1.MigrateDataRequest, DhtRpc_1.MigrateDataResponse, 'migrateData', (request, context) => this.migrateData(request, context));
@@ -40,16 +41,16 @@ class StoreRpcLocal {
40
41
  shouldMigrateDataToNewNode(dataEntry, newNode) {
41
42
  const dataId = PeerID_1.PeerID.fromValue(dataEntry.kademliaId);
42
43
  const newNodeId = PeerID_1.PeerID.fromValue(newNode.kademliaId);
43
- const ownPeerId = PeerID_1.PeerID.fromValue(this.ownPeerDescriptor.kademliaId);
44
+ const localPeerId = PeerID_1.PeerID.fromValue(this.localPeerDescriptor.kademliaId);
44
45
  const closestToData = this.getNodesClosestToIdFromBucket(dataEntry.kademliaId, 10);
45
46
  const sortedList = new SortedContactList_1.SortedContactList(dataId, 20, undefined, true);
46
- sortedList.addContact(new Contact_1.Contact(this.ownPeerDescriptor));
47
+ sortedList.addContact(new Contact_1.Contact(this.localPeerDescriptor));
47
48
  closestToData.forEach((con) => {
48
49
  if (!newNodeId.equals(PeerID_1.PeerID.fromValue(con.getPeerDescriptor().kademliaId))) {
49
50
  sortedList.addContact(new Contact_1.Contact(con.getPeerDescriptor()));
50
51
  }
51
52
  });
52
- if (!sortedList.getAllContacts()[0].getPeerId().equals(ownPeerId)) {
53
+ if (!sortedList.getAllContacts()[0].getPeerId().equals(localPeerId)) {
53
54
  // If we are not the closes node to the data, do not migrate
54
55
  return false;
55
56
  }
@@ -74,7 +75,7 @@ class StoreRpcLocal {
74
75
  }
75
76
  }
76
77
  async migrateDataToContact(dataEntry, contact, doNotConnect = false) {
77
- const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, contact, this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
78
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.localPeerDescriptor, contact, this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())), this.rpcRequestTimeout);
78
79
  try {
79
80
  const response = await rpcRemote.migrateData({ dataEntry }, doNotConnect);
80
81
  if (response.error) {
@@ -87,16 +88,16 @@ class StoreRpcLocal {
87
88
  }
88
89
  async storeDataToDht(key, data) {
89
90
  logger.debug(`Storing data to DHT ${this.serviceId}`);
90
- const result = await this.recursiveFinder.startRecursiveFind(key);
91
+ const result = await this.finder.startFind(key);
91
92
  const closestNodes = result.closestNodes;
92
93
  const successfulNodes = [];
93
94
  const ttl = this.highestTtl; // ToDo: make TTL decrease according to some nice curve
94
95
  const storerTime = timestamp_1.Timestamp.now();
95
96
  for (let i = 0; i < closestNodes.length && successfulNodes.length < this.redundancyFactor; i++) {
96
- if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.ownPeerDescriptor, closestNodes[i])) {
97
+ if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.localPeerDescriptor, closestNodes[i])) {
97
98
  this.localDataStore.storeEntry({
98
99
  kademliaId: key,
99
- storer: this.ownPeerDescriptor,
100
+ storer: this.localPeerDescriptor,
100
101
  ttl,
101
102
  storedAt: timestamp_1.Timestamp.now(),
102
103
  data,
@@ -107,7 +108,7 @@ class StoreRpcLocal {
107
108
  successfulNodes.push(closestNodes[i]);
108
109
  continue;
109
110
  }
110
- const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
111
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.localPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())), this.rpcRequestTimeout);
111
112
  try {
112
113
  const response = await rpcRemote.storeData({ kademliaId: key, data, ttl, storerTime });
113
114
  if (!response.error) {
@@ -125,25 +126,25 @@ class StoreRpcLocal {
125
126
  return successfulNodes;
126
127
  }
127
128
  selfIsOneOfClosestPeers(dataId) {
128
- const ownPeerId = PeerID_1.PeerID.fromValue(this.ownPeerDescriptor.kademliaId);
129
+ const localPeerId = PeerID_1.PeerID.fromValue(this.localPeerDescriptor.kademliaId);
129
130
  const closestPeers = this.getNodesClosestToIdFromBucket(dataId, this.redundancyFactor);
130
- const sortedList = new SortedContactList_1.SortedContactList(ownPeerId, this.redundancyFactor, undefined, true);
131
- sortedList.addContact(new Contact_1.Contact(this.ownPeerDescriptor));
131
+ const sortedList = new SortedContactList_1.SortedContactList(localPeerId, this.redundancyFactor, undefined, true);
132
+ sortedList.addContact(new Contact_1.Contact(this.localPeerDescriptor));
132
133
  closestPeers.forEach((con) => sortedList.addContact(new Contact_1.Contact(con.getPeerDescriptor())));
133
- return sortedList.getClosestContacts().some((node) => node.getPeerId().equals(ownPeerId));
134
+ return sortedList.getClosestContacts().some((node) => node.getPeerId().equals(localPeerId));
134
135
  }
135
136
  async deleteDataFromDht(key) {
136
137
  logger.debug(`Deleting data from DHT ${this.serviceId}`);
137
- const result = await this.recursiveFinder.startRecursiveFind(key);
138
+ const result = await this.finder.startFind(key);
138
139
  const closestNodes = result.closestNodes;
139
140
  const successfulNodes = [];
140
141
  for (let i = 0; i < closestNodes.length && successfulNodes.length < this.redundancyFactor; i++) {
141
- if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.ownPeerDescriptor, closestNodes[i])) {
142
- this.localDataStore.markAsDeleted(key, (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.ownPeerDescriptor));
142
+ if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.localPeerDescriptor, closestNodes[i])) {
143
+ this.localDataStore.markAsDeleted(key, (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.localPeerDescriptor));
143
144
  successfulNodes.push(closestNodes[i]);
144
145
  continue;
145
146
  }
146
- const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
147
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.localPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())), this.rpcRequestTimeout);
147
148
  try {
148
149
  const response = await rpcRemote.deleteData({ kademliaId: key });
149
150
  if (response.deleted) {
@@ -203,21 +204,21 @@ class StoreRpcLocal {
203
204
  }
204
205
  migrateDataToNeighborsIfNeeded(incomingPeer, dataEntry) {
205
206
  // sort own contact list according to data id
206
- const ownPeerId = PeerID_1.PeerID.fromValue(this.ownPeerDescriptor.kademliaId);
207
+ const localPeerId = PeerID_1.PeerID.fromValue(this.localPeerDescriptor.kademliaId);
207
208
  const dataId = PeerID_1.PeerID.fromValue(dataEntry.kademliaId);
208
209
  const incomingPeerId = PeerID_1.PeerID.fromValue(incomingPeer.kademliaId);
209
210
  const closestToData = this.getNodesClosestToIdFromBucket(dataEntry.kademliaId, 10);
210
211
  const sortedList = new SortedContactList_1.SortedContactList(dataId, this.redundancyFactor, undefined, true);
211
- sortedList.addContact(new Contact_1.Contact(this.ownPeerDescriptor));
212
+ sortedList.addContact(new Contact_1.Contact(this.localPeerDescriptor));
212
213
  closestToData.forEach((con) => {
213
214
  sortedList.addContact(new Contact_1.Contact(con.getPeerDescriptor()));
214
215
  });
215
- if (!sortedList.getAllContacts()[0].getPeerId().equals(ownPeerId)) {
216
+ if (!sortedList.getAllContacts()[0].getPeerId().equals(localPeerId)) {
216
217
  // If we are not the closest node to the data, migrate only to the
217
218
  // closest one to the data
218
219
  const contact = sortedList.getAllContacts()[0];
219
220
  const contactPeerId = PeerID_1.PeerID.fromValue(contact.getPeerDescriptor().kademliaId);
220
- if (!incomingPeerId.equals(contactPeerId) && !ownPeerId.equals(contactPeerId)) {
221
+ if (!incomingPeerId.equals(contactPeerId) && !localPeerId.equals(contactPeerId)) {
221
222
  setImmediate(async () => {
222
223
  try {
223
224
  await this.migrateDataToContact(dataEntry, contact.getPeerDescriptor());
@@ -233,8 +234,8 @@ class StoreRpcLocal {
233
234
  // if we are the closest to the data, migrate to all storageRedundancyFactor nearest
234
235
  sortedList.getAllContacts().forEach((contact) => {
235
236
  const contactPeerId = PeerID_1.PeerID.fromValue(contact.getPeerDescriptor().kademliaId);
236
- if (!incomingPeerId.equals(contactPeerId) && !ownPeerId.equals(contactPeerId)) {
237
- if (!incomingPeerId.equals(contactPeerId) && !ownPeerId.equals(contactPeerId)) {
237
+ if (!incomingPeerId.equals(contactPeerId) && !localPeerId.equals(contactPeerId)) {
238
+ if (!incomingPeerId.equals(contactPeerId) && !localPeerId.equals(contactPeerId)) {
238
239
  setImmediate(async () => {
239
240
  try {
240
241
  await this.migrateDataToContact(dataEntry, contact.getPeerDescriptor());
@@ -1 +1 @@
1
- {"version":3,"file":"StoreRpcLocal.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcLocal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StoreRpcLocal.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcLocal.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,7 @@ const Remote_1 = require("../contact/Remote");
5
5
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
6
6
  class StoreRpcRemote extends Remote_1.Remote {
7
7
  async storeData(request) {
8
- const options = this.formDhtRpcOptions({
9
- timeout: 10000
10
- });
8
+ const options = this.formDhtRpcOptions();
11
9
  try {
12
10
  return await this.getClient().storeData(request, options);
13
11
  }
@@ -18,9 +16,7 @@ class StoreRpcRemote extends Remote_1.Remote {
18
16
  }
19
17
  }
20
18
  async deleteData(request) {
21
- const options = this.formDhtRpcOptions({
22
- timeout: 10000
23
- });
19
+ const options = this.formDhtRpcOptions();
24
20
  try {
25
21
  return await this.getClient().deleteData(request, options);
26
22
  }
@@ -30,7 +26,7 @@ class StoreRpcRemote extends Remote_1.Remote {
30
26
  }
31
27
  async migrateData(request, doNotConnect = false) {
32
28
  const options = this.formDhtRpcOptions({
33
- timeout: 10000,
29
+ timeout: Remote_1.EXISTING_CONNECTION_TIMEOUT,
34
30
  doNotConnect
35
31
  });
36
32
  return this.getClient().migrateData(request, options);
@@ -1 +1 @@
1
- {"version":3,"file":"StoreRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcRemote.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAU1C,qFAA8E;AAE9E,MAAa,cAAe,SAAQ,eAAuB;IAEvD,KAAK,CAAC,SAAS,CAAC,OAAyB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC5D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAC1D,MAAM,IAAI,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;YACjE,MAAM,KAAK,CACP,2BAA2B,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CACtD,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC7D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,CACP,iCAAiC,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,GAAG,EAAE,CAC5F,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,eAAwB,KAAK;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;YACd,YAAY;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CAEJ;AAtCD,wCAsCC"}
1
+ {"version":3,"file":"StoreRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcRemote.ts"],"names":[],"mappings":";;;AAAA,8CAAuE;AAUvE,qFAA8E;AAE9E,MAAa,cAAe,SAAQ,eAAuB;IAEvD,KAAK,CAAC,SAAS,CAAC,OAAyB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC5D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAC1D,MAAM,IAAI,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;YACjE,MAAM,KAAK,CACP,2BAA2B,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CACtD,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC7D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,CACP,iCAAiC,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,GAAG,EAAE,CAC5F,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,eAAwB,KAAK;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,oCAA2B;YACpC,YAAY;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CAEJ;AAlCD,wCAkCC"}