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

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 (325) 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 +9 -9
  9. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  10. package/dist/src/connection/ConnectionManager.d.ts +9 -16
  11. package/dist/src/connection/ConnectionManager.js +101 -132
  12. package/dist/src/connection/ConnectionManager.js.map +1 -1
  13. package/dist/src/connection/ConnectivityChecker.d.ts +7 -10
  14. package/dist/src/connection/ConnectivityChecker.js +30 -32
  15. package/dist/src/connection/ConnectivityChecker.js.map +1 -1
  16. package/dist/src/connection/ConnectorFacade.d.ts +19 -13
  17. package/dist/src/connection/ConnectorFacade.js +74 -29
  18. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  19. package/dist/src/connection/Handshaker.d.ts +8 -8
  20. package/dist/src/connection/Handshaker.js +30 -33
  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 +9 -13
  25. package/dist/src/connection/ManagedConnection.js +63 -99
  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 +25 -24
  34. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -0
  35. package/dist/src/connection/{Simulator → simulator}/SimulatorConnector.d.ts +3 -3
  36. package/dist/src/connection/{Simulator → simulator}/SimulatorConnector.js +17 -18
  37. package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -0
  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} +41 -42
  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} +23 -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} +25 -27
  67. package/dist/src/connection/websocket/ServerWebsocket.js.map +1 -0
  68. package/dist/src/connection/websocket/WebsocketConnector.d.ts +53 -0
  69. package/dist/src/connection/websocket/WebsocketConnector.js +242 -0
  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} +6 -11
  76. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -0
  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 +135 -163
  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} +20 -24
  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 +9 -9
  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 +6 -6
  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 +50 -93
  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 +17 -45
  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 +26 -25
  142. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  143. package/dist/src/dht/store/StoreRpcRemote.js +6 -10
  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/peerIdFromPeerDescriptor.d.ts +1 -0
  154. package/dist/src/helpers/peerIdFromPeerDescriptor.js +7 -1
  155. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
  156. package/dist/src/helpers/protoClasses.js +3 -3
  157. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +56 -39
  158. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +49 -36
  159. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  160. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +85 -96
  161. package/dist/src/proto/packages/dht/protos/DhtRpc.js +82 -71
  162. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  163. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +26 -21
  164. package/dist/src/rpc-protocol/DhtCallContext.d.ts +0 -1
  165. package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -1
  166. package/dist/src/transport/ITransport.d.ts +5 -6
  167. package/dist/src/transport/ListeningRpcCommunicator.d.ts +2 -1
  168. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
  169. package/dist/src/transport/RoutingRpcCommunicator.d.ts +2 -1
  170. package/dist/src/transport/RoutingRpcCommunicator.js +0 -1
  171. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  172. package/dist/src/types/ServiceID.d.ts +1 -0
  173. package/dist/src/types/ServiceID.js +3 -0
  174. package/dist/src/types/ServiceID.js.map +1 -0
  175. package/karma.config.js +4 -4
  176. package/package.json +10 -8
  177. package/protos/DhtRpc.proto +41 -40
  178. package/src/connection/ConnectionLockHandler.ts +19 -17
  179. package/src/connection/ConnectionLockRpcLocal.ts +74 -0
  180. package/src/connection/ConnectionLockRpcRemote.ts +11 -11
  181. package/src/connection/ConnectionManager.ts +88 -130
  182. package/src/connection/ConnectivityChecker.ts +36 -34
  183. package/src/connection/ConnectorFacade.ts +91 -40
  184. package/src/connection/Handshaker.ts +20 -23
  185. package/src/connection/IConnection.ts +5 -6
  186. package/src/connection/ManagedConnection.ts +76 -101
  187. package/src/connection/{ManagedWebRtcConnection.ts → ManagedWebrtcConnection.ts} +12 -10
  188. package/src/connection/{Simulator → simulator}/Simulator.ts +4 -4
  189. package/src/connection/{Simulator → simulator}/SimulatorConnection.ts +27 -27
  190. package/src/connection/{Simulator → simulator}/SimulatorConnector.ts +22 -23
  191. package/src/connection/{Simulator → simulator}/SimulatorTransport.ts +2 -2
  192. package/src/connection/{WebRTC/BrowserWebRtcConnection.ts → webrtc/BrowserWebrtcConnection.ts} +13 -14
  193. package/src/connection/{WebRTC/IWebRtcConnection.ts → webrtc/IWebrtcConnection.ts} +2 -2
  194. package/src/connection/{WebRTC/NodeWebRtcConnection.ts → webrtc/NodeWebrtcConnection.ts} +38 -40
  195. package/src/connection/webrtc/WebrtcConnector.ts +226 -0
  196. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +132 -0
  197. package/src/connection/{WebRTC/WebRtcConnectorRpcRemote.ts → webrtc/WebrtcConnectorRpcRemote.ts} +6 -7
  198. package/src/connection/{WebRTC → webrtc}/iceServerAsString.ts +1 -1
  199. package/src/connection/websocket/AutoCertifierClientFacade.ts +91 -0
  200. package/src/connection/{WebSocket/ClientWebSocket.ts → websocket/ClientWebsocket.ts} +22 -17
  201. package/src/connection/{WebSocket/ServerWebSocket.ts → websocket/ServerWebsocket.ts} +23 -27
  202. package/src/connection/websocket/WebsocketConnector.ts +328 -0
  203. package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +41 -0
  204. package/src/connection/{WebSocket/WebSocketConnectorRpcRemote.ts → websocket/WebsocketConnectorRpcRemote.ts} +8 -14
  205. package/src/connection/{WebSocket/WebSocketServer.ts → websocket/WebsocketServer.ts} +40 -22
  206. package/src/dht/DhtNode.ts +166 -193
  207. package/src/dht/DhtNodeRpcLocal.ts +68 -0
  208. package/src/dht/{RemoteDhtNode.ts → DhtNodeRpcRemote.ts} +17 -18
  209. package/src/dht/ExternalApiRpcLocal.ts +46 -0
  210. package/src/dht/ExternalApiRpcRemote.ts +4 -4
  211. package/src/dht/contact/Remote.ts +32 -4
  212. package/src/dht/contact/SortedContactList.ts +4 -4
  213. package/src/dht/discovery/DiscoverySession.ts +25 -22
  214. package/src/dht/discovery/PeerDiscovery.ts +16 -19
  215. package/src/dht/find/FindRpcLocal.ts +35 -0
  216. package/src/dht/find/{RecursiveFindSession.ts → FindSession.ts} +25 -25
  217. package/src/dht/find/FindSessionRpcLocal.ts +25 -0
  218. package/src/dht/find/{RemoteRecursiveFindSession.ts → FindSessionRpcRemote.ts} +9 -5
  219. package/src/dht/find/{RecursiveFinder.ts → Finder.ts} +77 -71
  220. package/src/dht/routing/FindRpcRemote.ts +40 -0
  221. package/src/dht/routing/Router.ts +78 -109
  222. package/src/dht/routing/RouterRpcLocal.ts +81 -0
  223. package/src/dht/routing/RouterRpcRemote.ts +18 -49
  224. package/src/dht/routing/RoutingSession.ts +58 -63
  225. package/src/dht/routing/getPreviousPeer.ts +6 -0
  226. package/src/dht/store/StoreRpcLocal.ts +46 -39
  227. package/src/dht/store/StoreRpcRemote.ts +8 -12
  228. package/src/exports.ts +11 -5
  229. package/src/helpers/Connectivity.ts +19 -0
  230. package/src/helpers/errors.ts +3 -3
  231. package/src/helpers/peerIdFromPeerDescriptor.ts +6 -0
  232. package/src/helpers/protoClasses.ts +6 -6
  233. package/src/proto/packages/dht/protos/DhtRpc.client.ts +75 -59
  234. package/src/proto/packages/dht/protos/DhtRpc.server.ts +26 -21
  235. package/src/proto/packages/dht/protos/DhtRpc.ts +112 -131
  236. package/src/rpc-protocol/DhtCallContext.ts +0 -1
  237. package/src/transport/ITransport.ts +5 -8
  238. package/src/transport/ListeningRpcCommunicator.ts +2 -1
  239. package/src/transport/RoutingRpcCommunicator.ts +3 -4
  240. package/src/types/ServiceID.ts +1 -0
  241. package/test/benchmark/{RecursiveFind.test.ts → Find.test.ts} +7 -7
  242. package/test/benchmark/KademliaCorrectness.test.ts +3 -3
  243. package/test/benchmark/kademlia-simulation/SimulationNode.ts +3 -3
  244. package/test/end-to-end/Layer0-Layer1.test.ts +13 -5
  245. package/test/end-to-end/Layer0.test.ts +35 -17
  246. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +28 -9
  247. package/test/end-to-end/{Layer0WebRTC-Layer1.test.ts → Layer0Webrtc-Layer1.test.ts} +1 -1
  248. package/test/end-to-end/{Layer0WebRTC.test.ts → Layer0Webrtc.test.ts} +14 -10
  249. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +8 -4
  250. package/test/end-to-end/{Layer1-Scale-WebRTC.test.ts → Layer1-Scale-Webrtc.test.ts} +2 -2
  251. package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +52 -0
  252. package/test/end-to-end/{WebSocketConnectionRequest.test.ts → WebsocketConnectionRequest.test.ts} +16 -8
  253. package/test/end-to-end/memory-leak.test.ts +85 -0
  254. package/test/integration/ConnectionLocking.test.ts +10 -7
  255. package/test/integration/ConnectionManager.test.ts +107 -30
  256. package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
  257. package/test/integration/DhtNodeExternalAPI.test.ts +10 -10
  258. package/test/integration/{RemoteDhtNode.test.ts → DhtNodeRpcRemote.test.ts} +10 -10
  259. package/test/integration/DhtRpc.test.ts +5 -5
  260. package/test/integration/{RecursiveFind.test.ts → Find.test.ts} +6 -9
  261. package/test/integration/Layer1-scale.test.ts +1 -1
  262. package/test/integration/MigrateData.test.ts +8 -7
  263. package/test/integration/Mock-Layer1-Layer0.test.ts +1 -1
  264. package/test/integration/MultipleEntryPointJoining.test.ts +8 -8
  265. package/test/integration/RouteMessage.test.ts +26 -26
  266. package/test/integration/RpcErrors.test.ts +10 -10
  267. package/test/integration/ScaleDownDht.test.ts +6 -6
  268. package/test/integration/SimultaneousConnections.test.ts +10 -7
  269. package/test/integration/Store.test.ts +4 -7
  270. package/test/integration/StoreAndDelete.test.ts +4 -7
  271. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +12 -12
  272. package/test/integration/{WebRtcConnectionManagement.test.ts → WebrtcConnectionManagement.test.ts} +5 -5
  273. package/test/integration/{WebRtcConnectorRpc.test.ts → WebrtcConnectorRpc.test.ts} +7 -8
  274. package/test/integration/{WebSocket.test.ts → Websocket.test.ts} +14 -13
  275. package/test/integration/{WebSocketConnectionManagement.test.ts → WebsocketConnectionManagement.test.ts} +4 -4
  276. package/test/integration/{WebSocketConnectorRpc.test.ts → WebsocketConnectorRpc.test.ts} +15 -15
  277. package/test/unit/AutoCertifierClientFacade.test.ts +58 -0
  278. package/test/unit/ConnectivityHelpers.test.ts +69 -0
  279. package/test/unit/{RecursiveFinder.test.ts → Finder.test.ts} +19 -17
  280. package/test/unit/Router.test.ts +26 -26
  281. package/test/unit/UUID.test.ts +1 -1
  282. package/test/unit/{WebSocketConnectorRpcLocal.test.ts → WebsocketConnector.test.ts} +8 -8
  283. package/test/unit/{WebSocketServer.test.ts → WebsocketServer.test.ts} +20 -14
  284. package/test/unit/webrtcReplaceInternalIpWithExternalIp.test.ts +1 -1
  285. package/test/utils/FakeRpcCommunicator.ts +23 -0
  286. package/test/utils/mock/Transport.ts +1 -1
  287. package/test/utils/utils.ts +22 -26
  288. package/tsconfig.browser.json +1 -1
  289. package/tsconfig.jest.json +3 -2
  290. package/tsconfig.node.json +3 -2
  291. package/dist/src/connection/ManagedWebRtcConnection.d.ts +0 -7
  292. package/dist/src/connection/ManagedWebRtcConnection.js +0 -20
  293. package/dist/src/connection/ManagedWebRtcConnection.js.map +0 -1
  294. package/dist/src/connection/Simulator/SimulatorConnection.js.map +0 -1
  295. package/dist/src/connection/Simulator/SimulatorConnector.js.map +0 -1
  296. package/dist/src/connection/Simulator/SimulatorTransport.js.map +0 -1
  297. package/dist/src/connection/WebRTC/IWebRtcConnection.js.map +0 -1
  298. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js.map +0 -1
  299. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.d.ts +0 -51
  300. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js +0 -249
  301. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js.map +0 -1
  302. package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js.map +0 -1
  303. package/dist/src/connection/WebSocket/ClientWebSocket.js.map +0 -1
  304. package/dist/src/connection/WebSocket/ServerWebSocket.js.map +0 -1
  305. package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.d.ts +0 -45
  306. package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.js +0 -234
  307. package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.js.map +0 -1
  308. package/dist/src/connection/WebSocket/WebSocketConnectorRpcRemote.js.map +0 -1
  309. package/dist/src/connection/WebSocket/WebSocketServer.js.map +0 -1
  310. package/dist/src/dht/RemoteDhtNode.js.map +0 -1
  311. package/dist/src/dht/find/RecursiveFindSession.js.map +0 -1
  312. package/dist/src/dht/find/RecursiveFinder.js.map +0 -1
  313. package/dist/src/dht/find/RemoteRecursiveFindSession.js.map +0 -1
  314. package/dist/src/dht/registerExternalApiRpcMethods.d.ts +0 -2
  315. package/dist/src/dht/registerExternalApiRpcMethods.js +0 -32
  316. package/dist/src/dht/registerExternalApiRpcMethods.js.map +0 -1
  317. package/src/connection/WebRTC/WebRtcConnectorRpcLocal.ts +0 -335
  318. package/src/connection/WebSocket/WebSocketConnectorRpcLocal.ts +0 -295
  319. package/src/dht/registerExternalApiRpcMethods.ts +0 -44
  320. package/test/utils/mock/RecursiveFinder.ts +0 -19
  321. /package/dist/src/connection/{Simulator → simulator}/Simulator.d.ts +0 -0
  322. /package/dist/src/connection/{Simulator → simulator}/pings.d.ts +0 -0
  323. /package/dist/src/connection/{Simulator → simulator}/pings.js +0 -0
  324. /package/dist/src/connection/{WebRTC → webrtc}/iceServerAsString.js +0 -0
  325. /package/src/connection/{Simulator → simulator}/pings.ts +0 -0
