@streamr/dht 100.0.0-testnet-three.6 → 100.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +12 -8
  3. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +1 -1
  4. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +1 -1
  5. package/dist/src/connection/ConnectionLockRpcRemote.js +1 -1
  6. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  7. package/dist/src/connection/{ConnectionLockHandler.d.ts → ConnectionLockStates.d.ts} +3 -3
  8. package/dist/src/connection/{ConnectionLockHandler.js → ConnectionLockStates.js} +17 -9
  9. package/dist/src/connection/ConnectionLockStates.js.map +1 -0
  10. package/dist/src/connection/ConnectionManager.d.ts +9 -7
  11. package/dist/src/connection/ConnectionManager.js +16 -18
  12. package/dist/src/connection/ConnectionManager.js.map +1 -1
  13. package/dist/src/connection/ConnectorFacade.js +1 -1
  14. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  15. package/dist/src/connection/Handshaker.js +6 -13
  16. package/dist/src/connection/Handshaker.js.map +1 -1
  17. package/dist/src/connection/ManagedConnection.d.ts +2 -2
  18. package/dist/src/connection/ManagedConnection.js +8 -8
  19. package/dist/src/connection/ManagedConnection.js.map +1 -1
  20. package/dist/src/connection/connectivityChecker.d.ts +1 -1
  21. package/dist/src/connection/connectivityChecker.js +8 -8
  22. package/dist/src/connection/connectivityChecker.js.map +1 -1
  23. package/dist/src/connection/connectivityRequestHandler.d.ts +2 -2
  24. package/dist/src/connection/connectivityRequestHandler.js +10 -11
  25. package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
  26. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +1 -0
  27. package/dist/src/connection/webrtc/WebrtcConnector.js +13 -8
  28. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  29. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +2 -0
  30. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +4 -6
  31. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  32. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +28 -0
  33. package/dist/src/connection/websocket/{ClientWebsocket.js → AbstractWebsocketClientConnection.js} +42 -68
  34. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js.map +1 -0
  35. package/dist/src/connection/websocket/NodeWebsocketClientConnection.d.ts +7 -0
  36. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js +39 -0
  37. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js.map +1 -0
  38. package/dist/src/connection/websocket/WebsocketConnector.js +26 -23
  39. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
  40. package/dist/src/connection/websocket/WebsocketServer.js +25 -35
  41. package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
  42. package/dist/src/connection/websocket/{ServerWebsocket.d.ts → WebsocketServerConnection.d.ts} +4 -5
  43. package/dist/src/connection/websocket/{ServerWebsocket.js → WebsocketServerConnection.js} +18 -51
  44. package/dist/src/connection/websocket/WebsocketServerConnection.js.map +1 -0
  45. package/dist/src/dht/DhtNode.d.ts +15 -8
  46. package/dist/src/dht/DhtNode.js +62 -31
  47. package/dist/src/dht/DhtNode.js.map +1 -1
  48. package/dist/src/dht/DhtNodeRpcLocal.d.ts +5 -1
  49. package/dist/src/dht/DhtNodeRpcLocal.js +10 -0
  50. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  51. package/dist/src/dht/DhtNodeRpcRemote.d.ts +3 -0
  52. package/dist/src/dht/DhtNodeRpcRemote.js +16 -1
  53. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  54. package/dist/src/dht/ExternalApiRpcLocal.d.ts +2 -2
  55. package/dist/src/dht/ExternalApiRpcLocal.js +3 -3
  56. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  57. package/dist/src/dht/ExternalApiRpcRemote.d.ts +1 -1
  58. package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
  59. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  60. package/dist/src/dht/PeerManager.d.ts +15 -3
  61. package/dist/src/dht/PeerManager.js +54 -40
  62. package/dist/src/dht/PeerManager.js.map +1 -1
  63. package/dist/src/dht/contact/RingContactList.d.ts +31 -0
  64. package/dist/src/dht/contact/RingContactList.js +133 -0
  65. package/dist/src/dht/contact/RingContactList.js.map +1 -0
  66. package/dist/src/dht/contact/SortedContactList.d.ts +2 -1
  67. package/dist/src/dht/contact/SortedContactList.js +19 -17
  68. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  69. package/dist/src/dht/contact/ringIdentifiers.d.ts +16 -0
  70. package/dist/src/dht/contact/ringIdentifiers.js +54 -0
  71. package/dist/src/dht/contact/ringIdentifiers.js.map +1 -0
  72. package/dist/src/dht/discovery/DiscoverySession.js +3 -1
  73. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  74. package/dist/src/dht/discovery/PeerDiscovery.d.ts +6 -2
  75. package/dist/src/dht/discovery/PeerDiscovery.js +41 -4
  76. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  77. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +29 -0
  78. package/dist/src/dht/discovery/RingDiscoverySession.js +125 -0
  79. package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -0
  80. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +1 -1
  81. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
  82. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +1 -1
  83. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -1
  84. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +0 -1
  85. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
  86. package/dist/src/dht/routing/Router.d.ts +0 -1
  87. package/dist/src/dht/routing/Router.js +0 -1
  88. package/dist/src/dht/routing/Router.js.map +1 -1
  89. package/dist/src/dht/routing/RouterRpcLocal.d.ts +0 -1
  90. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  91. package/dist/src/dht/routing/RouterRpcRemote.js +2 -2
  92. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  93. package/dist/src/dht/routing/RoutingSession.js +2 -2
  94. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  95. package/dist/src/dht/store/LocalDataStore.js +2 -2
  96. package/dist/src/dht/store/LocalDataStore.js.map +1 -1
  97. package/dist/src/dht/store/StoreManager.js +2 -2
  98. package/dist/src/dht/store/StoreManager.js.map +1 -1
  99. package/dist/src/exports.d.ts +3 -2
  100. package/dist/src/exports.js +3 -3
  101. package/dist/src/exports.js.map +1 -1
  102. package/dist/src/helpers/createPeerDescriptor.d.ts +1 -1
  103. package/dist/src/helpers/createPeerDescriptor.js +2 -1
  104. package/dist/src/helpers/createPeerDescriptor.js.map +1 -1
  105. package/dist/src/helpers/version.d.ts +6 -0
  106. package/dist/src/helpers/version.js +38 -0
  107. package/dist/src/helpers/version.js.map +1 -0
  108. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +16 -6
  109. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +11 -4
  110. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  111. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +98 -87
  112. package/dist/src/proto/packages/dht/protos/DhtRpc.js +45 -49
  113. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  114. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +10 -4
  115. package/dist/src/transport/RoutingRpcCommunicator.js +0 -2
  116. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  117. package/karma.config.js +4 -1
  118. package/package.json +12 -8
  119. package/protos/DhtRpc.proto +21 -21
  120. package/src/connection/ConnectionLockRpcLocal.ts +1 -1
  121. package/src/connection/ConnectionLockRpcRemote.ts +2 -2
  122. package/src/connection/{ConnectionLockHandler.ts → ConnectionLockStates.ts} +14 -6
  123. package/src/connection/ConnectionManager.ts +21 -22
  124. package/src/connection/ConnectorFacade.ts +1 -2
  125. package/src/connection/Handshaker.ts +7 -15
  126. package/src/connection/ManagedConnection.ts +8 -8
  127. package/src/connection/connectivityChecker.ts +9 -10
  128. package/src/connection/connectivityRequestHandler.ts +16 -16
  129. package/src/connection/webrtc/BrowserWebrtcConnection.ts +18 -0
  130. package/src/connection/webrtc/NodeWebrtcConnection.ts +1 -1
  131. package/src/connection/webrtc/WebrtcConnector.ts +14 -8
  132. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +5 -5
  133. package/src/connection/websocket/{ClientWebsocket.ts → AbstractWebsocketClientConnection.ts} +57 -70
  134. package/src/connection/websocket/BrowserWebsocketClientConnection.ts +44 -0
  135. package/src/connection/websocket/NodeWebsocketClientConnection.ts +39 -0
  136. package/src/connection/websocket/WebsocketConnector.ts +27 -28
  137. package/src/connection/websocket/WebsocketServer.ts +27 -42
  138. package/src/connection/websocket/{ServerWebsocket.ts → WebsocketServerConnection.ts} +15 -56
  139. package/src/dht/DhtNode.ts +85 -50
  140. package/src/dht/DhtNodeRpcLocal.ts +16 -0
  141. package/src/dht/DhtNodeRpcRemote.ts +19 -1
  142. package/src/dht/ExternalApiRpcLocal.ts +5 -5
  143. package/src/dht/ExternalApiRpcRemote.ts +4 -4
  144. package/src/dht/PeerManager.ts +70 -44
  145. package/src/dht/contact/RingContactList.ts +151 -0
  146. package/src/dht/contact/SortedContactList.ts +22 -18
  147. package/src/dht/contact/ringIdentifiers.ts +62 -0
  148. package/src/dht/discovery/DiscoverySession.ts +3 -1
  149. package/src/dht/discovery/PeerDiscovery.ts +45 -6
  150. package/src/dht/discovery/RingDiscoverySession.ts +162 -0
  151. package/src/dht/recursive-operation/RecursiveOperationManager.ts +1 -1
  152. package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +1 -1
  153. package/src/dht/recursive-operation/RecursiveOperationSession.ts +1 -3
  154. package/src/dht/routing/Router.ts +0 -2
  155. package/src/dht/routing/RouterRpcLocal.ts +0 -1
  156. package/src/dht/routing/RouterRpcRemote.ts +2 -2
  157. package/src/dht/routing/RoutingSession.ts +2 -2
  158. package/src/dht/store/LocalDataStore.ts +1 -1
  159. package/src/dht/store/StoreManager.ts +2 -2
  160. package/src/exports.ts +3 -2
  161. package/src/helpers/createPeerDescriptor.ts +2 -1
  162. package/src/helpers/version.ts +32 -0
  163. package/src/proto/packages/dht/protos/DhtRpc.client.ts +22 -9
  164. package/src/proto/packages/dht/protos/DhtRpc.server.ts +10 -4
  165. package/src/proto/packages/dht/protos/DhtRpc.ts +122 -100
  166. package/src/transport/RoutingRpcCommunicator.ts +1 -2
  167. package/test/benchmark/Find.test.ts +3 -4
  168. package/test/benchmark/KademliaCorrectness.test.ts +14 -8
  169. package/test/benchmark/RingCorrectness.test.ts +157 -0
  170. package/test/benchmark/WebsocketServerMemoryLeak.test.ts +2 -2
  171. package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +72 -0
  172. package/test/data/generateGroundTruthData.ts +2 -2
  173. package/test/end-to-end/memory-leak.test.ts +1 -2
  174. package/test/integration/ConnectionManager.test.ts +28 -10
  175. package/test/integration/ConnectivityChecking.test.ts +3 -15
  176. package/test/integration/DhtNodeExternalAPI.test.ts +6 -6
  177. package/test/integration/Find.test.ts +6 -6
  178. package/test/integration/Layer1-scale.test.ts +0 -1
  179. package/test/integration/ReplicateData.test.ts +4 -4
  180. package/test/integration/RouteMessage.test.ts +1 -6
  181. package/test/integration/RouterRpcRemote.test.ts +1 -3
  182. package/test/integration/SimultaneousConnections.test.ts +9 -10
  183. package/test/integration/Store.test.ts +4 -4
  184. package/test/integration/StoreAndDelete.test.ts +5 -5
  185. package/test/integration/StoreOnDhtWithThreeNodes.test.ts +5 -5
  186. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +3 -3
  187. package/test/integration/WebrtcConnectionManagement.test.ts +3 -9
  188. package/test/integration/Websocket.test.ts +2 -2
  189. package/test/integration/WebsocketConnectionManagement.test.ts +1 -6
  190. package/test/integration/rpc-connections-over-webrpc.test.ts +1 -2
  191. package/test/unit/PeerManager.test.ts +44 -10
  192. package/test/unit/RecursiveOperationManager.test.ts +14 -8
  193. package/test/unit/RecursiveOperationSession.test.ts +1 -1
  194. package/test/unit/Router.test.ts +0 -3
  195. package/test/unit/RoutingSession.test.ts +1 -2
  196. package/test/unit/connectivityRequestHandler.test.ts +5 -9
  197. package/test/unit/createPeerDescriptor.test.ts +12 -6
  198. package/test/unit/version.test.ts +18 -0
  199. package/test/utils/utils.ts +60 -47
  200. package/tsconfig.browser.json +2 -1
  201. package/tsconfig.jest.json +4 -2
  202. package/tsconfig.node.json +4 -2
  203. package/dist/src/connection/ConnectionLockHandler.js.map +0 -1
  204. package/dist/src/connection/websocket/ClientWebsocket.d.ts +0 -17
  205. package/dist/src/connection/websocket/ClientWebsocket.js.map +0 -1
  206. package/dist/src/connection/websocket/ServerWebsocket.js.map +0 -1
  207. package/dist/src/helpers/MapWithTtl.d.ts +0 -14
  208. package/dist/src/helpers/MapWithTtl.js +0 -60
  209. package/dist/src/helpers/MapWithTtl.js.map +0 -1
  210. package/dist/src/helpers/versionCompatibility.d.ts +0 -2
  211. package/dist/src/helpers/versionCompatibility.js +0 -18
  212. package/dist/src/helpers/versionCompatibility.js.map +0 -1
  213. package/src/helpers/MapWithTtl.ts +0 -71
  214. package/src/helpers/versionCompatibility.ts +0 -13
  215. package/test/unit/versionCompatibility.test.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedConnection.js","sourceRoot":"","sources":["../../../src/connection/ManagedConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManagedConnection.js","sourceRoot":"","sources":["../../../src/connection/ManagedConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uDAAwC;AACxC,6CAAyC;AACzC,gEAAoF;AACpF,0CAAsF;AACtF,kEAAwC;AACxC,2DAA0E;AAC1E,gDAAwE;AACxE,6CAAuD;AAcvD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAIjC,MAAa,iBAAkB,SAAQ,uBAAoB;IAE/C,cAAc,CAAc;IAC5B,mBAAmB,GAAG,IAAI,uBAAY,EAAsB,CAAA;IAC5D,YAAY,GAAiB,EAAE,CAAA;IAC/B,WAAW,GAAiB,EAAE,CAAA;IAC/B,YAAY,CAAc;IACzB,oBAAoB,CAAiB;IACtC,cAAc,CAAgB;IAC7B,UAAU,CAAa;IACvB,kBAAkB,GAAG,KAAK,CAAA;IAC1B,iBAAiB,GAAW,IAAI,CAAC,GAAG,EAAE,CAAA;IACtC,OAAO,GAAG,KAAK,CAAA;IACf,2BAA2B,GAAG,KAAK,CAAA;IACnC,OAAO,GAAG,KAAK,CAAA;IAChB,yBAAyB,GAAG,KAAK,CAAA;IAChC,mBAAmB,CAAgB;IACjC,kBAAkB,CAAc;IAChC,kBAAkB,CAAc;IAC1C,mEAAmE;IAC3D,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE5B,YACI,mBAAmC,EACnC,cAA8B,EAC9B,kBAAgC,EAChC,kBAAgC,EAChC,oBAAqC;QAErC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,IAAA,qCAAwB,GAAE,CAAA;QAE9C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEpD,MAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,cAAc,CAAC,CAAA;QACrE,IAAI,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,oGAAoG,CAAC,CAAA;QACxI,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;YAE9E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC9C,IAAI,KAAK,KAAK,uBAAc,CAAC,8BAA8B,IAAI,KAAK,KAAK,uBAAc,CAAC,mBAAmB,EAAE,CAAC;oBAC1G,+DAA+D;oBAC/D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACrB,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,KAAK,CAAC,IAAA,wDAAoC,EAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,GAAG,KAAK,CAAC,CAAA;oBAC5G,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;gBAChC,CAAC;YACL,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,cAA8B,EAAE,EAAE;gBACxE,MAAM,CAAC,KAAK,CAAC,8CAA8C;sBACrD,IAAI,GAAG,IAAA,wDAAoC,EAAC,IAAI,CAAC,oBAAoB,CAAC;sBACtE,wBAAwB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC1D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;gBAC7C,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAA;YAC7C,CAAC,CAAC,CAAA;YAEF,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBACtC,IAAI,CAAC,UAAW,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAA;gBAC3D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAEhE,CAAC;aAAM,CAAC;YACJ,IAAI,kBAAkB,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAA;gBAC9E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,CACnC,oBAAoC,EACpC,OAAe,EACf,oBAAqC,EACvC,EAAE;oBACA,IAAI,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;oBAClD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAA;gBACtF,CAAC,CAAC,CAAA;gBAEF,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAE9D,CAAC;QACL,CAAC;IACL,CAAC;IAED,4FAA4F;IAEnF,EAAE,CACP,KAAmB,EACnB,EAA0B;IAC1B,6EAA6E;IAC7E,OAAa;QAEb,IAAI,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAA;gBACtC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACtC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;QAC5B,OAAO,IAAI,CAAA;IACf,CAAC;IAEQ,IAAI,CACT,KAAmB,EACnB,EAA0B;IAC1B,6EAA6E;IAC7E,OAAa;QAEb,IAAI,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAG,CAAA;oBACtC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;gBACtC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,SAAS;QACZ,OAAO,IAAA,yCAA2B,EAAC,IAAI,CAAC,oBAAqB,CAAC,CAAA;IAClE,CAAC;IAEM,oBAAoB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAEM,uBAAuB,CAAC,cAA8B;QACzD,IAAI,CAAC,oBAAoB,GAAG,cAAc,CAAA;IAC9C,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,oBAAoB,CAAA;IACpC,CAAC;IAEO,oBAAoB,CAAC,cAA8B;QACvD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEnC,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAA;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC9B,IAAI,CAAC,UAAW,CAAC,IAAI,EAAE,CAAA;QAEvB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACrC,IAAI,CAAC,cAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAC3C,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC5C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAA;IACnD,CAAC;IAEM,oBAAoB,CAAC,IAAiB;QACzC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAE1B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAiB,EAAE,EAAE;YAClC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACnC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAG,CAAC,CAAA;YAC9D,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACnC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC7C,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAChD,CAAC;IAEO,cAAc,CAAC,aAAsB;QACzC,MAAM,CAAC,KAAK,CAAC,IAAA,wDAAoC,EAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,GAAG,aAAa,CAAC,CAAA;QACpH,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,OAAM;QACV,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgB,EAAE,OAAgB;QACzC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEnC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,iBAAiB,CAAC,oEAAoE,CAAC,CAAA;QACzG,CAAC;aAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAE3C,IAAI,MAAsD,CAAA;YAE1D,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAqB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,EACzF,IAAI,CAAC,mBAAmB,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAA,CAAE,4CAA4C;YAC7H,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAA,wDAAoC,EAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;oBACvG,cAAc,EAAE,IAAI,CAAC,oBAAoB;oBACzC,IAAI,EAAE,IAAI,CAAC,cAAc;oBACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO;iBACtC,CAAC,CAAA;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBACvB,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAA;YACxD,CAAC;YAED,IAAI,MAAM,CAAC,UAAU,KAAK,qBAAqB,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;YACrD,CAAC;YACD,gDAAgD;QACpD,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,IAAgB;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;IACL,CAAC;IAEM,iCAAiC;QACpC,MAAM,CAAC,KAAK,CAAC,IAAA,wDAAoC,EAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,oCAAoC,CAAC,CAAA;QACpH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAA;QACxC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACpD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAA;QACvC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAC/C,CAAC;IAEM,eAAe;QAClB,iEAAiE;QACjE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YACnF,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAA;QAE3C,CAAC;aAAM,CAAC,CAAE,8DAA8D;YACpE,IAAI,CAAC,UAAW,CAAC,qBAAqB,EAAE,CAAA;YACxC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAmB,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAA;IACzD,CAAC;IAEM,eAAe,CAAC,KAAqB;QACxC,IAAI,CAAC,UAAW,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,aAAsB;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;QACzD,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QAEpD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;QACnD,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;QACvD,CAAC;aAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;QACvD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;QAC5C,CAAC;IACL,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YAEnB,IAAI,CAAC,kBAAkB,EAAE,CAAA;YACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAA;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAA;YACtC,CAAC;iBAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACjC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,CAAA;YACtC,CAAC;QACL,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAClC,CAAC;IAED,iBAAiB;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAA;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,OAAO,GAAG,CAAA;IACd,CAAC;CACJ;AAvUD,8CAuUC"}
