@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
@@ -8,10 +8,10 @@ const protoToString_1 = require("../../helpers/protoToString");
8
8
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
9
9
  const logger = new utils_1.Logger(module);
10
10
  class SimulatorConnection extends Connection_1.Connection {
11
- constructor(ownPeerDescriptor, targetPeerDescriptor, connectionType, simulator) {
11
+ constructor(localPeerDescriptor, targetPeerDescriptor, connectionType, simulator) {
12
12
  super(connectionType);
13
13
  this.stopped = false;
14
- this.ownPeerDescriptor = ownPeerDescriptor;
14
+ this.localPeerDescriptor = localPeerDescriptor;
15
15
  this.setPeerDescriptor(targetPeerDescriptor);
16
16
  this.targetPeerDescriptor = targetPeerDescriptor;
17
17
  this.connectionType = connectionType;
@@ -30,35 +30,36 @@ class SimulatorConnection extends Connection_1.Connection {
30
30
  this.simulator.send(this, data);
31
31
  }
32
32
  else {
33
- logger.error((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
33
+ logger.error((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
34
34
  'tried to send() on a stopped connection');
35
35
  }
36
36
  }
37
- async close(disconnectionType) {
38
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) + ' close()');
37
+ async close(gracefulLeave) {
38
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor)
39
+ + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) + ' close()');
39
40
  if (!this.stopped) {
40
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', '
41
- + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) + ' close() not stopped');
41
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', '
42
+ + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) + ' close() not stopped');
42
43
  this.stopped = true;
43
44
  try {
44
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
45
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
45
46
  ' close() calling simulator.disconnect()');
46
47
  this.simulator.close(this);
47
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
48
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
48
49
  ' close() simulator.disconnect returned');
49
50
  }
50
51
  catch (e) {
51
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
52
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
52
53
  'close aborted' + e);
53
54
  }
54
55
  finally {
55
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
56
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
56
57
  ' calling this.doDisconnect');
57
- this.doDisconnect(disconnectionType);
58
+ this.doDisconnect(gracefulLeave);
58
59
  }
59
60
  }
60
61
  else {
61
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) +
62
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) +
62
63
  ' close() tried to close a stopped connection');
63
64
  }
64
65
  }
@@ -68,7 +69,7 @@ class SimulatorConnection extends Connection_1.Connection {
68
69
  this.simulator.connect(this, this.targetPeerDescriptor, (error) => {
69
70
  if (error) {
70
71
  logger.trace(error);
71
- this.doDisconnect('OTHER');
72
+ this.doDisconnect(false);
72
73
  }
73
74
  else {
74
75
  this.emit('connected');
@@ -91,9 +92,9 @@ class SimulatorConnection extends Connection_1.Connection {
91
92
  }
92
93
  handleIncomingDisconnection() {
93
94
  if (!this.stopped) {
94
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ' handleIncomingDisconnection()');
95
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ' handleIncomingDisconnection()');
95
96
  this.stopped = true;
96
- this.doDisconnect('OTHER');
97
+ this.doDisconnect(false);
97
98
  }
98
99
  else {
99
100
  logger.trace('tried to call handleIncomingDisconnection() a stopped connection');
@@ -101,20 +102,20 @@ class SimulatorConnection extends Connection_1.Connection {
101
102
  }
102
103
  destroy() {
103
104
  if (!this.stopped) {
104
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ' destroy()');
105
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ' destroy()');
105
106
  this.removeAllListeners();
106
- this.close('OTHER').catch((_e) => { });
107
+ this.close(false).catch((_e) => { });
107
108
  }
108
109
  else {
109
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ' tried to call destroy() a stopped connection');
110
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ' tried to call destroy() a stopped connection');
110
111
  }
111
112
  }
112
- doDisconnect(disconnectionType) {
113
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ' doDisconnect()');
113
+ doDisconnect(gracefulLeave) {
114
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ' doDisconnect()');
114
115
  this.stopped = true;