@@ -246,11 +246,7 @@ export interface PeerDescriptor {
246
246
  */
247
247
  websocket?: ConnectivityMethod;
248
248
  /**
249
- * @generated from protobuf field: optional bool openInternet = 6;
250
- */
251
- openInternet?: boolean;
252
- /**
253
- * @generated from protobuf field: optional uint32 region = 7;
249
+ * @generated from protobuf field: optional uint32 region = 6;
254
250
  */
255
251
  region?: number;
256
252
  }
@@ -288,19 +284,15 @@ export interface RouteMessageWrapper {
288
284
  */
289
285
  destinationPeer?: PeerDescriptor;
290
286
  /**
291
- * @generated from protobuf field: dht.PeerDescriptor previousPeer = 4;
292
- */
293
- previousPeer?: PeerDescriptor;
294
- /**
295
- * @generated from protobuf field: dht.Message message = 5;
287
+ * @generated from protobuf field: dht.Message message = 4;
296
288
  */
297
289
  message?: Message;
298
290
  /**
299
- * @generated from protobuf field: repeated dht.PeerDescriptor reachableThrough = 6;
291
+ * @generated from protobuf field: repeated dht.PeerDescriptor reachableThrough = 5;
300
292
  */
301
293
  reachableThrough: PeerDescriptor[];
302
294
  /**
303
- * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 7;
295
+ * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 6;
304
296
  */
305
297
  routingPath: PeerDescriptor[];
306
298
  }