@@ -6,4 +6,4 @@ export declare const connectAsync: ({ url, selfSigned, timeoutMs }: {
6
6
  timeoutMs?: number | undefined;
7
7
  }) => Promise<IConnection>;
8
8
  export declare const CONNECTIVITY_CHECKER_SERVICE_ID = "system/connectivity-checker";
9
- export declare const sendConnectivityRequest: (request: ConnectivityRequest, entryPoint: PeerDescriptor, localVersion: string) => Promise<ConnectivityResponse>;
9
+ export declare const sendConnectivityRequest: (request: ConnectivityRequest, entryPoint: PeerDescriptor) => Promise<ConnectivityResponse>;
@@ -28,13 +28,13 @@ const utils_1 = require("@streamr/utils");
28
28
  const uuid_1 = require("uuid");
29
29
  const Err = __importStar(require("../helpers/errors"));
30
30
  const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
31
- const ClientWebsocket_1 = require("./websocket/ClientWebsocket");
31
+ const NodeWebsocketClientConnection_1 = require("./websocket/NodeWebsocketClientConnection");
32
32
  const WebsocketConnector_1 = require("./websocket/WebsocketConnector");
33
- const versionCompatibility_1 = require("../helpers/versionCompatibility");
33
+ const version_1 = require("../helpers/version");
34
34
  const logger = new utils_1.Logger(module);