115
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.ownPeerDescriptor) + ', '
116
- + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.targetPeerDescriptor) + ' doDisconnect emitting');
117
- this.emit('disconnected', disconnectionType);
116
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor) + ', '
117
+ + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor) + ' doDisconnect emitting');
118
+ this.emit('disconnected', gracefulLeave);
118
119
  }
119
120
  }
120
121
  exports.SimulatorConnection = SimulatorConnection;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimulatorConnection.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnection.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ import { SimulatorConnection } from './SimulatorConnection';
5
5
  export declare class SimulatorConnector {
6
6
  private connectingConnections;
7
7
  private stopped;
8
- private ownPeerDescriptor;
8
+ private localPeerDescriptor;
9
9
  private simulator;
10
- private onIncomingConnection;
11
- constructor(ownPeerDescriptor: PeerDescriptor, simulator: Simulator, onIncomingConnection: (connection: ManagedConnection) => boolean);
10
+ private onNewConnection;
11
+ constructor(localPeerDescriptor: PeerDescriptor, simulator: Simulator, onNewConnection: (connection: ManagedConnection) => boolean);
12
12
  connect(targetPeerDescriptor: PeerDescriptor): ManagedConnection;
13
13
  getPeerDescriptor(): PeerDescriptor;
14
14
  handleIncomingConnection(sourceConnection: SimulatorConnection): void;
@@ -2,29 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SimulatorConnector = void 0;
4
4
  const IConnection_1 = require("../IConnection");
5
+ const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
5
6
  const utils_1 = require("@streamr/utils");
6
7
  const ManagedConnection_1 = require("../ManagedConnection");
7
8
  const SimulatorConnection_1 = require("./SimulatorConnection");
8
9
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
9
10
  const logger = new utils_1.Logger(module);
10
11
  class SimulatorConnector {
11
- constructor(ownPeerDescriptor, simulator, onIncomingConnection) {
12
+ constructor(localPeerDescriptor, simulator, onNewConnection) {
12
13
  this.connectingConnections = new Map();
13
14
  this.stopped = false;
14
- this.ownPeerDescriptor = ownPeerDescriptor;
15
+ this.localPeerDescriptor = localPeerDescriptor;
15
16
  this.simulator = simulator;
16
- this.onIncomingConnection = onIncomingConnection;
17
+ this.onNewConnection = onNewConnection;
17
18
  }
18
19
  connect(targetPeerDescriptor) {
19
- logger.trace('connect() ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(targetPeerDescriptor));
20
+ logger.trace('connect() ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor));
20
21
  const peerKey = (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(targetPeerDescriptor);
21
22
  const existingConnection = this.connectingConnections.get(peerKey);
22
23
  if (existingConnection) {
23
24
  return existingConnection;
24
25
  }
25
- const connection = new SimulatorConnection_1.SimulatorConnection(this.ownPeerDescriptor, targetPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_CLIENT, this.simulator);
26
- const managedConnection = new ManagedConnection_1.ManagedConnection(this.ownPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_CLIENT, connection, undefined);
27
- managedConnection.setPeerDescriptor(targetPeerDescriptor);
26
+ const connection = new SimulatorConnection_1.SimulatorConnection(this.localPeerDescriptor, targetPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_CLIENT, this.simulator);
27
+ const managedConnection = new ManagedConnection_1.ManagedConnection(this.localPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_CLIENT, connection, undefined);
28
+ managedConnection.setRemotePeerDescriptor(targetPeerDescriptor);
28
29
  this.connectingConnections.set(peerKey, managedConnection);
29
30
  connection.once('disconnected', () => {
30
31
  this.connectingConnections.delete(peerKey);
@@ -36,26 +37,24 @@ class SimulatorConnector {
36
37
  return managedConnection;
37
38
  }
38
39
  getPeerDescriptor() {
39
- return this.ownPeerDescriptor;
40
+ return this.localPeerDescriptor;
40
41
  }
41
42
  handleIncomingConnection(sourceConnection) {
42
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(sourceConnection.ownPeerDescriptor) + ' incoming connection, stopped: ' + this.stopped);
43
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(sourceConnection.localPeerDescriptor) + ' incoming connection, stopped: ' + this.stopped);
43
44
  if (this.stopped) {
44
45
  return;
45
46
  }
46
- const connection = new SimulatorConnection_1.SimulatorConnection(this.ownPeerDescriptor, sourceConnection.ownPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_SERVER, this.simulator);
47
- const managedConnection = new ManagedConnection_1.ManagedConnection(this.ownPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_SERVER, undefined, connection);
47
+ const connection = new SimulatorConnection_1.SimulatorConnection(this.localPeerDescriptor, sourceConnection.localPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_SERVER, this.simulator);
48
+ const managedConnection = new ManagedConnection_1.ManagedConnection(this.localPeerDescriptor, IConnection_1.ConnectionType.SIMULATOR_SERVER, undefined, connection);
48
49
  logger.trace('connected');
49
50
  managedConnection.once('handshakeRequest', () => {
50
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(sourceConnection.ownPeerDescriptor) + ' incoming handshake request');
51
- logger.trace('incoming handshake request');
52
- if (this.onIncomingConnection(managedConnection)) {
53
- logger.trace((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(sourceConnection.ownPeerDescriptor) + ' calling acceptHandshake');
51
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(sourceConnection.localPeerDescriptor) + ' incoming handshake request');
52
+ if (this.onNewConnection(managedConnection)) {
53
+ logger.trace((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(sourceConnection.localPeerDescriptor) + ' calling acceptHandshake');
54
54
  managedConnection.acceptHandshake();
55
55
  }
56
56
  else {
57
- managedConnection.rejectHandshake('Duplicate connection');
58
- managedConnection.destroy();
57
+ managedConnection.rejectHandshake(DhtRpc_1.HandshakeError.DUPLICATE_CONNECTION);
59
58
  }
60
59
  });
61
60
  this.simulator.accept(sourceConnection, connection);
@@ -63,7 +62,7 @@ class SimulatorConnector {
63
62
  async stop() {
64
63
  this.stopped = true;
65
64
  const conns = Array.from(this.connectingConnections.values());
66
- await Promise.allSettled(conns.map((conn) => conn.close('OTHER')));
65
+ await Promise.allSettled(conns.map((conn) => conn.close(false)));
67
66
  }
68
67
  }
69
68
  exports.SimulatorConnector = SimulatorConnector;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimulatorConnector.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnector.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C,mEAG+C;AAC/C,0CAAuC;AACvC,4DAAwD;AAGxD,+DAA2D;AAC3D,qFAA2G;AAE3G,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,kBAAkB;IAQ3B,YACI,mBAAmC,EACnC,SAAoB,EACpB,eAA2D;QATvD,0BAAqB,GAAsC,IAAI,GAAG,EAAE,CAAA;QACpE,YAAO,GAAG,KAAK,CAAA;QAUnB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;IAC1C,CAAC;IAEM,OAAO,CAAC,oBAAoC;QAC/C,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,IAAA,sDAA2B,EAAC,oBAAoB,CAAC,CAAC,CAAA;QAC9E,MAAM,OAAO,GAAG,IAAA,gDAAqB,EAAC,oBAAoB,CAAC,CAAA;QAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAClE,IAAI,kBAAkB,EAAE;YACpB,OAAO,kBAAkB,CAAA;SAC5B;QAED,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,4BAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAE3I,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,4BAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;QACjI,iBAAiB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;QAE/D,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QAC1D,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;YACjC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QACF,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,UAAU,CAAC,OAAO,EAAE,CAAA;QAEpB,OAAO,iBAAiB,CAAA;IAC5B,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACnC,CAAC;IAEM,wBAAwB,CAAC,gBAAqC;QACjE,MAAM,CAAC,KAAK,CAAC,IAAA,sDAA2B,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,iCAAiC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;QAClI,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAM;SACT;QACD,MAAM,UAAU,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,mBAAmB,EAC/D,gBAAgB,CAAC,mBAAmB,EAAE,4BAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAE1F,MAAM,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,4BAAc,CAAC,gBAAgB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QAEjI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEzB,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,KAAK,CAAC,IAAA,sDAA2B,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,6BAA6B,CAAC,CAAA;YAE/G,IAAI,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE;gBACzC,MAAM,CAAC,KAAK,CAAC,IAAA,sDAA2B,EAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,0BAA0B,CAAC,CAAA;gBAC5G,iBAAiB,CAAC,eAAe,EAAE,CAAA;aACtC;iBAAM;gBACH,iBAAiB,CAAC,eAAe,CAAC,uBAAc,CAAC,oBAAoB,CAAC,CAAA;aACzE;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;IACvD,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7D,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CACpB,CAAC,CAAA;IACN,CAAC;CACJ;AAjFD,gDAiFC"}
@@ -2,5 +2,5 @@ import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
2
2
  import { ConnectionManager } from '../ConnectionManager';
3
3
  import { Simulator } from './Simulator';
4
4
  export declare class SimulatorTransport extends ConnectionManager {
5
- constructor(ownPeerDescriptor: PeerDescriptor, simulator: Simulator);
5
+ constructor(localPeerDescriptor: PeerDescriptor, simulator: Simulator);
6
6
  }
@@ -5,9 +5,9 @@ const utils_1 = require("@streamr/utils");
5
5
  const ConnectionManager_1 = require("../ConnectionManager");
6
6
  const ConnectorFacade_1 = require("../ConnectorFacade");
7
7
  class SimulatorTransport extends ConnectionManager_1.ConnectionManager {
8
- constructor(ownPeerDescriptor, simulator) {
8
+ constructor(localPeerDescriptor, simulator) {
9
9
  super({
10
- createConnectorFacade: () => new ConnectorFacade_1.SimulatorConnectorFacade(ownPeerDescriptor, simulator),
10
+ createConnectorFacade: () => new ConnectorFacade_1.SimulatorConnectorFacade(localPeerDescriptor, simulator),
11
11
  metricsContext: new utils_1.MetricsContext()
12
12
  });
13
13
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimulatorTransport.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorTransport.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAE/C,4DAAwD;AAExD,wDAA6D;AAE7D,MAAa,kBAAmB,SAAQ,qCAAiB;IACrD,YAAY,mBAAmC,EAAE,SAAoB;QACjE,KAAK,CAAC;YACF,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,0CAAwB,CAAC,mBAAmB,EAAE,SAAS,CAAC;YACzF,cAAc,EAAE,IAAI,sBAAc,EAAE;SACvC,CAAC,CAAA;IACN,CAAC;CACJ;AAPD,gDAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pings.js","sourceRoot":"","sources":["../../../../src/connection/Simulator/pings.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAE9D,mEAAmE;AACnE,kEAAkE;AAClE,gDAAgD;AAEhD,IAAY,WAA0N;AAAtO,WAAY,WAAW;IAAG,6DAAY,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,yDAAU,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,6DAAY,CAAA;IAAE,0DAAU,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,wDAAS,CAAA;AAAC,CAAC,EAA1N,WAAW,2BAAX,WAAW,QAA+M;AAEzN,QAAA,gBAAgB,GAAG;IAC5B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACpI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACzI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IACzI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC3I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;CAChJ,CAAA;AAED,SAAgB,oBAAoB;IAChC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,GAAG,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;SACvC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAChB;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAVD,oDAUC;AAED,SAAgB,eAAe;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"pings.js","sourceRoot":"","sources":["../../../../src/connection/simulator/pings.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAE9D,mEAAmE;AACnE,kEAAkE;AAClE,gDAAgD;AAEhD,IAAY,WAA0N;AAAtO,WAAY,WAAW;IAAG,6DAAY,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,yDAAU,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,6DAAY,CAAA;IAAE,0DAAU,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,wDAAS,CAAA;AAAC,CAAC,EAA1N,WAAW,2BAAX,WAAW,QAA+M;AAEzN,QAAA,gBAAgB,GAAG;IAC5B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACpI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACzI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IACzI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC3I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;CAChJ,CAAA;AAED,SAAgB,oBAAoB;IAChC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,GAAG,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;SACvC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;KAChB;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAVD,oDAUC;AAED,SAAgB,eAAe;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,0CAEC"}
@@ -1,4 +1,4 @@
1
- export interface WebRtcConnectionEvents {
1
+ export interface WebrtcConnectionEvents {
2
2
  localDescription: (description: string, type: string) => void;
3
3
  localCandidate: (candidate: string, mid: string) => void;
4
4
  }
@@ -6,7 +6,7 @@ export declare enum RtcDescription {
6
6
  OFFER = "offer",
7
7
  ANSWER = "answer"
8
8
  }
9
- export interface IWebRtcConnection {
9
+ export interface IWebrtcConnection {
10
10
  start(isOffering: boolean): void;
11
11
  on(event: 'localDescription', listener: (description: string, type: string) => void): this;
12
12
  on(event: 'localCandidate', listener: (candidate: string, mid: string) => void): this;
@@ -6,4 +6,4 @@ var RtcDescription;
6
6
  RtcDescription["OFFER"] = "offer";
7
7
  RtcDescription["ANSWER"] = "answer";
8
8
  })(RtcDescription || (exports.RtcDescription = RtcDescription = {}));
9
- //# sourceMappingURL=IWebRtcConnection.js.map
9
+ //# sourceMappingURL=IWebrtcConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IWebrtcConnection.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/IWebrtcConnection.ts"],"names":[],"mappings":";;;AAKA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,mCAAiB,CAAA;AACrB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
@@ -1,11 +1,10 @@
1
- import { IWebRtcConnection, WebRtcConnectionEvents } from './IWebRtcConnection';
1
+ import { IWebrtcConnection, WebrtcConnectionEvents } from './IWebrtcConnection';
2
2
  import { ConnectionType, IConnection, ConnectionID, ConnectionEvents } from '../IConnection';
3
3
  import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
4
4
  import EventEmitter from 'eventemitter3';
5
- import { DisconnectionType } from '../../transport/ITransport';
6
- import { IceServer } from './WebRtcConnectorRpcLocal';
5
+ import { IceServer } from './WebrtcConnector';
7
6
  import { PortRange } from '../ConnectionManager';
8
- export declare const WEB_RTC_CLEANUP: {
7
+ export declare const WEBRTC_CLEANUP: {
9
8
  cleanUp(): void;
10
9
  };
11
10
  export interface Params {
@@ -17,8 +16,8 @@ export interface Params {
17
16
  iceServers?: IceServer[];
18
17
  portRange?: PortRange;
19
18
  }
20
- type Events = WebRtcConnectionEvents & ConnectionEvents;
21
- export declare class NodeWebRtcConnection extends EventEmitter<Events> implements IConnection, IWebRtcConnection {
19
+ type Events = WebrtcConnectionEvents & ConnectionEvents;
20
+ export declare class NodeWebrtcConnection extends EventEmitter<Events> implements IConnection, IWebrtcConnection {
22
21
  connectionId: ConnectionID;
23
22
  private connection?;
24
23
  private dataChannel?;
@@ -39,7 +38,7 @@ export declare class NodeWebRtcConnection extends EventEmitter<Events> implement
39
38
  setRemoteDescription(description: string, type: string): Promise<void>;
40
39
  addRemoteCandidate(candidate: string, mid: string): void;
41
40
  send(data: Uint8Array): void;
42
- close(disconnectionType: DisconnectionType, reason?: string): Promise<void>;
41
+ close(gracefulLeave: boolean, reason?: string): Promise<void>;
43
42
  private doClose;
44
43
  destroy(): void;
45
44
  private onDataChannel;
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.NodeWebRtcConnection = exports.WEB_RTC_CLEANUP = void 0;
29
+ exports.NodeWebrtcConnection = exports.WEBRTC_CLEANUP = void 0;
30
30
  const IConnection_1 = require("../IConnection");
31
31
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
32
32
  const node_datachannel_1 = __importStar(require("node-datachannel"));
@@ -35,7 +35,7 @@ const errors_1 = require("../../helpers/errors");
35
35
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
36
36
  const iceServerAsString_1 = require("./iceServerAsString");
37
37
  const logger = new utils_1.Logger(module);
38
- exports.WEB_RTC_CLEANUP = new class {
38
+ exports.WEBRTC_CLEANUP = new class {
39
39
  // eslint-disable-next-line class-methods-use-this
40
40
  cleanUp() {
41
41
  node_datachannel_1.default.cleanup();
@@ -43,17 +43,17 @@ exports.WEB_RTC_CLEANUP = new class {
43
43
  };
44
44
  // Re-defined accoring to https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts
45
45
  // because importing single dom definitions in not possible
46
- var RTCPeerConnectionStateEnum;
47
- (function (RTCPeerConnectionStateEnum) {
48
- RTCPeerConnectionStateEnum["closed"] = "closed";
49
- RTCPeerConnectionStateEnum["connected"] = "connected";
50
- RTCPeerConnectionStateEnum["connecting"] = "connecting";
51
- RTCPeerConnectionStateEnum["disconnected"] = "disconnected";
52
- RTCPeerConnectionStateEnum["failed"] = "failed";
53
- RTCPeerConnectionStateEnum["new"] = "new";
54
- })(RTCPeerConnectionStateEnum || (RTCPeerConnectionStateEnum = {}));
46
+ var RtcPeerConnectionStateEnum;
47
+ (function (RtcPeerConnectionStateEnum) {
48
+ RtcPeerConnectionStateEnum["closed"] = "closed";
49
+ RtcPeerConnectionStateEnum["connected"] = "connected";
50
+ RtcPeerConnectionStateEnum["connecting"] = "connecting";
51
+ RtcPeerConnectionStateEnum["disconnected"] = "disconnected";
52
+ RtcPeerConnectionStateEnum["failed"] = "failed";
53
+ RtcPeerConnectionStateEnum["new"] = "new";
54
+ })(RtcPeerConnectionStateEnum || (RtcPeerConnectionStateEnum = {}));
55
55
  node_datachannel_1.default.initLogger('Fatal');
56
- class NodeWebRtcConnection extends eventemitter3_1.default {
56
+ class NodeWebrtcConnection extends eventemitter3_1.default {
57
57
  constructor(params) {
58
58
  super();
59
59
  this.lastState = 'connecting';
@@ -71,9 +71,8 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
71
71
  this.portRange = params.portRange;
72
72
  }
73
73
  start(isOffering) {
74
- logger.trace(`Staring new connection for peer: ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
75
74
  const peerIdKey = (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor);
76
- logger.trace(`Staring new connection for peer: ${peerIdKey} offering: ${isOffering}`);
75
+ logger.trace(`Starting new connection for peer ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`, { isOffering });
77
76
  this.connection = new node_datachannel_1.PeerConnection(peerIdKey, {
78
77
  iceServers: this.iceServers.map(iceServerAsString_1.iceServerAsString),
79
78
  maxMessageSize: this.maxMessageSize,
@@ -82,7 +81,7 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
82
81
  });
83
82
  this.connectingTimeoutRef = setTimeout(() => {
84
83
  logger.trace('connectingTimeout, this.closed === ' + this.closed);
85
- this.doClose('OTHER');
84
+ this.doClose(false);
86
85
  }, this.connectingTimeout);
87
86
  this.connection.onStateChange((state) => this.onStateChange(state));
88
87
  this.connection.onGatheringStateChange(() => { });
@@ -103,36 +102,36 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
103
102
  async setRemoteDescription(description, type) {
104
103
  if (this.connection) {
105
104
  try {
106
- logger.trace(`Setting remote descriptor for peer: ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
105
+ logger.trace(`Setting remote descriptor for peer: ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
107
106
  this.connection.setRemoteDescription(description, type);
108
107
  this.remoteDescriptionSet = true;
109
108
  }
110
109
  catch (err) {
111
- logger.warn(`Failed to set remote descriptor for peer ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
110
+ logger.debug(`Failed to set remote descriptor for peer ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
112
111
  }
113
112
  }
114
113
  else {
115
- this.doClose('OTHER', `Tried to set description for non-existent connection`);
114
+ this.doClose(false, `Tried to set description for non-existent connection`);
116
115
  }
117
116
  }
118
117
  addRemoteCandidate(candidate, mid) {
119
118
  if (this.connection) {
120
119
  if (this.remoteDescriptionSet) {
121
120
  try {
122
- logger.trace(`Setting remote candidate for peer: ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
121
+ logger.trace(`Setting remote candidate for peer: ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
123
122
  this.connection.addRemoteCandidate(candidate, mid);
124
123
  }
125
124
  catch (err) {
126
- logger.warn(`Failed to set remote candidate for peer ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
127
- this.doClose('OTHER');
125
+ logger.debug(`Failed to set remote candidate for peer ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
128
126
  }
129
127
  }
130
128
  else {
131
- this.doClose('OTHER', `Tried to set candidate before description`);
129
+ // TODO: should queue candidates until remote description is set?
130
+ this.doClose(false, `Tried to set candidate before description`);
132
131
  }
133
132
  }
134
133
  else {
135
- this.doClose('OTHER', `Tried to set candidate for non-existent connection`);
134
+ this.doClose(false, `Tried to set candidate for non-existent connection`);
136
135
  }
137
136
  }
138
137
  send(data) {
@@ -141,19 +140,19 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
141
140
  this.dataChannel.sendMessageBinary(data);
142
141
  }
143
142
  catch (err) {
144
- logger.warn('Failed to send binary message to ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor) + err);
143
+ logger.debug('Failed to send binary message to ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor) + err);
145
144
  }
146
145
  }
147
146
  }
148
- async close(disconnectionType, reason) {
149
- this.doClose(disconnectionType, reason);
147
+ async close(gracefulLeave, reason) {
148
+ this.doClose(gracefulLeave, reason);
150
149
  }
151
- doClose(disconnectionType, reason) {
150
+ doClose(gracefulLeave, reason) {
152
151
  if (!this.closed) {
153
- logger.trace(`Closing Node WebRTC Connection to ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`
152
+ logger.trace(`Closing Node WebRTC Connection to ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`
154
153
  + `${reason ? `, reason: ${reason}` : ''}`);
155
154
  this.closed = true;
156
- this.emit('disconnected', disconnectionType, undefined, reason);
155
+ this.emit('disconnected', gracefulLeave, undefined, reason);
157
156
  this.removeAllListeners();
158
157
  if (this.connectingTimeoutRef) {
159
158
  clearTimeout(this.connectingTimeoutRef);
@@ -164,7 +163,7 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
164
163
  this.dataChannel.close();
165
164
  }
166
165
  catch (e) {
167
- logger.warn('dc.close() errored: %s', e);
166
+ logger.trace('dc.close() errored: %s', e);
168
167
  }
169
168
  }
170
169
  if (this.connection) {
@@ -172,14 +171,14 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
172
171
  this.connection.close();
173
172
  }
174
173
  catch (e) {
175
- logger.warn('conn.close() errored: %s', e);
174
+ logger.trace('conn.close() errored: %s', e);
176
175
  }
177
176
  }
178
177
  }
179
178
  }
180
179
  destroy() {
181
180
  this.removeAllListeners();
182
- this.doClose('OTHER');
181
+ this.doClose(false);
183
182
  }
184
183
  onDataChannel(dataChannel) {
185
184
  this.openDataChannel(dataChannel);
@@ -193,7 +192,7 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
193
192
  });
194
193
  dataChannel.onClosed(() => {
195
194
  logger.trace(`dc.closed`);
196
- this.doClose('OTHER', 'DataChannel closed');
195
+ this.doClose(false, 'DataChannel closed');
197
196
  });
198
197
  dataChannel.onError((err) => logger.error('error', { err }));
199
198
  dataChannel.onBufferedAmountLow(() => {
@@ -209,21 +208,21 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
209
208
  clearTimeout(this.connectingTimeoutRef);
210
209
  }
211
210
  this.dataChannel = dataChannel;
212
- logger.trace(`DataChannel opened for peer ${(0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(this.remotePeerDescriptor)}`);
211
+ logger.trace(`DataChannel opened for peer ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
213
212
  this.emit('connected');
214
213
  }
215
214
  onStateChange(state) {
216
215
  logger.trace('onStateChange ' + state);
217
- if (!Object.keys(RTCPeerConnectionStateEnum).filter((s) => isNaN(+s)).includes(state)) {
218
- throw new errors_1.IllegalRTCPeerConnectionState('NodeWebRtcConnection used an unknown state: ' + state);
216
+ if (!Object.keys(RtcPeerConnectionStateEnum).filter((s) => isNaN(+s)).includes(state)) {
217
+ throw new errors_1.IllegalRtcPeerConnectionState('NodeWebrtcConnection used an unknown state: ' + state);
219
218
  }
220
219
  else {
221
220
  this.lastState = state;
222
221
  }
223
- if (state === RTCPeerConnectionStateEnum.closed
224
- || state === RTCPeerConnectionStateEnum.disconnected
225
- || state === RTCPeerConnectionStateEnum.failed) {
226
- this.doClose('OTHER');
222
+ if (state === RtcPeerConnectionStateEnum.closed
223
+ || state === RtcPeerConnectionStateEnum.disconnected
224
+ || state === RtcPeerConnectionStateEnum.failed) {
225
+ this.doClose(false);
227
226
  }
228
227
  }
229
228
  isOpen() {
@@ -233,5 +232,5 @@ class NodeWebRtcConnection extends eventemitter3_1.default {
233
232
  this.connectionId = new IConnection_1.ConnectionID(connectionID);
234
233
  }
235
234
  }
236
- exports.NodeWebRtcConnection = NodeWebRtcConnection;
237
- //# sourceMappingURL=NodeWebRtcConnection.js.map
235
+ exports.NodeWebrtcConnection = NodeWebrtcConnection;
236
+ //# sourceMappingURL=NodeWebrtcConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeWebrtcConnection.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/NodeWebrtcConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
2
+ import { ITransport } from '../../transport/ITransport';
3
+ import { ManagedConnection } from '../ManagedConnection';
4
+ import { PortRange } from '../ConnectionManager';
5
+ export declare const replaceInternalIpWithExternalIp: (candidate: string, ip: string) => string;
6
+ export interface WebrtcConnectorConfig {
7
+ transport: ITransport;
8
+ iceServers?: IceServer[];
9
+ allowPrivateAddresses?: boolean;
10
+ bufferThresholdLow?: number;
11
+ bufferThresholdHigh?: number;
12
+ maxMessageSize?: number;
13
+ connectionTimeout?: number;
14
+ externalIp?: string;
15
+ portRange?: PortRange;
16
+ }
17
+ export interface IceServer {
18
+ url: string;
19
+ port: number;
20
+ username?: string;
21
+ password?: string;
22
+ tcp?: boolean;
23
+ }
24
+ export declare class WebrtcConnector {
25
+ private static readonly WEBRTC_CONNECTOR_SERVICE_ID;
26
+ private readonly rpcCommunicator;
27
+ private readonly ongoingConnectAttempts;
28
+ private localPeerDescriptor?;
29
+ private stopped;
30
+ private iceServers;
31
+ private config;
32
+ constructor(config: WebrtcConnectorConfig, onNewConnection: (connection: ManagedConnection) => boolean);
33
+ private registerLocalRpcMethods;
34
+ connect(targetPeerDescriptor: PeerDescriptor): ManagedConnection;
35
+ setLocalPeerDescriptor(peerDescriptor: PeerDescriptor): void;
36
+ stop(): Promise<void>;
37
+ isOffering(targetPeerDescriptor: PeerDescriptor): boolean;
38
+ }