@@ -335,25 +327,25 @@ export interface ConnectivityRequest {
335
327
  * @generated from protobuf field: optional string host = 3;
336
328
  */
337
329
  host?: string;
330
+ /**
331
+ * @generated from protobuf field: bool selfSigned = 4;
332
+ */
333
+ selfSigned: boolean;
338
334
  }
339
335
  /**
340
336
  * @generated from protobuf message dht.ConnectivityResponse
341
337
  */
342
338
  export interface ConnectivityResponse {
343
339
  /**
344
- * @generated from protobuf field: bool open_internet = 1;
345
- */
346
- openInternet: boolean;
347
- /**
348
- * @generated from protobuf field: string host = 2;
340
+ * @generated from protobuf field: string host = 1;
349
341
  */
350
342
  host: string;
351
343
  /**
352
- * @generated from protobuf field: string natType = 3;
344
+ * @generated from protobuf field: string natType = 2;
353
345
  */
354
346
  natType: string;
355
347
  /**
356
- * @generated from protobuf field: dht.ConnectivityMethod websocket = 4;
348
+ * @generated from protobuf field: dht.ConnectivityMethod websocket = 3;
357
349
  */
358
350
  websocket?: ConnectivityMethod;
359
351
  }
@@ -362,30 +354,26 @@ export interface ConnectivityResponse {
362
354
  */
363
355
  export interface HandshakeRequest {
364
356
  /**
365
- * @generated from protobuf field: bytes sourceId = 1;
357
+ * @generated from protobuf field: dht.PeerDescriptor sourcePeerDescriptor = 1;
366
358
  */
367
- sourceId: Uint8Array;
359
+ sourcePeerDescriptor?: PeerDescriptor;
368
360
  /**
369
- * @generated from protobuf field: dht.PeerDescriptor peerDescriptor = 2;
361
+ * @generated from protobuf field: optional dht.PeerDescriptor targetPeerDescriptor = 2;
370
362
  */
371
- peerDescriptor?: PeerDescriptor;
363
+ targetPeerDescriptor?: PeerDescriptor;
372
364
  }
373
365
  /**
374
366
  * @generated from protobuf message dht.HandshakeResponse
375
367
  */
376
368
  export interface HandshakeResponse {
377
369
  /**
378
- * @generated from protobuf field: bytes sourceId = 1;
379
- */
380
- sourceId: Uint8Array;
381
- /**
382
- * @generated from protobuf field: dht.PeerDescriptor peerDescriptor = 2;
370
+ * @generated from protobuf field: dht.PeerDescriptor sourcePeerDescriptor = 1;
383
371
  */
384
- peerDescriptor?: PeerDescriptor;
372
+ sourcePeerDescriptor?: PeerDescriptor;
385
373
  /**
386
- * @generated from protobuf field: optional string responseError = 3;
374
+ * @generated from protobuf field: optional dht.HandshakeError error = 2;
387
375
  */
388
- responseError?: string;
376
+ error?: HandshakeError;
389
377
  }
390
378
  /**
391
379
  * @generated from protobuf message dht.Message
@@ -459,41 +447,25 @@ export interface Message {
459
447
  /**
460
448
  * WebSocket
461
449
  *
462
- * @generated from protobuf message dht.WebSocketConnectionRequest
450
+ * @generated from protobuf message dht.WebsocketConnectionRequest
463
451
  */
464
- export interface WebSocketConnectionRequest {
465
- /**
466
- * @generated from protobuf field: string ip = 1;
467
- */
468
- ip: string;
469
- /**
470
- * @generated from protobuf field: uint32 port = 2;
471
- */
472
- port: number;
452
+ export interface WebsocketConnectionRequest {
473
453
  }
474
454
  /**
475
- * @generated from protobuf message dht.WebSocketConnectionResponse
455
+ * @generated from protobuf message dht.WebsocketConnectionResponse
476
456
  */
477
- export interface WebSocketConnectionResponse {
457
+ export interface WebsocketConnectionResponse {
478
458
  /**
479
459
  * @generated from protobuf field: bool accepted = 1;
480
460
  */
481
461
  accepted: boolean;
482
- /**
483
- * @generated from protobuf field: optional string reason = 2;
484
- */
485
- reason?: string;
486
462
  }
487
463
  /**
488
464
  * WebRTC
489
465
  *
490
- * @generated from protobuf message dht.WebRtcConnectionRequest
466
+ * @generated from protobuf message dht.WebrtcConnectionRequest
491
467
  */
492
- export interface WebRtcConnectionRequest {
493
- /**
494
- * @generated from protobuf field: string connectionId = 1;
495
- */
496
- connectionId: string;
468
+ export interface WebrtcConnectionRequest {
497
469
  }
498
470
  /**
499
471
  * @generated from protobuf message dht.RtcOffer
@@ -543,18 +515,18 @@ export interface IceCandidate {
543
515
  */
544
516
  export interface LockRequest {
545
517
  /**
546
- * @generated from protobuf field: string serviceId = 1;
518
+ * @generated from protobuf field: string lockId = 1;
547
519
  */
548
- serviceId: string;
520
+ lockId: string;
549
521
  }
550
522
  /**
551
523
  * @generated from protobuf message dht.UnlockRequest
552
524
  */
553
525
  export interface UnlockRequest {
554
526
  /**
555
- * @generated from protobuf field: string serviceId = 1;
527
+ * @generated from protobuf field: string lockId = 1;
556
528
  */
557
- serviceId: string;
529
+ lockId: string;
558
530
  }
559
531
  /**
560
532
  * @generated from protobuf message dht.LockResponse
@@ -584,18 +556,18 @@ export interface DisconnectNotice {
584
556
  export interface DisconnectNoticeResponse {
585
557
  }
586
558
  /**
587
- * @generated from protobuf message dht.FindDataRequest
559
+ * @generated from protobuf message dht.ExternalFindDataRequest
588
560
  */
589
- export interface FindDataRequest {
561
+ export interface ExternalFindDataRequest {
590
562
  /**
591
563
  * @generated from protobuf field: bytes kademliaId = 1;
592
564
  */
593
565
  kademliaId: Uint8Array;
594
566
  }
595
567
  /**
596
- * @generated from protobuf message dht.FindDataResponse
568
+ * @generated from protobuf message dht.ExternalFindDataResponse
597
569
  */
598
- export interface FindDataResponse {
570
+ export interface ExternalFindDataResponse {
599
571
  /**
600
572
  * @generated from protobuf field: repeated dht.DataEntry dataEntries = 1;
601
573
  */
@@ -643,6 +615,19 @@ export enum RpcResponseError {
643
615
  */
644
616
  UNKNOWN_RPC_METHOD = 3
645
617
  }
618
+ /**
619
+ * @generated from protobuf enum dht.HandshakeError
620
+ */
621
+ export enum HandshakeError {
622
+ /**
623
+ * @generated from protobuf enum value: DUPLICATE_CONNECTION = 0;
624
+ */
625
+ DUPLICATE_CONNECTION = 0,
626
+ /**
627
+ * @generated from protobuf enum value: INVALID_TARGET_PEER_DESCRIPTOR = 1;
628
+ */
629
+ INVALID_TARGET_PEER_DESCRIPTOR = 1
630
+ }
646
631
  // Wraps all messages
647
632
 
648
633
  /**
@@ -650,29 +635,29 @@ export enum RpcResponseError {
650
635
  */
651
636
  export enum MessageType {
652
637
  /**
653
- * @generated from protobuf enum value: CONNECTIVITY_REQUEST = 0;
638
+ * @generated from protobuf enum value: RPC = 0;
654
639
  */
655
- CONNECTIVITY_REQUEST = 0,
640
+ RPC = 0,
656
641
  /**
657
- * @generated from protobuf enum value: CONNECTIVITY_RESPONSE = 1;
642
+ * @generated from protobuf enum value: CONNECTIVITY_REQUEST = 1;
658
643
  */
659
- CONNECTIVITY_RESPONSE = 1,
644
+ CONNECTIVITY_REQUEST = 1,
660
645
  /**
661
- * @generated from protobuf enum value: HANDSHAKE_REQUEST = 2;
646
+ * @generated from protobuf enum value: CONNECTIVITY_RESPONSE = 2;
662
647
  */
663
- HANDSHAKE_REQUEST = 2,
648
+ CONNECTIVITY_RESPONSE = 2,
664
649
  /**
665
- * @generated from protobuf enum value: HANDSHAKE_RESPONSE = 3;
650
+ * @generated from protobuf enum value: HANDSHAKE_REQUEST = 3;
666
651
  */
667
- HANDSHAKE_RESPONSE = 3,
652
+ HANDSHAKE_REQUEST = 3,
668
653
  /**
669
- * @generated from protobuf enum value: RPC = 4;
654
+ * @generated from protobuf enum value: HANDSHAKE_RESPONSE = 4;
670
655
  */
671
- RPC = 4,
656
+ HANDSHAKE_RESPONSE = 4,
672
657
  /**
673
- * @generated from protobuf enum value: RECURSIVE_FIND_REQUEST = 5;
658
+ * @generated from protobuf enum value: FIND_REQUEST = 5;
674
659
  */
675
- RECURSIVE_FIND_REQUEST = 5
660
+ FIND_REQUEST = 5
676
661
  }
677
662
  /**
678
663
  * @generated from protobuf enum dht.DisconnectMode
@@ -905,8 +890,7 @@ class PeerDescriptor$Type extends MessageType$<PeerDescriptor> {
905
890
  { no: 3, name: "udp", kind: "message", T: () => ConnectivityMethod },
906
891
  { no: 4, name: "tcp", kind: "message", T: () => ConnectivityMethod },
907
892
  { no: 5, name: "websocket", kind: "message", T: () => ConnectivityMethod },
908
- { no: 6, name: "openInternet", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
909
- { no: 7, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ }
893
+ { no: 6, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ }
910
894
  ]);
911
895
  }
912
896
  }
@@ -935,10 +919,9 @@ class RouteMessageWrapper$Type extends MessageType$<RouteMessageWrapper> {
935
919
  { no: 1, name: "sourcePeer", kind: "message", T: () => PeerDescriptor },
936
920
  { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
937
921
  { no: 3, name: "destinationPeer", kind: "message", T: () => PeerDescriptor },
938
- { no: 4, name: "previousPeer", kind: "message", T: () => PeerDescriptor },
939
- { no: 5, name: "message", kind: "message", T: () => Message },
940
- { no: 6, name: "reachableThrough", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
941
- { no: 7, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
922
+ { no: 4, name: "message", kind: "message", T: () => Message },
923
+ { no: 5, name: "reachableThrough", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
924
+ { no: 6, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
942
925
  ]);
943
926
  }
944
927
  }
@@ -965,7 +948,8 @@ class ConnectivityRequest$Type extends MessageType$<ConnectivityRequest> {
965
948
  super("dht.ConnectivityRequest", [
966
949
  { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
967
950
  { no: 2, name: "tls", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
968
- { no: 3, name: "host", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
951
+ { no: 3, name: "host", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
952
+ { no: 4, name: "selfSigned", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
969
953
  ]);
970
954
  }
971
955
  }
@@ -977,10 +961,9 @@ export const ConnectivityRequest = new ConnectivityRequest$Type();
977
961
  class ConnectivityResponse$Type extends MessageType$<ConnectivityResponse> {
978
962
  constructor() {
979
963
  super("dht.ConnectivityResponse", [
980
- { no: 1, name: "open_internet", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
981
- { no: 2, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
982
- { no: 3, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
983
- { no: 4, name: "websocket", kind: "message", T: () => ConnectivityMethod }
964
+ { no: 1, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
965
+ { no: 2, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
966
+ { no: 3, name: "websocket", kind: "message", T: () => ConnectivityMethod }
984
967
  ]);
985
968
  }
986
969
  }
@@ -992,8 +975,8 @@ export const ConnectivityResponse = new ConnectivityResponse$Type();
992
975
  class HandshakeRequest$Type extends MessageType$<HandshakeRequest> {
993
976
  constructor() {
994
977
  super("dht.HandshakeRequest", [
995
- { no: 1, name: "sourceId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
996
- { no: 2, name: "peerDescriptor", kind: "message", T: () => PeerDescriptor }
978
+ { no: 1, name: "sourcePeerDescriptor", kind: "message", T: () => PeerDescriptor },
979
+ { no: 2, name: "targetPeerDescriptor", kind: "message", T: () => PeerDescriptor }
997
980
  ]);
998
981
  }
999
982
  }
@@ -1005,9 +988,8 @@ export const HandshakeRequest = new HandshakeRequest$Type();
1005
988
  class HandshakeResponse$Type extends MessageType$<HandshakeResponse> {
1006
989
  constructor() {
1007
990
  super("dht.HandshakeResponse", [
1008
- { no: 1, name: "sourceId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
1009
- { no: 2, name: "peerDescriptor", kind: "message", T: () => PeerDescriptor },
1010
- { no: 3, name: "responseError", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
991
+ { no: 1, name: "sourcePeerDescriptor", kind: "message", T: () => PeerDescriptor },
992
+ { no: 2, name: "error", kind: "enum", opt: true, T: () => ["dht.HandshakeError", HandshakeError] }
1011
993
  ]);
1012
994
  }
1013
995
  }
@@ -1038,43 +1020,37 @@ class Message$Type extends MessageType$<Message> {
1038
1020
  */
1039
1021
  export const Message = new Message$Type();
1040
1022
  // @generated message type with reflection information, may provide speed optimized methods
1041
- class WebSocketConnectionRequest$Type extends MessageType$<WebSocketConnectionRequest> {
1023
+ class WebsocketConnectionRequest$Type extends MessageType$<WebsocketConnectionRequest> {
1042
1024
  constructor() {
1043
- super("dht.WebSocketConnectionRequest", [
1044
- { no: 1, name: "ip", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1045
- { no: 2, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
1046
- ]);
1025
+ super("dht.WebsocketConnectionRequest", []);
1047
1026
  }
1048
1027
  }
1049
1028
  /**
1050
- * @generated MessageType for protobuf message dht.WebSocketConnectionRequest
1029
+ * @generated MessageType for protobuf message dht.WebsocketConnectionRequest
1051
1030
  */
1052
- export const WebSocketConnectionRequest = new WebSocketConnectionRequest$Type();
1031
+ export const WebsocketConnectionRequest = new WebsocketConnectionRequest$Type();
1053
1032
  // @generated message type with reflection information, may provide speed optimized methods
1054
- class WebSocketConnectionResponse$Type extends MessageType$<WebSocketConnectionResponse> {
1033
+ class WebsocketConnectionResponse$Type extends MessageType$<WebsocketConnectionResponse> {
1055
1034
  constructor() {
1056
- super("dht.WebSocketConnectionResponse", [
1057
- { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1058
- { no: 2, name: "reason", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1035
+ super("dht.WebsocketConnectionResponse", [
1036
+ { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1059
1037
  ]);
1060
1038
  }
1061
1039
  }
1062
1040
  /**
1063
- * @generated MessageType for protobuf message dht.WebSocketConnectionResponse
1041
+ * @generated MessageType for protobuf message dht.WebsocketConnectionResponse
1064
1042
  */
1065
- export const WebSocketConnectionResponse = new WebSocketConnectionResponse$Type();
1043
+ export const WebsocketConnectionResponse = new WebsocketConnectionResponse$Type();
1066
1044
  // @generated message type with reflection information, may provide speed optimized methods
1067
- class WebRtcConnectionRequest$Type extends MessageType$<WebRtcConnectionRequest> {
1045
+ class WebrtcConnectionRequest$Type extends MessageType$<WebrtcConnectionRequest> {
1068
1046
  constructor() {
1069
- super("dht.WebRtcConnectionRequest", [
1070
- { no: 1, name: "connectionId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1071
- ]);
1047
+ super("dht.WebrtcConnectionRequest", []);
1072
1048
  }
1073
1049
  }
1074
1050
  /**
1075
- * @generated MessageType for protobuf message dht.WebRtcConnectionRequest
1051
+ * @generated MessageType for protobuf message dht.WebrtcConnectionRequest
1076
1052
  */
1077
- export const WebRtcConnectionRequest = new WebRtcConnectionRequest$Type();
1053
+ export const WebrtcConnectionRequest = new WebrtcConnectionRequest$Type();
1078
1054
  // @generated message type with reflection information, may provide speed optimized methods
1079
1055
  class RtcOffer$Type extends MessageType$<RtcOffer> {
1080
1056
  constructor() {
@@ -1119,7 +1095,7 @@ export const IceCandidate = new IceCandidate$Type();
1119
1095
  class LockRequest$Type extends MessageType$<LockRequest> {
1120
1096
  constructor() {
1121
1097
  super("dht.LockRequest", [
1122
- { no: 1, name: "serviceId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1098
+ { no: 1, name: "lockId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1123
1099
  ]);
1124
1100
  }
1125
1101
  }
@@ -1131,7 +1107,7 @@ export const LockRequest = new LockRequest$Type();
1131
1107
  class UnlockRequest$Type extends MessageType$<UnlockRequest> {
1132
1108
  constructor() {
1133
1109
  super("dht.UnlockRequest", [
1134
- { no: 1, name: "serviceId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1110
+ { no: 1, name: "lockId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1135
1111
  ]);
1136
1112
  }
1137
1113
  }
@@ -1175,34 +1151,34 @@ class DisconnectNoticeResponse$Type extends MessageType$<DisconnectNoticeRespons
1175
1151
  */
1176
1152
  export const DisconnectNoticeResponse = new DisconnectNoticeResponse$Type();
1177
1153
  // @generated message type with reflection information, may provide speed optimized methods
1178
- class FindDataRequest$Type extends MessageType$<FindDataRequest> {
1154
+ class ExternalFindDataRequest$Type extends MessageType$<ExternalFindDataRequest> {
1179
1155
  constructor() {
1180
- super("dht.FindDataRequest", [
1156
+ super("dht.ExternalFindDataRequest", [
1181
1157
  { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
1182
1158
  ]);
1183
1159
  }
1184
1160
  }
1185
1161
  /**
1186
- * @generated MessageType for protobuf message dht.FindDataRequest
1162
+ * @generated MessageType for protobuf message dht.ExternalFindDataRequest
1187
1163
  */
1188
- export const FindDataRequest = new FindDataRequest$Type();
1164
+ export const ExternalFindDataRequest = new ExternalFindDataRequest$Type();
1189
1165
  // @generated message type with reflection information, may provide speed optimized methods
1190
- class FindDataResponse$Type extends MessageType$<FindDataResponse> {
1166
+ class ExternalFindDataResponse$Type extends MessageType$<ExternalFindDataResponse> {
1191
1167
  constructor() {
1192
- super("dht.FindDataResponse", [
1168
+ super("dht.ExternalFindDataResponse", [
1193
1169
  { no: 1, name: "dataEntries", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DataEntry },
1194
1170
  { no: 2, name: "error", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1195
1171
  ]);
1196
1172
  }
1197
1173
  }
1198
1174
  /**
1199
- * @generated MessageType for protobuf message dht.FindDataResponse
1175
+ * @generated MessageType for protobuf message dht.ExternalFindDataResponse
1200
1176
  */
1201
- export const FindDataResponse = new FindDataResponse$Type();
1177
+ export const ExternalFindDataResponse = new ExternalFindDataResponse$Type();
1202
1178
  /**
1203
- * @generated ServiceType for protobuf service dht.DhtRpcService
1179
+ * @generated ServiceType for protobuf service dht.DhtNodeRpc
1204
1180
  */
1205
- export const DhtRpcService = new ServiceType("dht.DhtRpcService", [
1181
+ export const DhtNodeRpc = new ServiceType("dht.DhtNodeRpc", [
1206
1182
  { name: "getClosestPeers", options: {}, I: ClosestPeersRequest, O: ClosestPeersResponse },
1207
1183
  { name: "ping", options: {}, I: PingRequest, O: PingResponse },
1208
1184
  { name: "leaveNotice", options: {}, I: LeaveNotice, O: Empty }
@@ -1212,8 +1188,13 @@ export const DhtRpcService = new ServiceType("dht.DhtRpcService", [
1212
1188
  */
1213
1189
  export const RouterRpc = new ServiceType("dht.RouterRpc", [
1214
1190
  { name: "routeMessage", options: {}, I: RouteMessageWrapper, O: RouteMessageAck },
1215
- { name: "forwardMessage", options: {}, I: RouteMessageWrapper, O: RouteMessageAck },
1216
- { name: "findRecursively", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1191
+ { name: "forwardMessage", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1192
+ ]);
1193
+ /**
1194
+ * @generated ServiceType for protobuf service dht.FindRpc
1195
+ */
1196
+ export const FindRpc = new ServiceType("dht.FindRpc", [
1197
+ { name: "routeFindRequest", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1217
1198
  ]);
1218
1199
  /**
1219
1200
  * @generated ServiceType for protobuf service dht.StoreRpc
@@ -1224,22 +1205,22 @@ export const StoreRpc = new ServiceType("dht.StoreRpc", [
1224
1205
  { name: "deleteData", options: {}, I: DeleteDataRequest, O: DeleteDataResponse }
1225
1206
  ]);
1226
1207
  /**
1227
- * @generated ServiceType for protobuf service dht.RecursiveFindSessionService
1208
+ * @generated ServiceType for protobuf service dht.FindSessionRpc
1228
1209
  */
1229
- export const RecursiveFindSessionService = new ServiceType("dht.RecursiveFindSessionService", [
1210
+ export const FindSessionRpc = new ServiceType("dht.FindSessionRpc", [
1230
1211
  { name: "sendFindResponse", options: {}, I: FindResponse, O: Empty }
1231
1212
  ]);
1232
1213
  /**
1233
- * @generated ServiceType for protobuf service dht.WebSocketConnectorRpc
1214
+ * @generated ServiceType for protobuf service dht.WebsocketConnectorRpc
1234
1215
  */
1235
- export const WebSocketConnectorRpc = new ServiceType("dht.WebSocketConnectorRpc", [
1236
- { name: "requestConnection", options: {}, I: WebSocketConnectionRequest, O: WebSocketConnectionResponse }
1216
+ export const WebsocketConnectorRpc = new ServiceType("dht.WebsocketConnectorRpc", [
1217
+ { name: "requestConnection", options: {}, I: WebsocketConnectionRequest, O: WebsocketConnectionResponse }
1237
1218
  ]);
1238
1219
  /**
1239
- * @generated ServiceType for protobuf service dht.WebRtcConnectorRpc
1220
+ * @generated ServiceType for protobuf service dht.WebrtcConnectorRpc
1240
1221
  */
1241
- export const WebRtcConnectorRpc = new ServiceType("dht.WebRtcConnectorRpc", [
1242
- { name: "requestConnection", options: {}, I: WebRtcConnectionRequest, O: Empty },
1222
+ export const WebrtcConnectorRpc = new ServiceType("dht.WebrtcConnectorRpc", [
1223
+ { name: "requestConnection", options: {}, I: WebrtcConnectionRequest, O: Empty },
1243
1224
  { name: "rtcOffer", options: {}, I: RtcOffer, O: Empty },
1244
1225
  { name: "rtcAnswer", options: {}, I: RtcAnswer, O: Empty },
1245
1226
  { name: "iceCandidate", options: {}, I: IceCandidate, O: Empty }
@@ -1256,6 +1237,6 @@ export const ConnectionLockRpc = new ServiceType("dht.ConnectionLockRpc", [
1256
1237
  * @generated ServiceType for protobuf service dht.ExternalApiRpc
1257
1238
  */
1258
1239
  export const ExternalApiRpc = new ServiceType("dht.ExternalApiRpc", [
1259
- { name: "findData", options: {}, I: FindDataRequest, O: FindDataResponse },
1240
+ { name: "externalFindData", options: {}, I: ExternalFindDataRequest, O: ExternalFindDataResponse },
1260
1241
  { name: "externalStoreData", options: {}, I: ExternalStoreDataRequest, O: ExternalStoreDataResponse }
1261
1242
  ]);
@@ -10,6 +10,5 @@ export class DhtCallContext extends ProtoCallContext implements DhtRpcOptions {
10
10
  clientId?: number
11
11
  doNotConnect?: boolean
12
12
  //used in incoming calls
13
- incomingTargetDescriptor?: PeerDescriptor
14
13
  incomingSourceDescriptor?: PeerDescriptor
15
14
  }
@@ -1,10 +1,7 @@
1
1
  import { Message, PeerDescriptor } from '../proto/packages/dht/protos/DhtRpc'
2
2
 
3
- export type DisconnectionType = 'OUTGOING_GRACEFUL_DISCONNECT' | 'OUTGOING_GRACEFUL_LEAVE' |
4
- 'INCOMING_GRACEFUL_DISCONNECT' | 'INCOMING_GRACEFUL_LEAVE' | 'OTHER'
5
-
6
3
  export interface TransportEvents {
7
- disconnected: (peerDescriptor: PeerDescriptor, disconnectionType: DisconnectionType) => void
4
+ disconnected: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean) => void
8
5
  message: (message: Message) => void
9
6
  connected: (peerDescriptor: PeerDescriptor) => void
10
7
 
@@ -13,19 +10,19 @@ export interface TransportEvents {
13
10
  export interface ITransport {
14
11
  on<T extends keyof TransportEvents>(eventName: T, listener: (message: Message) => void): void
15
12
  on<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor) => void): void
16
- on<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, disconnectionType: DisconnectionType) => void): void
13
+ on<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean) => void): void
17
14
 
18
15
  once<T extends keyof TransportEvents>(eventName: T, listener: (message: Message) => void): void
19
16
  once<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor) => void): void
20
17
  once<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor,
21
- disconnectionType: DisconnectionType) => void): void
18
+ gracefulLeave: boolean) => void): void
22
19
 
23
20
  off<T extends keyof TransportEvents>(eventName: T, listener: (message: Message) => void): void
24
21
  off<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor) => void): void
25
- off<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, disconnectionType: DisconnectionType) => void): void
22
+ off<T extends keyof TransportEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean) => void): void
26
23
 
27
24
  send(msg: Message, doNotConnect?: boolean): Promise<void>
28
- getPeerDescriptor(): PeerDescriptor
25
+ getLocalPeerDescriptor(): PeerDescriptor
29
26
  getAllConnectionPeerDescriptors(): PeerDescriptor[]
30
27
  stop(): void | Promise<void>
31
28
  }
@@ -2,12 +2,13 @@ import { ITransport } from './ITransport'
2
2
  import { RoutingRpcCommunicator } from './RoutingRpcCommunicator'
3
3
  import { RpcCommunicatorConfig } from '@streamr/proto-rpc'
4
4
  import { Message } from '../proto/packages/dht/protos/DhtRpc'
5
+ import { ServiceID } from '../types/ServiceID'
5
6
 
6
7
  export class ListeningRpcCommunicator extends RoutingRpcCommunicator {
7
8
  private readonly transport: ITransport
8
9
  private readonly listener: (msg: Message) => void
9
10
 
10
- constructor(ownServiceId: string, transport: ITransport, config?: RpcCommunicatorConfig) {
11
+ constructor(ownServiceId: ServiceID, transport: ITransport, config?: RpcCommunicatorConfig) {
11
12
  super(ownServiceId, transport.send, config)
12
13
  this.listener = (msg: Message) => {
13
14
  this.handleMessageFromPeer(msg)
@@ -3,13 +3,14 @@ import { v4 } from 'uuid'
3
3
  import { RpcCommunicator, RpcCommunicatorConfig } from '@streamr/proto-rpc'
4
4
  import { DhtCallContext } from '../rpc-protocol/DhtCallContext'
5
5
  import { RpcMessage } from '../proto/packages/proto-rpc/protos/ProtoRpc'
6
+ import { ServiceID } from '../types/ServiceID'
6
7
 
7
8
  export class RoutingRpcCommunicator extends RpcCommunicator {
8
- private ownServiceId: string
9
+ private ownServiceId: ServiceID
9
10
  private sendFn: (msg: Message, doNotConnect?: boolean, doNotMindStopped?: boolean) => Promise<void>
10
11
 
11
12
  constructor(
12
- ownServiceId: string,
13
+ ownServiceId: ServiceID,
13
14
  sendFn: (msg: Message, doNotConnect?: boolean) => Promise<void>,
14
15
  config?: RpcCommunicatorConfig
15
16
  ) {
@@ -20,7 +21,6 @@ export class RoutingRpcCommunicator extends RpcCommunicator {
20
21
  this.setOutgoingMessageListener((msg: RpcMessage, _requestId: string, callContext?: DhtCallContext) => {
21
22
  let targetDescriptor: PeerDescriptor
22
23
  // rpc call message
23
-
24
24
  if (callContext!.targetDescriptor) {
25
25
  targetDescriptor = callContext!.targetDescriptor!
26
26
  } else { // rpc reply message
@@ -53,7 +53,6 @@ export class RoutingRpcCommunicator extends RpcCommunicator {
53
53
  if (message.serviceId == this.ownServiceId && message.body.oneofKind === 'rpcMessage') {
54
54
  const context = new DhtCallContext()
55
55
  context.incomingSourceDescriptor = message.sourceDescriptor
56
- context.incomingTargetDescriptor = message.targetDescriptor
57
56
  this.handleIncomingMessage(message.body.rpcMessage, context)
58
57
  }
59
58
  }
@@ -0,0 +1 @@
1
+ export type ServiceID = string
@@ -1,18 +1,18 @@
1
1
  /* eslint-disable no-console */
2
- import { LatencyType, Simulator } from '../../src/connection/Simulator/Simulator'
2
+ import { LatencyType, Simulator } from '../../src/connection/simulator/Simulator'
3
3
  import { DhtNode } from '../../src/dht/DhtNode'
4
4
  import { NodeType, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
5
5
  import { createMockConnectionDhtNode } from '../utils/utils'
6
6
  import { execSync } from 'child_process'
7
7
  import fs from 'fs'
8
8
  import { PeerID } from '../../src/helpers/PeerID'
9
- import { keyFromPeerDescriptor, peerIdFromPeerDescriptor } from '../../src/helpers/peerIdFromPeerDescriptor'
9
+ import { getNodeIdFromPeerDescriptor, peerIdFromPeerDescriptor } from '../../src/helpers/peerIdFromPeerDescriptor'
10
10
  import { Logger, wait } from '@streamr/utils'
11
11
  import { debugVars } from '../../src/helpers/debugHelpers'
12
12
 
13
13
  const logger = new Logger(module)
14
14
 
15
- describe('Recursive find correctness', () => {
15
+ describe('Find correctness', () => {
16
16
  let entryPoint: DhtNode
17
17
  let nodes: DhtNode[]
18
18
  let entrypointDescriptor: PeerDescriptor
@@ -70,16 +70,16 @@ describe('Recursive find correctness', () => {
70
70
  debugVars['waiting'] = false
71
71
  logger.info('waiting over')
72
72
 
73
- nodes.forEach((node) => logger.info(keyFromPeerDescriptor(node.getPeerDescriptor()) + ': connections:' +
73
+ nodes.forEach((node) => logger.info(getNodeIdFromPeerDescriptor(node.getLocalPeerDescriptor()) + ': connections:' +
74
74
  node.getNumberOfConnections() + ', kbucket: ' + node.getBucketSize()
75
75
  + ', localLocked: ' + node.getNumberOfLocalLockedConnections()
76
76
  + ', remoteLocked: ' + node.getNumberOfRemoteLockedConnections()
77
77
  + ', weakLocked: ' + node.getNumberOfWeakLockedConnections()))
78
78
 
79
- logger.info('starting recursive find')
79
+ logger.info('starting find')
80
80
  const kademliaIdToFind = Uint8Array.from(dhtIds[9].data)
81
- const results = await nodes[159].startRecursiveFind(kademliaIdToFind)
82
- logger.info('recursive find over')
81
+ const results = await nodes[159].startFind(kademliaIdToFind)
82
+ logger.info('find over')
83
83
  expect(results.closestNodes).toBeGreaterThanOrEqual(5)
84
84
  expect(PeerID.fromValue(kademliaIdToFind).equals(peerIdFromPeerDescriptor(results.closestNodes[0])))
85
85