35
35
  // TODO use config option or named constant?
36
36
  const connectAsync = async ({ url, selfSigned, timeoutMs = 1000 }) => {
37
- const socket = new ClientWebsocket_1.ClientWebsocket();
37
+ const socket = new NodeWebsocketClientConnection_1.WebsocketClientConnection();
38
38
  let result;
39
39
  try {
40
40
  result = await (0, utils_1.runAndRaceEvents3)([
@@ -52,7 +52,7 @@ const connectAsync = async ({ url, selfSigned, timeoutMs = 1000 }) => {
52
52
  exports.connectAsync = connectAsync;
53
53
  exports.CONNECTIVITY_CHECKER_SERVICE_ID = 'system/connectivity-checker';
54
54
  const CONNECTIVITY_CHECKER_TIMEOUT = 5000;
55
- const sendConnectivityRequest = async (request, entryPoint, localVersion) => {
55
+ const sendConnectivityRequest = async (request, entryPoint) => {
56
56
  let outgoingConnection;
57
57
  const wsServerInfo = {
58
58
  host: entryPoint.websocket.host,
@@ -73,7 +73,7 @@ const sendConnectivityRequest = async (request, entryPoint, localVersion) => {
73
73
  // send connectivity request
74
74
  const msg = {
75
75
  serviceId: exports.CONNECTIVITY_CHECKER_SERVICE_ID,
76
- messageType: DhtRpc_1.MessageType.CONNECTIVITY_REQUEST, messageId: (0, uuid_1.v4)(),
76
+ messageId: (0, uuid_1.v4)(),
77
77
  body: {
78
78
  oneofKind: 'connectivityRequest',
79
79
  connectivityRequest: request
@@ -97,11 +97,11 @@ const sendConnectivityRequest = async (request, entryPoint, localVersion) => {
97
97
  const remoteVersion = connectivityResponseMessage.version;
98
98
  outgoingConnection.off('data', listener);
99
99
  clearTimeout(timeoutId);
100
- if ((0, versionCompatibility_1.isCompatibleVersion)(localVersion, remoteVersion)) {
100
+ if ((0, version_1.isMaybeSupportedVersion)(remoteVersion)) {
101
101
  resolve(connectivityResponseMessage);
102
102
  }
103
103
  else {
104
- reject(`Invalid version: ${remoteVersion}`);
104
+ reject(`Unsupported version: ${remoteVersion}`);
105
105
  }
106
106
  }
107
107
  else {
@@ -109,7 +109,7 @@ const sendConnectivityRequest = async (request, entryPoint, localVersion) => {
109
109
  }
110
110
  }
111
111
  catch (err) {
112
- logger.trace(`Could not parse message: ${err}`);
112
+ logger.trace('Could not parse message', { err });
113
113
  }
114
114
  };
115
115
  outgoingConnection.on('data', listener);
@@ -1 +1 @@
1
- {"version":3,"file":"connectivityChecker.js","sourceRoot":"","sources":["../../../src/connection/connectivityChecker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAsF;AACtF,+BAAyB;AACzB,uDAAwC;AACxC,gEAG4C;AAE5C,iEAA6D;AAC7D,uEAAiF;AACjF,0EAAqE;AAErE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,4CAA4C;AACrC,MAAM,YAAY,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI,EACV,EACpC,EAAE;IACtB,MAAM,MAAM,GAAG,IAAI,iCAAe,EAAE,CAAA;IACpC,IAAI,MAAoD,CAAA;IACxD,IAAI,CAAC;QACD,MAAM,GAAG,MAAM,IAAA,yBAAiB,EAAmB;YAC/C,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA,CAAC,CAAC;SAAC,EAC9C,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,EAC9B,SAAS,CAAC,CAAA;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,gCAAgC,CAAC,CAAA;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,CAAA;IACzE,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAjBY,QAAA,YAAY,gBAiBxB;AAEY,QAAA,+BAA+B,GAAG,6BAA6B,CAAA;AAC5E,MAAM,4BAA4B,GAAG,IAAI,CAAA;AAElC,MAAM,uBAAuB,GAAG,KAAK,EACxC,OAA4B,EAC5B,UAA0B,EAC1B,YAAoB,EACS,EAAE;IAC/B,IAAI,kBAA+B,CAAA;IACnC,MAAM,YAAY,GAAG;QACjB,IAAI,EAAE,UAAU,CAAC,SAAU,CAAC,IAAI;QAChC,IAAI,EAAE,UAAU,CAAC,SAAU,CAAC,IAAI;QAChC,GAAG,EAAE,UAAU,CAAC,SAAU,CAAC,GAAG;KACjC,CAAA;IACD,MAAM,GAAG,GAAG,IAAA,qDAAgC,EAAC,YAAY,EAAE,qBAAqB,CAAC,CAAA;IACjF,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAA;IACpE,IAAI,CAAC;QACD,kBAAkB,GAAG,MAAM,IAAA,oBAAY,EAAC;YACpC,GAAG;YACH,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,2DAA2D,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;IACvG,CAAC;IACD,4BAA4B;IAC5B,MAAM,GAAG,GAAY;QACjB,SAAS,EAAE,uCAA+B;QAC1C,WAAW,EAAE,oBAAW,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAA,SAAE,GAAE;QAC9D,IAAI,EAAE;YACF,SAAS,EAAE,qBAAqB;YAChC,mBAAmB,EAAE,OAAO;SAC/B;KACJ,CAAA;IACD,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAA4C,EAAE,MAAM,EAAE,EAAE;YACxE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,+DAA+D;gBAC/D,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC/B,MAAM,CAAC,IAAI,GAAG,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAA;YAC1D,CAAC,EAAE,4BAA4B,CAAC,CAAA;YAChC,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAE,EAAE;gBACnC,+DAA+D;gBAC/D,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC/B,IAAI,CAAC;oBACD,MAAM,OAAO,GAAY,gBAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;oBAClD,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,sBAAsB,EAAE,CAAC;wBACpD,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;wBACzF,MAAM,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAA;wBACrE,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAA;wBACzD,kBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;wBACzC,YAAY,CAAC,SAAS,CAAC,CAAA;wBACvB,IAAI,IAAA,0CAAmB,EAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;4BACnD,OAAO,CAAC,2BAA2B,CAAC,CAAA;wBACxC,CAAC;6BAAM,CAAC;4BACJ,MAAM,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAA;wBAC/C,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,OAAM;oBACV,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAA;gBACnD,CAAC;YACL,CAAC,CAAA;YACD,kBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IACD,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAA;QACpC,kBAAkB,CAAC,IAAI,CAAC,gBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,MAAM,CAAC,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChF,OAAO,MAAM,UAAU,CAAA;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QAClD,MAAM,CAAC,CAAA;IACX,CAAC;AACL,CAAC,CAAA;AAxEY,QAAA,uBAAuB,2BAwEnC"}
1
+ {"version":3,"file":"connectivityChecker.js","sourceRoot":"","sources":["../../../src/connection/connectivityChecker.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ServerWebsocket } from './websocket/ServerWebsocket';
1
+ import { WebsocketServerConnection } from './websocket/WebsocketServerConnection';
2
2
  export declare const DISABLE_CONNECTIVITY_PROBE = 0;
3
- export declare const attachConnectivityRequestHandler: (connectionToListenTo: ServerWebsocket) => void;
3
+ export declare const attachConnectivityRequestHandler: (connectionToListenTo: WebsocketServerConnection) => void;
@@ -7,7 +7,7 @@ const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
7
7
  const ConnectionManager_1 = require("./ConnectionManager");
8
8
  const connectivityChecker_1 = require("./connectivityChecker");
9
9
  const WebsocketConnector_1 = require("./websocket/WebsocketConnector");
10
- const package_json_1 = require("../../package.json");
10
+ const version_1 = require("../helpers/version");
11
11
  exports.DISABLE_CONNECTIVITY_PROBE = 0;
12
12
  const logger = new utils_1.Logger(module);
13
13
  const attachConnectivityRequestHandler = (connectionToListenTo) => {
@@ -21,20 +21,20 @@ const attachConnectivityRequestHandler = (connectionToListenTo) => {
21
21
  await handleIncomingConnectivityRequest(connectionToListenTo, message.body.connectivityRequest);
22
22
  logger.trace('handleIncomingConnectivityRequest ok');
23
23
  }
24
- catch (e) {
25
- logger.error('handleIncomingConnectivityRequest', { error: e });
24
+ catch (err1) {
25
+ logger.error('handleIncomingConnectivityRequest', { err: err1 });
26
26
  }
27
27
  }
28
28
  }
29
- catch (err) {
30
- logger.trace(`Could not parse message: ${err}`);
29
+ catch (err2) {
30
+ logger.trace('Could not parse message', { err: err2 });
31
31
  }
32
32
  });
33
33
  };
34
34
  exports.attachConnectivityRequestHandler = attachConnectivityRequestHandler;
35
35
  const handleIncomingConnectivityRequest = async (connection, connectivityRequest) => {
36
- const host = connectivityRequest.host ?? connection.getRemoteAddress();
37
- const ipAddress = connection.getRemoteIp();
36
+ const host = connectivityRequest.host ?? connection.remoteIpAddress;
37
+ const ipAddress = connection.remoteIpAddress;
38
38
  let connectivityResponse;
39
39
  if (connectivityRequest.port !== exports.DISABLE_CONNECTIVITY_PROBE) {
40
40
  connectivityResponse = await connectivityProbe(connectivityRequest, ipAddress, host);
@@ -45,12 +45,11 @@ const handleIncomingConnectivityRequest = async (connection, connectivityRequest
45
45
  host,
46
46
  natType: ConnectionManager_1.NatType.UNKNOWN,
47
47
  ipAddress: (0, utils_1.ipv4ToNumber)(ipAddress),
48
- version: package_json_1.version
48
+ version: version_1.LOCAL_PROTOCOL_VERSION
49
49
  };
50
50
  }
51
51
  const msg = {
52
52
  serviceId: connectivityChecker_1.CONNECTIVITY_CHECKER_SERVICE_ID,
53
- messageType: DhtRpc_1.MessageType.CONNECTIVITY_RESPONSE,
54
53
  messageId: (0, uuid_1.v4)(),
55
54
  body: {
56
55
  oneofKind: 'connectivityResponse',
@@ -81,7 +80,7 @@ const connectivityProbe = async (connectivityRequest, ipAddress, host) => {
81
80
  natType: ConnectionManager_1.NatType.OPEN_INTERNET,
82
81
  websocket: { host, port: connectivityRequest.port, tls: connectivityRequest.tls },
83
82
  ipAddress: (0, utils_1.ipv4ToNumber)(ipAddress),
84
- version: package_json_1.version
83
+ version: version_1.LOCAL_PROTOCOL_VERSION
85
84
  };
86
85
  }
87
86
  catch (err) {
@@ -90,7 +89,7 @@ const connectivityProbe = async (connectivityRequest, ipAddress, host) => {
90
89
  host,
91
90
  natType: ConnectionManager_1.NatType.UNKNOWN,
92
91
  ipAddress: (0, utils_1.ipv4ToNumber)(ipAddress),
93
- version: package_json_1.version
92
+ version: version_1.LOCAL_PROTOCOL_VERSION
94
93
  };
95
94
  }
96
95
  if (outgoingConnection) {
@@ -1 +1 @@
1
- {"version":3,"file":"connectivityRequestHandler.js","sourceRoot":"","sources":["../../../src/connection/connectivityRequestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectivityRequestHandler.js","sourceRoot":"","sources":["../../../src/connection/connectivityRequestHandler.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare class WebrtcConnector {
31
31
  constructor(config: WebrtcConnectorConfig, onNewConnection: (connection: ManagedConnection) => boolean);
32
32
  private registerLocalRpcMethods;
33
33
  connect(targetPeerDescriptor: PeerDescriptor): ManagedConnection;
34
+ private createConnection;
34
35
  setLocalPeerDescriptor(peerDescriptor: PeerDescriptor): void;
35
36
  stop(): Promise<void>;
36
37
  }
@@ -61,6 +61,7 @@ class WebrtcConnector {
61
61
  }
62
62
  registerLocalRpcMethods(config, onNewConnection) {
63
63
  const localRpc = new WebrtcConnectorRpcLocal_1.WebrtcConnectorRpcLocal({
64
+ createConnection: (targetPeerDescriptor) => this.createConnection(targetPeerDescriptor),
64
65
  connect: (targetPeerDescriptor) => this.connect(targetPeerDescriptor),
65
66
  onNewConnection,
66
67
  ongoingConnectAttempts: this.ongoingConnectAttempts,
@@ -111,14 +112,7 @@ class WebrtcConnector {
111
112
  if (existingConnection) {
112
113
  return existingConnection;
113
114
  }
114
- const connection = new NodeWebrtcConnection_1.NodeWebrtcConnection({
115
- remotePeerDescriptor: targetPeerDescriptor,
116
- iceServers: this.config.iceServers,
117
- bufferThresholdLow: this.config.bufferThresholdLow,
118
- bufferThresholdHigh: this.config.bufferThresholdHigh,
119
- connectingTimeout: this.config.connectionTimeout,
120
- portRange: this.config.portRange
121
- });
115
+ const connection = this.createConnection(targetPeerDescriptor);
122
116
  const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
123
117
  const targetNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor);
124
118
  const offering = ((0, offering_1.getOfferer)(localNodeId, targetNodeId) === 'local');
@@ -162,6 +156,17 @@ class WebrtcConnector {
162
156
  }
163
157
  return managedConnection;
164
158
  }
159
+ createConnection(targetPeerDescriptor) {
160
+ return new NodeWebrtcConnection_1.NodeWebrtcConnection({
161
+ remotePeerDescriptor: targetPeerDescriptor,
162
+ iceServers: this.config.iceServers,
163
+ bufferThresholdLow: this.config.bufferThresholdLow,
164
+ bufferThresholdHigh: this.config.bufferThresholdHigh,
165
+ connectingTimeout: this.config.connectionTimeout,
166
+ portRange: this.config.portRange
167
+ // TODO should we pass maxMessageSize?
168
+ });
169
+ }
165
170
  setLocalPeerDescriptor(peerDescriptor) {
166
171
  this.localPeerDescriptor = peerDescriptor;
167
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebrtcConnector.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebrtcConnector.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnector.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ import { IWebrtcConnectorRpc } from '../../proto/packages/dht/protos/DhtRpc.serv
5
5
  import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator';
6
6
  import { ManagedConnection } from '../ManagedConnection';
7
7
  import { ManagedWebrtcConnection } from '../ManagedWebrtcConnection';
8
+ import { NodeWebrtcConnection } from './NodeWebrtcConnection';
8
9
  import { DhtAddress } from '../../identifiers';
9
10
  interface WebrtcConnectorRpcLocalConfig {
11
+ createConnection: (targetPeerDescriptor: PeerDescriptor) => NodeWebrtcConnection;
10
12
  connect: (targetPeerDescriptor: PeerDescriptor) => ManagedConnection;
11
13
  onNewConnection: (connection: ManagedConnection) => boolean;
12
14
  ongoingConnectAttempts: Map<DhtAddress, ManagedWebrtcConnection>;
@@ -6,11 +6,9 @@ const AddressTools_1 = require("../../helpers/AddressTools");
6
6
  const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
7
7
  const DhtRpc_client_1 = require("../../proto/packages/dht/protos/DhtRpc.client");
8
8
  const ManagedWebrtcConnection_1 = require("../ManagedWebrtcConnection");
9
- const NodeWebrtcConnection_1 = require("./NodeWebrtcConnection");
10
9
  const WebrtcConnectorRpcRemote_1 = require("./WebrtcConnectorRpcRemote");
11
10
  const identifiers_1 = require("../../identifiers");
12
- const package_json_1 = require("../../../package.json");
13
- const versionCompatibility_1 = require("../../helpers/versionCompatibility");
11
+ const version_1 = require("../../helpers/version");
14
12
  const logger = new utils_1.Logger(module);
15
13
  class WebrtcConnectorRpcLocal {
16
14
  config;
@@ -33,7 +31,7 @@ class WebrtcConnectorRpcLocal {
33
31
  let managedConnection = this.config.ongoingConnectAttempts.get(nodeId);
34
32
  let connection = managedConnection?.getWebrtcConnection();
35
33
  if (!managedConnection) {
36
- connection = new NodeWebrtcConnection_1.NodeWebrtcConnection({ remotePeerDescriptor: remotePeer });
34
+ connection = this.config.createConnection(remotePeer);
37
35
  managedConnection = new ManagedWebrtcConnection_1.ManagedWebrtcConnection(this.config.getLocalPeerDescriptor(), undefined, connection);
38
36
  managedConnection.setRemotePeerDescriptor(remotePeer);
39
37
  this.config.ongoingConnectAttempts.set(nodeId, managedConnection);
@@ -50,11 +48,11 @@ class WebrtcConnectorRpcLocal {
50
48
  // Always use offerers connectionId
51
49
  connection.setConnectionId(request.connectionId);
52
50
  connection.setRemoteDescription(request.description, 'offer');
53
- managedConnection.on('handshakeRequest', (_sourceDescriptor, sourceVersion) => {
51
+ managedConnection.on('handshakeRequest', (_sourceDescriptor, remoteVersion) => {
54
52
  if (this.config.ongoingConnectAttempts.has(nodeId)) {
55
53
  this.config.ongoingConnectAttempts.delete(nodeId);
56
54
  }
57
- if (!(0, versionCompatibility_1.isCompatibleVersion)(sourceVersion, package_json_1.version)) {
55
+ if (!(0, version_1.isMaybeSupportedVersion)(remoteVersion)) {
58
56
  managedConnection.rejectHandshake(DhtRpc_1.HandshakeError.UNSUPPORTED_VERSION);
59
57
  }
60
58
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"WebrtcConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnectorRpcLocal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebrtcConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnectorRpcLocal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /// <reference types="node" />
2
+ import EventEmitter from 'eventemitter3';
3
+ import { ConnectionEvents, ConnectionID, ConnectionType, IConnection } from '../IConnection';
4
+ export interface Socket {
5
+ binaryType: string;
6
+ readyState: number;
7
+ close(code?: number, reason?: string): void;
8
+ send(data: string | Buffer | ArrayBuffer | ArrayBufferView): void;
9
+ }
10
+ export declare const GOING_AWAY = 1001;
11
+ export declare const CUSTOM_GOING_AWAY = 3001;
12
+ export declare abstract class AbstractWebsocketClientConnection extends EventEmitter<ConnectionEvents> implements IConnection {
13
+ readonly connectionId: ConnectionID;
14
+ protected abstract socket?: Socket;
15
+ connectionType: ConnectionType;
16
+ protected destroyed: boolean;
17
+ constructor();
18
+ abstract connect(address: string, selfSigned?: boolean): void;
19
+ protected abstract stopListening(): void;
20
+ send(data: Uint8Array): void;
21
+ close(gracefulLeave: boolean): Promise<void>;
22
+ destroy(): void;
23
+ protected onOpen(): void;
24
+ protected onMessage(message: Uint8Array): void;
25
+ protected onClose(code: number, reason: string): void;
26
+ protected onError(error: Error): void;
27
+ protected doDisconnect(code?: number, reason?: string): void;
28
+ }
@@ -3,82 +3,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ClientWebsocket = exports.CUSTOM_GOING_AWAY = exports.GOING_AWAY = void 0;
7
- const utils_1 = require("@streamr/utils");
6
+ exports.AbstractWebsocketClientConnection = exports.CUSTOM_GOING_AWAY = exports.GOING_AWAY = void 0;
8
7
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
9
- const websocket_1 = require("websocket");
10
- const IConnection_1 = require("../IConnection");
11
8
  const Connection_1 = require("../Connection");
12
- const logger = new utils_1.Logger(module);
9
+ const IConnection_1 = require("../IConnection");
10
+ const utils_1 = require("@streamr/utils");
13
11
  // https://kapeli.com/cheat_sheets/WebSocket_Status_Codes.docset/Contents/Resources/Documents/index
14
12
  // Browsers send this automatically when closing a tab
15
13
  exports.GOING_AWAY = 1001;
16
14
  // The GOING_AWAY is a reserved code and we shouldn't send that from the application. Therefore
17
15
  // we have a custom counterpart
18
16
  exports.CUSTOM_GOING_AWAY = 3001;
19
- const BINARY_TYPE = 'arraybuffer';
20
- class ClientWebsocket extends eventemitter3_1.default {
17
+ // https://github.com/websockets/ws/blob/master/doc/ws.md#ready-state-constants
18
+ const OPEN = 1;
19
+ const logger = new utils_1.Logger(module);
20
+ class AbstractWebsocketClientConnection extends eventemitter3_1.default {
21
21
  connectionId;
22
- socket;
23
22
  connectionType = IConnection_1.ConnectionType.WEBSOCKET_CLIENT;
24
23
  destroyed = false;
25
24
  constructor() {
26
25
  super();
27
26
  this.connectionId = (0, Connection_1.createRandomConnectionId)();
28
27
  }
29
- // TODO explicit default value for "selfSigned" or make it required
30
- connect(address, selfSigned) {
31
- if (!this.destroyed) {
32
- this.socket = new websocket_1.w3cwebsocket(address, undefined, undefined, undefined, { rejectUnauthorized: !selfSigned });
33
- this.socket.binaryType = BINARY_TYPE;
34
- this.socket.onerror = (error) => {
35
- if (!this.destroyed) {
36
- logger.trace('WebSocket Client error: ' + error?.message, { error });
37
- this.emit('error', error.name);
38
- }
39
- };
40
- this.socket.onopen = () => {
41
- if (!this.destroyed) {
42
- logger.trace('WebSocket Client Connected');
43
- if (this.socket && this.socket.readyState === this.socket.OPEN) {
44
- this.emit('connected');
45
- }
46
- }
47
- };
48
- this.socket.onclose = (event) => {
49
- if (!this.destroyed) {
50
- logger.trace('Websocket Closed');
51
- this.doDisconnect(event.code, event.reason);
52
- }
53
- };
54
- this.socket.onmessage = (message) => {
55
- if (!this.destroyed) {
56
- if (typeof message.data === 'string') {
57
- logger.debug('Received string: \'' + message.data + '\'');
58
- }
59
- else {
60
- this.emit('data', new Uint8Array(message.data));
61
- }
62
- }
63
- };
64
- }
65
- else {
66
- logger.debug('Tried to connect() a stopped connection');
67
- }
68
- }
69
- doDisconnect(code, reason) {
70
- this.destroyed = true;
71
- this.stopListening();
72
- this.socket = undefined;
73
- const gracefulLeave = (code === exports.GOING_AWAY) || (code === exports.CUSTOM_GOING_AWAY);
74
- this.emit('disconnected', gracefulLeave, code, reason);
75
- this.removeAllListeners();
76
- }
77
28
  send(data) {
78
29
  if (!this.destroyed) {
79
- if (this.socket && this.socket.readyState === this.socket.OPEN) {
30
+ if (this.socket && this.socket.readyState === OPEN) {
80
31
  logger.trace(`Sending data with size ${data.byteLength}`);
81
- this.socket?.send(data.buffer);
32
+ this.socket?.send(data);
82
33
  }
83
34
  else {
84
35
  logger.debug('Tried to send data on a non-open connection');
@@ -99,14 +50,6 @@ class ClientWebsocket extends eventemitter3_1.default {
99
50
  logger.debug('Tried to close() a stopped connection');
100
51
  }
101
52
  }
102
- stopListening() {
103
- if (this.socket) {
104
- this.socket.onopen = undefined;
105
- this.socket.onclose = undefined;
106
- this.socket.onerror = undefined;
107
- this.socket.onmessage = undefined;
108
- }
109
- }
110
53
  destroy() {
111
54
  logger.trace('destroy() a connection');
112
55
  if (!this.destroyed) {
@@ -122,6 +65,37 @@ class ClientWebsocket extends eventemitter3_1.default {
122
65
  logger.debug('Tried to destroy() a stopped connection');
123
66
  }
124
67
  }
68
+ onOpen() {
69
+ if (!this.destroyed) {
70
+ logger.trace('WebSocket Client Connected');
71
+ if (this.socket && this.socket.readyState === OPEN) {
72
+ this.emit('connected');
73
+ }
74
+ }
75
+ }
76
+ onMessage(message) {
77
+ this.emit('data', message);
78
+ }
79
+ onClose(code, reason) {
80
+ if (!this.destroyed) {
81
+ logger.trace('Websocket Closed');
82
+ this.doDisconnect(code, reason);
83
+ }
84
+ }
85
+ onError(error) {
86
+ if (!this.destroyed) {
87
+ logger.trace('WebSocket Client error: ' + error?.message, { error });
88
+ this.emit('error', error.name);
89
+ }
90
+ }
91
+ doDisconnect(code, reason) {
92
+ this.destroyed = true;
93
+ this.stopListening();
94
+ this.socket = undefined;
95
+ const gracefulLeave = (code === exports.GOING_AWAY) || (code === exports.CUSTOM_GOING_AWAY);
96
+ this.emit('disconnected', gracefulLeave, code, reason);
97
+ this.removeAllListeners();
98
+ }
125
99
  }
126
- exports.ClientWebsocket = ClientWebsocket;
127
- //# sourceMappingURL=ClientWebsocket.js.map
100
+ exports.AbstractWebsocketClientConnection = AbstractWebsocketClientConnection;
101
+ //# sourceMappingURL=AbstractWebsocketClientConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AbstractWebsocketClientConnection.js","sourceRoot":"","sources":["../../../../src/connection/websocket/AbstractWebsocketClientConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { WebSocket } from 'ws';
2
+ import { AbstractWebsocketClientConnection } from './AbstractWebsocketClientConnection';
3
+ export declare class WebsocketClientConnection extends AbstractWebsocketClientConnection {
4
+ protected socket?: WebSocket;
5
+ connect(address: string, selfSigned?: boolean): void;
6
+ protected stopListening(): void;
7
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebsocketClientConnection = void 0;
4
+ const utils_1 = require("@streamr/utils");
5
+ const ws_1 = require("ws");
6
+ const AbstractWebsocketClientConnection_1 = require("./AbstractWebsocketClientConnection");
7
+ const logger = new utils_1.Logger(module);
8
+ const BINARY_TYPE = 'nodebuffer';
9
+ class WebsocketClientConnection extends AbstractWebsocketClientConnection_1.AbstractWebsocketClientConnection {
10
+ socket;
11
+ // TODO explicit default value for "selfSigned" or make it required
12
+ connect(address, selfSigned) {
13
+ if (!this.destroyed) {
14
+ this.socket = new ws_1.WebSocket(address, { rejectUnauthorized: !selfSigned });
15
+ this.socket.binaryType = BINARY_TYPE;
16
+ this.socket.on('error', (error) => this.onError(error));
17
+ this.socket.on('open', () => this.onOpen());
18
+ this.socket.on('close', (code, reason) => this.onClose(code, (0, utils_1.binaryToUtf8)(reason)));
19
+ this.socket.on('message', (message, isBinary) => {
20
+ if (!this.destroyed) {
21
+ if (isBinary === false) {
22
+ logger.debug('Received string data, only binary data is supported');
23
+ }
24
+ else {
25
+ this.onMessage(new Uint8Array(message));
26
+ }
27
+ }
28
+ });
29
+ }
30
+ else {
31
+ logger.debug('Tried to connect() a stopped connection');
32
+ }
33
+ }
34
+ stopListening() {
35
+ this.socket?.removeAllListeners();
36
+ }
37
+ }
38
+ exports.WebsocketClientConnection = WebsocketClientConnection;
39
+ //# sourceMappingURL=NodeWebsocketClientConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeWebsocketClientConnection.js","sourceRoot":"","sources":["../../../../src/connection/websocket/NodeWebsocketClientConnection.ts"],"names":[],"mappings":";;;AAAA,0CAAqD;AACrD,2BAA8B;AAC9B,2FAAuF;AAEvF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,WAAW,GAAG,YAAY,CAAA;AAEhC,MAAa,yBAA0B,SAAQ,qEAAiC;IAElE,MAAM,CAAY;IAE5B,mEAAmE;IAC5D,OAAO,CAAC,OAAe,EAAE,UAAoB;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAS,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;YACzE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACnG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAe,EAAE,QAAiB,EAAE,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;wBACrB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;oBACvE,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,CAAC;IACL,CAAC;IAES,aAAa;QACnB,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;IACrC,CAAC;CAEJ;AA9BD,8DA8BC"}