@streamr/dht 103.1.2 → 103.2.0-experiment.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 (303) hide show
  1. package/dist/exports-browser.cjs +7636 -0
  2. package/dist/exports-browser.cjs.map +1 -0
  3. package/dist/exports-browser.d.ts +1321 -0
  4. package/dist/exports-browser.js +7611 -0
  5. package/dist/exports-browser.js.map +1 -0
  6. package/dist/exports-nodejs.cjs +7833 -0
  7. package/dist/exports-nodejs.cjs.map +1 -0
  8. package/dist/exports-nodejs.d.ts +1321 -0
  9. package/dist/exports-nodejs.js +7808 -0
  10. package/dist/exports-nodejs.js.map +1 -0
  11. package/package.json +41 -25
  12. package/dist/generated/google/protobuf/any.d.ts +0 -180
  13. package/dist/generated/google/protobuf/any.js +0 -155
  14. package/dist/generated/google/protobuf/any.js.map +0 -1
  15. package/dist/generated/google/protobuf/empty.d.ts +0 -31
  16. package/dist/generated/google/protobuf/empty.js +0 -45
  17. package/dist/generated/google/protobuf/empty.js.map +0 -1
  18. package/dist/generated/google/protobuf/timestamp.d.ts +0 -156
  19. package/dist/generated/google/protobuf/timestamp.js +0 -136
  20. package/dist/generated/google/protobuf/timestamp.js.map +0 -1
  21. package/dist/generated/packages/dht/protos/DhtRpc.client.d.ts +0 -371
  22. package/dist/generated/packages/dht/protos/DhtRpc.client.js +0 -292
  23. package/dist/generated/packages/dht/protos/DhtRpc.client.js.map +0 -1
  24. package/dist/generated/packages/dht/protos/DhtRpc.d.ts +0 -1031
  25. package/dist/generated/packages/dht/protos/DhtRpc.js +0 -702
  26. package/dist/generated/packages/dht/protos/DhtRpc.js.map +0 -1
  27. package/dist/generated/packages/dht/protos/DhtRpc.server.d.ts +0 -168
  28. package/dist/generated/packages/dht/protos/DhtRpc.server.js +0 -3
  29. package/dist/generated/packages/dht/protos/DhtRpc.server.js.map +0 -1
  30. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -87
  31. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js +0 -66
  32. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
  33. package/dist/package.json +0 -61
  34. package/dist/src/connection/Connection.d.ts +0 -12
  35. package/dist/src/connection/Connection.js +0 -30
  36. package/dist/src/connection/Connection.js.map +0 -1
  37. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +0 -22
  38. package/dist/src/connection/ConnectionLockRpcLocal.js +0 -54
  39. package/dist/src/connection/ConnectionLockRpcLocal.js.map +0 -1
  40. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +0 -10
  41. package/dist/src/connection/ConnectionLockRpcRemote.js +0 -61
  42. package/dist/src/connection/ConnectionLockRpcRemote.js.map +0 -1
  43. package/dist/src/connection/ConnectionLockStates.d.ts +0 -27
  44. package/dist/src/connection/ConnectionLockStates.js +0 -114
  45. package/dist/src/connection/ConnectionLockStates.js.map +0 -1
  46. package/dist/src/connection/ConnectionManager.d.ts +0 -85
  47. package/dist/src/connection/ConnectionManager.js +0 -569
  48. package/dist/src/connection/ConnectionManager.js.map +0 -1
  49. package/dist/src/connection/ConnectionsView.d.ts +0 -7
  50. package/dist/src/connection/ConnectionsView.js +0 -3
  51. package/dist/src/connection/ConnectionsView.js.map +0 -1
  52. package/dist/src/connection/ConnectorFacade.d.ts +0 -58
  53. package/dist/src/connection/ConnectorFacade.js +0 -154
  54. package/dist/src/connection/ConnectorFacade.js.map +0 -1
  55. package/dist/src/connection/Handshaker.d.ts +0 -27
  56. package/dist/src/connection/Handshaker.js +0 -179
  57. package/dist/src/connection/Handshaker.js.map +0 -1
  58. package/dist/src/connection/IConnection.d.ts +0 -32
  59. package/dist/src/connection/IConnection.js +0 -12
  60. package/dist/src/connection/IConnection.js.map +0 -1
  61. package/dist/src/connection/ManagedConnection.d.ts +0 -30
  62. package/dist/src/connection/ManagedConnection.js +0 -129
  63. package/dist/src/connection/ManagedConnection.js.map +0 -1
  64. package/dist/src/connection/OutputBuffer.d.ts +0 -9
  65. package/dist/src/connection/OutputBuffer.js +0 -26
  66. package/dist/src/connection/OutputBuffer.js.map +0 -1
  67. package/dist/src/connection/PendingConnection.d.ts +0 -19
  68. package/dist/src/connection/PendingConnection.js +0 -59
  69. package/dist/src/connection/PendingConnection.js.map +0 -1
  70. package/dist/src/connection/connectivityChecker.d.ts +0 -9
  71. package/dist/src/connection/connectivityChecker.js +0 -138
  72. package/dist/src/connection/connectivityChecker.js.map +0 -1
  73. package/dist/src/connection/connectivityRequestHandler.d.ts +0 -4
  74. package/dist/src/connection/connectivityRequestHandler.js +0 -108
  75. package/dist/src/connection/connectivityRequestHandler.js.map +0 -1
  76. package/dist/src/connection/simulator/Simulator.d.ts +0 -36
  77. package/dist/src/connection/simulator/Simulator.js +0 -290
  78. package/dist/src/connection/simulator/Simulator.js.map +0 -1
  79. package/dist/src/connection/simulator/SimulatorConnection.d.ts +0 -18
  80. package/dist/src/connection/simulator/SimulatorConnection.js +0 -123
  81. package/dist/src/connection/simulator/SimulatorConnection.js.map +0 -1
  82. package/dist/src/connection/simulator/SimulatorConnector.d.ts +0 -16
  83. package/dist/src/connection/simulator/SimulatorConnector.js +0 -80
  84. package/dist/src/connection/simulator/SimulatorConnector.js.map +0 -1
  85. package/dist/src/connection/simulator/SimulatorTransport.d.ts +0 -6
  86. package/dist/src/connection/simulator/SimulatorTransport.js +0 -17
  87. package/dist/src/connection/simulator/SimulatorTransport.js.map +0 -1
  88. package/dist/src/connection/simulator/pings.d.ts +0 -21
  89. package/dist/src/connection/simulator/pings.js +0 -61
  90. package/dist/src/connection/simulator/pings.js.map +0 -1
  91. package/dist/src/connection/webrtc/BrowserWebrtcConnection.d.ts +0 -37
  92. package/dist/src/connection/webrtc/BrowserWebrtcConnection.js +0 -229
  93. package/dist/src/connection/webrtc/BrowserWebrtcConnection.js.map +0 -1
  94. package/dist/src/connection/webrtc/IWebrtcConnection.d.ts +0 -21
  95. package/dist/src/connection/webrtc/IWebrtcConnection.js +0 -9
  96. package/dist/src/connection/webrtc/IWebrtcConnection.js.map +0 -1
  97. package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +0 -45
  98. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +0 -229
  99. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +0 -1
  100. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +0 -43
  101. package/dist/src/connection/webrtc/WebrtcConnector.js +0 -208
  102. package/dist/src/connection/webrtc/WebrtcConnector.js.map +0 -1
  103. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +0 -26
  104. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +0 -82
  105. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +0 -1
  106. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +0 -8
  107. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +0 -50
  108. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +0 -1
  109. package/dist/src/connection/webrtc/iceServerAsString.d.ts +0 -2
  110. package/dist/src/connection/webrtc/iceServerAsString.js +0 -17
  111. package/dist/src/connection/webrtc/iceServerAsString.js.map +0 -1
  112. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +0 -27
  113. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js +0 -107
  114. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js.map +0 -1
  115. package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +0 -26
  116. package/dist/src/connection/websocket/AutoCertifierClientFacade.js +0 -39
  117. package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +0 -1
  118. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.d.ts +0 -7
  119. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.js +0 -44
  120. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.js.map +0 -1
  121. package/dist/src/connection/websocket/NodeWebsocketClientConnection.d.ts +0 -7
  122. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js +0 -39
  123. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js.map +0 -1
  124. package/dist/src/connection/websocket/WebsocketClientConnector.d.ts +0 -26
  125. package/dist/src/connection/websocket/WebsocketClientConnector.js +0 -86
  126. package/dist/src/connection/websocket/WebsocketClientConnector.js.map +0 -1
  127. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +0 -18
  128. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js +0 -23
  129. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js.map +0 -1
  130. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.d.ts +0 -5
  131. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js +0 -17
  132. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js.map +0 -1
  133. package/dist/src/connection/websocket/WebsocketServer.d.ts +0 -25
  134. package/dist/src/connection/websocket/WebsocketServer.js +0 -146
  135. package/dist/src/connection/websocket/WebsocketServer.js.map +0 -1
  136. package/dist/src/connection/websocket/WebsocketServerConnection.d.ts +0 -22
  137. package/dist/src/connection/websocket/WebsocketServerConnection.js +0 -101
  138. package/dist/src/connection/websocket/WebsocketServerConnection.js.map +0 -1
  139. package/dist/src/connection/websocket/WebsocketServerConnector.d.ts +0 -44
  140. package/dist/src/connection/websocket/WebsocketServerConnector.js +0 -279
  141. package/dist/src/connection/websocket/WebsocketServerConnector.js.map +0 -1
  142. package/dist/src/dht/DhtNode.d.ts +0 -119
  143. package/dist/src/dht/DhtNode.js +0 -500
  144. package/dist/src/dht/DhtNode.js.map +0 -1
  145. package/dist/src/dht/DhtNodeRpcLocal.d.ts +0 -23
  146. package/dist/src/dht/DhtNodeRpcLocal.js +0 -54
  147. package/dist/src/dht/DhtNodeRpcLocal.js.map +0 -1
  148. package/dist/src/dht/DhtNodeRpcRemote.d.ts +0 -25
  149. package/dist/src/dht/DhtNodeRpcRemote.js +0 -83
  150. package/dist/src/dht/DhtNodeRpcRemote.js.map +0 -1
  151. package/dist/src/dht/ExternalApiRpcLocal.d.ts +0 -18
  152. package/dist/src/dht/ExternalApiRpcLocal.js +0 -32
  153. package/dist/src/dht/ExternalApiRpcLocal.js.map +0 -1
  154. package/dist/src/dht/ExternalApiRpcRemote.d.ts +0 -10
  155. package/dist/src/dht/ExternalApiRpcRemote.js +0 -58
  156. package/dist/src/dht/ExternalApiRpcRemote.js.map +0 -1
  157. package/dist/src/dht/PeerManager.d.ts +0 -63
  158. package/dist/src/dht/PeerManager.js +0 -251
  159. package/dist/src/dht/PeerManager.js.map +0 -1
  160. package/dist/src/dht/contact/Contact.d.ts +0 -8
  161. package/dist/src/dht/contact/Contact.js +0 -18
  162. package/dist/src/dht/contact/Contact.js.map +0 -1
  163. package/dist/src/dht/contact/ContactList.d.ts +0 -19
  164. package/dist/src/dht/contact/ContactList.js +0 -35
  165. package/dist/src/dht/contact/ContactList.js.map +0 -1
  166. package/dist/src/dht/contact/RandomContactList.d.ts +0 -11
  167. package/dist/src/dht/contact/RandomContactList.js +0 -47
  168. package/dist/src/dht/contact/RandomContactList.js.map +0 -1
  169. package/dist/src/dht/contact/RingContactList.d.ts +0 -28
  170. package/dist/src/dht/contact/RingContactList.js +0 -126
  171. package/dist/src/dht/contact/RingContactList.js.map +0 -1
  172. package/dist/src/dht/contact/RpcRemote.d.ts +0 -19
  173. package/dist/src/dht/contact/RpcRemote.js +0 -61
  174. package/dist/src/dht/contact/RpcRemote.js.map +0 -1
  175. package/dist/src/dht/contact/SortedContactList.d.ts +0 -37
  176. package/dist/src/dht/contact/SortedContactList.js +0 -134
  177. package/dist/src/dht/contact/SortedContactList.js.map +0 -1
  178. package/dist/src/dht/contact/getClosestNodes.d.ts +0 -6
  179. package/dist/src/dht/contact/getClosestNodes.js +0 -19
  180. package/dist/src/dht/contact/getClosestNodes.js.map +0 -1
  181. package/dist/src/dht/contact/ringIdentifiers.d.ts +0 -16
  182. package/dist/src/dht/contact/ringIdentifiers.js +0 -54
  183. package/dist/src/dht/contact/ringIdentifiers.js.map +0 -1
  184. package/dist/src/dht/discovery/DiscoverySession.d.ts +0 -29
  185. package/dist/src/dht/discovery/DiscoverySession.js +0 -102
  186. package/dist/src/dht/discovery/DiscoverySession.js.map +0 -1
  187. package/dist/src/dht/discovery/PeerDiscovery.d.ts +0 -42
  188. package/dist/src/dht/discovery/PeerDiscovery.js +0 -193
  189. package/dist/src/dht/discovery/PeerDiscovery.js.map +0 -1
  190. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +0 -28
  191. package/dist/src/dht/discovery/RingDiscoverySession.js +0 -116
  192. package/dist/src/dht/discovery/RingDiscoverySession.js.map +0 -1
  193. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +0 -38
  194. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +0 -165
  195. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +0 -1
  196. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +0 -14
  197. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +0 -26
  198. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +0 -1
  199. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +0 -6
  200. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +0 -44
  201. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +0 -1
  202. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +0 -45
  203. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +0 -185
  204. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +0 -1
  205. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +0 -14
  206. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +0 -20
  207. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +0 -1
  208. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +0 -6
  209. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js +0 -21
  210. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js.map +0 -1
  211. package/dist/src/dht/routing/DuplicateDetector.d.ts +0 -10
  212. package/dist/src/dht/routing/DuplicateDetector.js +0 -31
  213. package/dist/src/dht/routing/DuplicateDetector.js.map +0 -1
  214. package/dist/src/dht/routing/Router.d.ts +0 -35
  215. package/dist/src/dht/routing/Router.js +0 -204
  216. package/dist/src/dht/routing/Router.js.map +0 -1
  217. package/dist/src/dht/routing/RouterRpcLocal.d.ts +0 -20
  218. package/dist/src/dht/routing/RouterRpcLocal.js +0 -67
  219. package/dist/src/dht/routing/RouterRpcLocal.js.map +0 -1
  220. package/dist/src/dht/routing/RouterRpcRemote.d.ts +0 -8
  221. package/dist/src/dht/routing/RouterRpcRemote.js +0 -81
  222. package/dist/src/dht/routing/RouterRpcRemote.js.map +0 -1
  223. package/dist/src/dht/routing/RoutingSession.d.ts +0 -56
  224. package/dist/src/dht/routing/RoutingSession.js +0 -201
  225. package/dist/src/dht/routing/RoutingSession.js.map +0 -1
  226. package/dist/src/dht/routing/RoutingTablesCache.d.ts +0 -24
  227. package/dist/src/dht/routing/RoutingTablesCache.js +0 -46
  228. package/dist/src/dht/routing/RoutingTablesCache.js.map +0 -1
  229. package/dist/src/dht/routing/getPreviousPeer.d.ts +0 -2
  230. package/dist/src/dht/routing/getPreviousPeer.js +0 -12
  231. package/dist/src/dht/routing/getPreviousPeer.js.map +0 -1
  232. package/dist/src/dht/store/LocalDataStore.d.ts +0 -14
  233. package/dist/src/dht/store/LocalDataStore.js +0 -78
  234. package/dist/src/dht/store/LocalDataStore.js.map +0 -1
  235. package/dist/src/dht/store/StoreManager.d.ts +0 -32
  236. package/dist/src/dht/store/StoreManager.js +0 -126
  237. package/dist/src/dht/store/StoreManager.js.map +0 -1
  238. package/dist/src/dht/store/StoreRpcLocal.d.ts +0 -21
  239. package/dist/src/dht/store/StoreRpcLocal.js +0 -65
  240. package/dist/src/dht/store/StoreRpcLocal.js.map +0 -1
  241. package/dist/src/dht/store/StoreRpcRemote.d.ts +0 -7
  242. package/dist/src/dht/store/StoreRpcRemote.js +0 -29
  243. package/dist/src/dht/store/StoreRpcRemote.js.map +0 -1
  244. package/dist/src/exports.d.ts +0 -25
  245. package/dist/src/exports.js +0 -48
  246. package/dist/src/exports.js.map +0 -1
  247. package/dist/src/helpers/AddressTools.d.ts +0 -2
  248. package/dist/src/helpers/AddressTools.js +0 -32
  249. package/dist/src/helpers/AddressTools.js.map +0 -1
  250. package/dist/src/helpers/Connectivity.d.ts +0 -4
  251. package/dist/src/helpers/Connectivity.js +0 -24
  252. package/dist/src/helpers/Connectivity.js.map +0 -1
  253. package/dist/src/helpers/browser/isBrowserEnvironment.d.ts +0 -1
  254. package/dist/src/helpers/browser/isBrowserEnvironment.js +0 -6
  255. package/dist/src/helpers/browser/isBrowserEnvironment.js.map +0 -1
  256. package/dist/src/helpers/browser/isBrowserEnvironment_override.d.ts +0 -1
  257. package/dist/src/helpers/browser/isBrowserEnvironment_override.js +0 -7
  258. package/dist/src/helpers/browser/isBrowserEnvironment_override.js.map +0 -1
  259. package/dist/src/helpers/createPeerDescriptor.d.ts +0 -3
  260. package/dist/src/helpers/createPeerDescriptor.js +0 -58
  261. package/dist/src/helpers/createPeerDescriptor.js.map +0 -1
  262. package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +0 -2
  263. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +0 -30
  264. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +0 -1
  265. package/dist/src/helpers/debugHelpers.d.ts +0 -3
  266. package/dist/src/helpers/debugHelpers.js +0 -11
  267. package/dist/src/helpers/debugHelpers.js.map +0 -1
  268. package/dist/src/helpers/errors.d.ts +0 -72
  269. package/dist/src/helpers/errors.js +0 -97
  270. package/dist/src/helpers/errors.js.map +0 -1
  271. package/dist/src/helpers/offering.d.ts +0 -4
  272. package/dist/src/helpers/offering.js +0 -18
  273. package/dist/src/helpers/offering.js.map +0 -1
  274. package/dist/src/helpers/protoClasses.d.ts +0 -2
  275. package/dist/src/helpers/protoClasses.js +0 -32
  276. package/dist/src/helpers/protoClasses.js.map +0 -1
  277. package/dist/src/helpers/protoToString.d.ts +0 -2
  278. package/dist/src/helpers/protoToString.js +0 -19
  279. package/dist/src/helpers/protoToString.js.map +0 -1
  280. package/dist/src/helpers/version.d.ts +0 -6
  281. package/dist/src/helpers/version.js +0 -38
  282. package/dist/src/helpers/version.js.map +0 -1
  283. package/dist/src/identifiers.d.ts +0 -10
  284. package/dist/src/identifiers.js +0 -31
  285. package/dist/src/identifiers.js.map +0 -1
  286. package/dist/src/rpc-protocol/DhtCallContext.d.ts +0 -12
  287. package/dist/src/rpc-protocol/DhtCallContext.js +0 -17
  288. package/dist/src/rpc-protocol/DhtCallContext.js.map +0 -1
  289. package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +0 -10
  290. package/dist/src/rpc-protocol/DhtRpcOptions.js +0 -3
  291. package/dist/src/rpc-protocol/DhtRpcOptions.js.map +0 -1
  292. package/dist/src/transport/ITransport.d.ts +0 -31
  293. package/dist/src/transport/ITransport.js +0 -9
  294. package/dist/src/transport/ITransport.js.map +0 -1
  295. package/dist/src/transport/ListeningRpcCommunicator.d.ts +0 -11
  296. package/dist/src/transport/ListeningRpcCommunicator.js +0 -31
  297. package/dist/src/transport/ListeningRpcCommunicator.js.map +0 -1
  298. package/dist/src/transport/RoutingRpcCommunicator.d.ts +0 -10
  299. package/dist/src/transport/RoutingRpcCommunicator.js +0 -60
  300. package/dist/src/transport/RoutingRpcCommunicator.js.map +0 -1
  301. package/dist/src/types/ServiceID.d.ts +0 -1
  302. package/dist/src/types/ServiceID.js +0 -3
  303. package/dist/src/types/ServiceID.js.map +0 -1
@@ -1,58 +0,0 @@
1
- import { ConnectivityResponse, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
2
- import { ITransport } from '../transport/ITransport';
3
- import { PortRange, TlsCertificate } from './ConnectionManager';
4
- import { Simulator } from './simulator/Simulator';
5
- import { IceServer } from './webrtc/WebrtcConnector';
6
- import { DhtAddress } from '../identifiers';
7
- import { WebsocketServerConnectorOptions } from './websocket/WebsocketServerConnector';
8
- import { PendingConnection } from './PendingConnection';
9
- export interface ConnectorFacade {
10
- createConnection: (peerDescriptor: PeerDescriptor) => PendingConnection;
11
- getLocalPeerDescriptor: () => PeerDescriptor | undefined;
12
- start: (onNewConnection: (connection: PendingConnection) => boolean, hasConnection: (nodeId: DhtAddress) => boolean, autoCertifierTransport: ITransport) => Promise<void>;
13
- stop: () => Promise<void>;
14
- }
15
- export interface DefaultConnectorFacadeOptions {
16
- transport: ITransport;
17
- websocketHost?: string;
18
- websocketPortRange?: PortRange;
19
- entryPoints?: PeerDescriptor[];
20
- iceServers?: IceServer[];
21
- webrtcAllowPrivateAddresses?: boolean;
22
- webrtcDatachannelBufferThresholdLow?: number;
23
- webrtcDatachannelBufferThresholdHigh?: number;
24
- externalIp?: string;
25
- webrtcPortRange?: PortRange;
26
- maxMessageSize?: number;
27
- tlsCertificate?: TlsCertificate;
28
- websocketServerEnableTls?: boolean;
29
- autoCertifierUrl?: string;
30
- autoCertifierConfigFile?: string;
31
- geoIpDatabaseFolder?: string;
32
- createLocalPeerDescriptor: (connectivityResponse: ConnectivityResponse) => Promise<PeerDescriptor>;
33
- }
34
- export declare class DefaultConnectorFacade implements ConnectorFacade {
35
- private readonly options;
36
- private localPeerDescriptor?;
37
- private websocketConnectorRpcCommunicator?;
38
- private websocketClientConnector?;
39
- private websocketServerConnector?;
40
- private webrtcConnector?;
41
- constructor(options: DefaultConnectorFacadeOptions);
42
- start(onNewConnection: (connection: PendingConnection) => boolean, hasConnection: (nodeId: DhtAddress) => boolean, autoCertifierTransport: ITransport): Promise<void>;
43
- private setLocalPeerDescriptor;
44
- restartWebsocketServerConnector(options: WebsocketServerConnectorOptions): Promise<void>;
45
- createConnection(peerDescriptor: PeerDescriptor): PendingConnection;
46
- getLocalPeerDescriptor(): PeerDescriptor | undefined;
47
- stop(): Promise<void>;
48
- }
49
- export declare class SimulatorConnectorFacade implements ConnectorFacade {
50
- private readonly localPeerDescriptor;
51
- private simulatorConnector?;
52
- private simulator;
53
- constructor(localPeerDescriptor: PeerDescriptor, simulator: Simulator);
54
- start(onNewConnection: (connection: PendingConnection) => boolean): Promise<void>;
55
- createConnection(peerDescriptor: PeerDescriptor): PendingConnection;
56
- getLocalPeerDescriptor(): PeerDescriptor;
57
- stop(): Promise<void>;
58
- }
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SimulatorConnectorFacade = exports.DefaultConnectorFacade = void 0;
4
- const utils_1 = require("@streamr/utils");
5
- const SimulatorConnector_1 = require("./simulator/SimulatorConnector");
6
- const WebrtcConnector_1 = require("./webrtc/WebrtcConnector");
7
- const WebsocketClientConnector_1 = require("./websocket/WebsocketClientConnector");
8
- const WebsocketServerConnector_1 = require("./websocket/WebsocketServerConnector");
9
- const ListeningRpcCommunicator_1 = require("../transport/ListeningRpcCommunicator");
10
- const logger = new utils_1.Logger(module);
11
- class DefaultConnectorFacade {
12
- options;
13
- localPeerDescriptor;
14
- websocketConnectorRpcCommunicator;
15
- websocketClientConnector;
16
- websocketServerConnector;
17
- webrtcConnector;
18
- constructor(options) {
19
- this.options = options;
20
- }
21
- async start(onNewConnection, hasConnection, autoCertifierTransport) {
22
- logger.trace(`Creating WebsocketConnectorRpcLocal`);
23
- this.websocketConnectorRpcCommunicator = new ListeningRpcCommunicator_1.ListeningRpcCommunicator(WebsocketClientConnector_1.WebsocketClientConnector.WEBSOCKET_CONNECTOR_SERVICE_ID, this.options.transport, { rpcRequestTimeout: 15000 } // TODO use options option or named constant?
24
- );
25
- const webSocketClientConnectorOptions = {
26
- // TODO should we use canConnect also for WebrtcConnector? (NET-1142)
27
- onNewConnection,
28
- hasConnection,
29
- rpcCommunicator: this.websocketConnectorRpcCommunicator
30
- };
31
- this.websocketClientConnector = new WebsocketClientConnector_1.WebsocketClientConnector(webSocketClientConnectorOptions);
32
- const webSocketServerConnectorOptions = {
33
- rpcCommunicator: this.websocketConnectorRpcCommunicator,
34
- // TODO should we use canConnect also for WebrtcConnector? (NET-1142)
35
- onNewConnection,
36
- hasConnection,
37
- portRange: this.options.websocketPortRange,
38
- host: this.options.websocketHost,
39
- entrypoints: this.options.entryPoints,
40
- tlsCertificate: this.options.tlsCertificate,
41
- serverEnableTls: this.options.websocketServerEnableTls,
42
- autoCertifierUrl: this.options.autoCertifierUrl,
43
- autoCertifierConfigFile: this.options.autoCertifierConfigFile,
44
- autoCertifierTransport,
45
- maxMessageSize: this.options.maxMessageSize,
46
- geoIpDatabaseFolder: this.options.geoIpDatabaseFolder
47
- };
48
- this.websocketServerConnector = new WebsocketServerConnector_1.WebsocketServerConnector(webSocketServerConnectorOptions);
49
- this.webrtcConnector = new WebrtcConnector_1.WebrtcConnector({
50
- onNewConnection,
51
- transport: this.options.transport,
52
- iceServers: this.options.iceServers,
53
- allowPrivateAddresses: this.options.webrtcAllowPrivateAddresses,
54
- bufferThresholdLow: this.options.webrtcDatachannelBufferThresholdLow,
55
- bufferThresholdHigh: this.options.webrtcDatachannelBufferThresholdHigh,
56
- externalIp: this.options.externalIp,
57
- portRange: this.options.webrtcPortRange,
58
- maxMessageSize: this.options.maxMessageSize
59
- });
60
- await this.websocketServerConnector.start();
61
- // TODO: generate a PeerDescriptor in a single function. Requires changes to the createOwnPeerDescriptor
62
- // function in the options. Currently it's given by the DhtNode and it sets the PeerDescriptor for the
63
- // DhtNode in each call.
64
- // LocalPeerDescriptor could be stored in one place and passed from there to the connectors
65
- const temporarilySelfSigned = (!this.options.tlsCertificate && this.options.websocketServerEnableTls === true);
66
- const connectivityResponse = await this.websocketServerConnector.checkConnectivity(temporarilySelfSigned);
67
- const localPeerDescriptor = await this.options.createLocalPeerDescriptor(connectivityResponse);
68
- this.setLocalPeerDescriptor(localPeerDescriptor);
69
- if (localPeerDescriptor.websocket && !this.options.tlsCertificate && this.options.websocketServerEnableTls) {
70
- try {
71
- await this.websocketServerConnector.autoCertify();
72
- const connectivityResponse = await this.websocketServerConnector.checkConnectivity(false);
73
- const autocertifiedLocalPeerDescriptor = await this.options.createLocalPeerDescriptor(connectivityResponse);
74
- if (autocertifiedLocalPeerDescriptor.websocket !== undefined) {
75
- this.setLocalPeerDescriptor(autocertifiedLocalPeerDescriptor);
76
- }
77
- else {
78
- logger.warn('Connectivity check failed after auto-certification, disabling WebSocket server TLS');
79
- await this.restartWebsocketServerConnector({
80
- ...webSocketServerConnectorOptions,
81
- serverEnableTls: false
82
- });
83
- }
84
- }
85
- catch (err) {
86
- logger.warn('Failed to auto-certify, disabling WebSocket server TLS', { err });
87
- await this.restartWebsocketServerConnector({
88
- ...webSocketServerConnectorOptions,
89
- serverEnableTls: false
90
- });
91
- }
92
- }
93
- }
94
- setLocalPeerDescriptor(peerDescriptor) {
95
- this.localPeerDescriptor = peerDescriptor;
96
- this.websocketServerConnector.setLocalPeerDescriptor(peerDescriptor);
97
- this.websocketClientConnector.setLocalPeerDescriptor(peerDescriptor);
98
- this.webrtcConnector.setLocalPeerDescriptor(peerDescriptor);
99
- }
100
- async restartWebsocketServerConnector(options) {
101
- await this.websocketServerConnector.destroy();
102
- this.websocketServerConnector = new WebsocketServerConnector_1.WebsocketServerConnector(options);
103
- await this.websocketServerConnector.start();
104
- const connectivityResponse = await this.websocketServerConnector.checkConnectivity(false);
105
- const localPeerDescriptor = await this.options.createLocalPeerDescriptor(connectivityResponse);
106
- this.setLocalPeerDescriptor(localPeerDescriptor);
107
- }
108
- createConnection(peerDescriptor) {
109
- if (this.websocketClientConnector.isPossibleToFormConnection(peerDescriptor)) {
110
- return this.websocketClientConnector.connect(peerDescriptor);
111
- }
112
- else if (this.websocketServerConnector.isPossibleToFormConnection(peerDescriptor)) {
113
- return this.websocketServerConnector.connect(peerDescriptor);
114
- }
115
- else {
116
- return this.webrtcConnector.connect(peerDescriptor, false);
117
- }
118
- }
119
- getLocalPeerDescriptor() {
120
- return this.localPeerDescriptor;
121
- }
122
- async stop() {
123
- this.websocketConnectorRpcCommunicator.destroy();
124
- await this.websocketServerConnector.destroy();
125
- await this.websocketClientConnector.destroy();
126
- await this.webrtcConnector.stop();
127
- }
128
- }
129
- exports.DefaultConnectorFacade = DefaultConnectorFacade;
130
- class SimulatorConnectorFacade {
131
- localPeerDescriptor;
132
- simulatorConnector;
133
- simulator;
134
- constructor(localPeerDescriptor, simulator) {
135
- this.localPeerDescriptor = localPeerDescriptor;
136
- this.simulator = simulator;
137
- }
138
- async start(onNewConnection) {
139
- logger.trace(`Creating SimulatorConnector`);
140
- this.simulatorConnector = new SimulatorConnector_1.SimulatorConnector(this.localPeerDescriptor, this.simulator, onNewConnection);
141
- this.simulator.addConnector(this.simulatorConnector);
142
- }
143
- createConnection(peerDescriptor) {
144
- return this.simulatorConnector.connect(peerDescriptor);
145
- }
146
- getLocalPeerDescriptor() {
147
- return this.localPeerDescriptor;
148
- }
149
- async stop() {
150
- await this.simulatorConnector.stop();
151
- }
152
- }
153
- exports.SimulatorConnectorFacade = SimulatorConnectorFacade;
154
- //# sourceMappingURL=ConnectorFacade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ConnectorFacade.js","sourceRoot":"","sources":["../../../src/connection/ConnectorFacade.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAQvC,uEAAmE;AACnE,8DAAqE;AACrE,mFAA+E;AAE/E,mFAAgH;AAEhH,oFAAgF;AAahF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAwBjC,MAAa,sBAAsB;IAEd,OAAO,CAA+B;IAC/C,mBAAmB,CAAiB;IACpC,iCAAiC,CAA2B;IAC5D,wBAAwB,CAA2B;IACnD,wBAAwB,CAA2B;IACnD,eAAe,CAAkB;IACzC,YAAY,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,CACP,eAA2D,EAC3D,aAA8C,EAC9C,sBAAkC;QAElC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACnD,IAAI,CAAC,iCAAiC,GAAG,IAAI,mDAAwB,CACjE,mDAAwB,CAAC,8BAA8B,EACvD,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAE,6CAA6C;SAE9E,CAAA;QACD,MAAM,+BAA+B,GAAG;YACpC,qEAAqE;YACrE,eAAe;YACf,aAAa;YACb,eAAe,EAAE,IAAI,CAAC,iCAAiC;SAC1D,CAAA;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,mDAAwB,CAAC,+BAA+B,CAAC,CAAA;QAE7F,MAAM,+BAA+B,GAAG;YACpC,eAAe,EAAE,IAAI,CAAC,iCAAiC;YACvD,qEAAqE;YACrE,eAAe;YACf,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;YAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;YAChC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;YACrC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAyB;YACvD,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAiB;YAChD,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAwB;YAC9D,sBAAsB;YACtB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;SACxD,CAAA;QACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,mDAAwB,CAAC,+BAA+B,CAAC,CAAA;QAC7F,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CAAC;YACvC,eAAe;YACf,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B;YAC/D,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,mCAAmC;YACpE,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,oCAAoC;YACtE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YACvC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;SAC9C,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAA;QAC3C,wGAAwG;QACxG,sGAAsG;QACtG,yBAAyB;QACzB,2FAA2F;QAC3F,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,KAAK,IAAI,CAAC,CAAA;QAC9G,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;QACzG,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAA;QAC9F,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;QAChD,IAAI,mBAAmB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;YACzG,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,CAAA;gBACjD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBACzF,MAAM,gCAAgC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAA;gBAC3G,IAAI,gCAAgC,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC3D,IAAI,CAAC,sBAAsB,CAAC,gCAAgC,CAAC,CAAA;gBACjE,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;oBACjG,MAAM,IAAI,CAAC,+BAA+B,CAAC;wBACvC,GAAG,+BAA+B;wBAClC,eAAe,EAAE,KAAK;qBACzB,CAAC,CAAA;gBACN,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;gBAC9E,MAAM,IAAI,CAAC,+BAA+B,CAAC;oBACvC,GAAG,+BAA+B;oBAClC,eAAe,EAAE,KAAK;iBACzB,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,cAA8B;QACzD,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAA;QACzC,IAAI,CAAC,wBAAyB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;QACrE,IAAI,CAAC,wBAAyB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;QACrE,IAAI,CAAC,eAAgB,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,OAAwC;QAC1E,MAAM,IAAI,CAAC,wBAAyB,CAAC,OAAO,EAAE,CAAA;QAC9C,IAAI,CAAC,wBAAwB,GAAG,IAAI,mDAAwB,CAAC,OAAO,CAAC,CAAA;QACrE,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAA;QAC3C,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACzF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,oBAAoB,CAAC,CAAA;QAC9F,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAA;IACpD,CAAC;IAED,gBAAgB,CAAC,cAA8B;QAC3C,IAAI,IAAI,CAAC,wBAAyB,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,wBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACjE,CAAC;aAAM,IAAI,IAAI,CAAC,wBAAyB,CAAC,0BAA0B,CAAC,cAAc,CAAC,EAAE,CAAC;YACnF,OAAO,IAAI,CAAC,wBAAyB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,iCAAkC,CAAC,OAAO,EAAE,CAAA;QACjD,MAAM,IAAI,CAAC,wBAAyB,CAAC,OAAO,EAAE,CAAA;QAC9C,MAAM,IAAI,CAAC,wBAAyB,CAAC,OAAO,EAAE,CAAA;QAC9C,MAAM,IAAI,CAAC,eAAgB,CAAC,IAAI,EAAE,CAAA;IACtC,CAAC;CACJ;AAjID,wDAiIC;AAED,MAAa,wBAAwB;IAEhB,mBAAmB,CAAgB;IAC5C,kBAAkB,CAAqB;IACvC,SAAS,CAAW;IAE5B,YAAY,mBAAmC,EAAE,SAAoB;QACjE,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CACP,eAA2D;QAE3D,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAkB,CAC5C,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,SAAS,EACd,eAAe,CAClB,CAAA;QACD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IACxD,CAAC;IAED,gBAAgB,CAAC,cAA8B;QAC3C,OAAO,IAAI,CAAC,kBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC3D,CAAC;IAED,sBAAsB;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,kBAAmB,CAAC,IAAI,EAAE,CAAA;IACzC,CAAC;CACJ;AAlCD,4DAkCC"}
@@ -1,27 +0,0 @@
1
- import { EventEmitter } from 'eventemitter3';
2
- import { Message, PeerDescriptor, HandshakeError } from '../../generated/packages/dht/protos/DhtRpc';
3
- import { IConnection } from './IConnection';
4
- import { PendingConnection } from './PendingConnection';
5
- interface HandshakerEvents {
6
- handshakeRequest: (source: PeerDescriptor, protocolVersion: string, target?: PeerDescriptor) => void;
7
- handshakeCompleted: (remote: PeerDescriptor) => void;
8
- handshakeFailed: (error?: HandshakeError) => void;
9
- }
10
- export declare const createOutgoingHandshaker: (localPeerDescriptor: PeerDescriptor, pendingConnection: PendingConnection, connection: IConnection, targetPeerDescriptor?: PeerDescriptor) => Handshaker;
11
- export declare const createIncomingHandshaker: (localPeerDescriptor: PeerDescriptor, pendingConnection: PendingConnection, connection: IConnection) => Handshaker;
12
- export declare const rejectHandshake: (pendingConnection: PendingConnection, connection: IConnection, handshaker: Handshaker, error: HandshakeError) => void;
13
- export declare const acceptHandshake: (handshaker: Handshaker, pendingConnection: PendingConnection, connection: IConnection) => void;
14
- export declare const createHandshakeRequest: (localPeerDescriptor: PeerDescriptor, remotePeerDescriptor: PeerDescriptor) => Message;
15
- export declare const createHandshakeResponse: (localPeerDescriptor: PeerDescriptor, error?: HandshakeError) => Message;
16
- export declare class Handshaker extends EventEmitter<HandshakerEvents> {
17
- static readonly HANDSHAKER_SERVICE_ID = "system/handshaker";
18
- private localPeerDescriptor;
19
- private connection;
20
- private readonly onDataListener;
21
- constructor(localPeerDescriptor: PeerDescriptor, connection: IConnection);
22
- private onData;
23
- sendHandshakeRequest(remotePeerDescriptor?: PeerDescriptor): void;
24
- sendHandshakeResponse(error?: HandshakeError): void;
25
- stop(): void;
26
- }
27
- export {};
@@ -1,179 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Handshaker = exports.createHandshakeResponse = exports.createHandshakeRequest = exports.acceptHandshake = exports.rejectHandshake = exports.createIncomingHandshaker = exports.createOutgoingHandshaker = void 0;
4
- const utils_1 = require("@streamr/utils");
5
- const eventemitter3_1 = require("eventemitter3");
6
- const uuid_1 = require("uuid");
7
- const DhtRpc_1 = require("../../generated/packages/dht/protos/DhtRpc");
8
- const version_1 = require("../helpers/version");
9
- const identifiers_1 = require("../identifiers");
10
- const package_json_1 = require("../../package.json");
11
- const logger = new utils_1.Logger(module);
12
- // Optimally the Outgoing and Incoming Handshakers could be their own separate classes
13
- // However, in cases where the PeerDescriptor of the other end of the connection can be known
14
- // only after a HandshakeRequest a base Handshaker class is needed as the IncomingHandshaker currently
15
- // requires knowledge of the other ends PeerDescriptor. (Note PendingConnection requires the remote PeerDescriptor)
16
- const createOutgoingHandshaker = (localPeerDescriptor, pendingConnection, connection, targetPeerDescriptor) => {
17
- const handshaker = new Handshaker(localPeerDescriptor, connection);
18
- const stopHandshaker = () => {
19
- handshaker.stop();
20
- connection.off('disconnected', disconnectedListener);
21
- connection.off('connected', connectedListener);
22
- handshaker.off('handshakeCompleted', handshakeCompletedListener);
23
- handshaker.off('handshakeFailed', handshakeFailedListener);
24
- pendingConnection.off('disconnected', managedConnectionDisconnectedListener);
25
- };
26
- const handshakeFailedListener = (error) => {
27
- if (error === DhtRpc_1.HandshakeError.INVALID_TARGET_PEER_DESCRIPTOR || error === DhtRpc_1.HandshakeError.UNSUPPORTED_PROTOCOL_VERSION) {
28
- pendingConnection.close(false);
29
- stopHandshaker();
30
- }
31
- else {
32
- // Wait for the other end to close the connection
33
- }
34
- };
35
- const handshakeCompletedListener = (peerDescriptor) => {
36
- logger.trace('handshake completed for outgoing connection, ' + (0, identifiers_1.toNodeId)(peerDescriptor));
37
- pendingConnection.onHandshakeCompleted(connection);
38
- stopHandshaker();
39
- };
40
- const connectedListener = () => handshaker.sendHandshakeRequest(targetPeerDescriptor);
41
- const disconnectedListener = (graceful) => {
42
- pendingConnection.close(graceful);
43
- stopHandshaker();
44
- };
45
- const managedConnectionDisconnectedListener = () => {
46
- connection.close(false);
47
- stopHandshaker();
48
- };
49
- handshaker.once('handshakeFailed', handshakeFailedListener);
50
- handshaker.once('handshakeCompleted', handshakeCompletedListener);
51
- connection.once('connected', connectedListener);
52
- connection.once('disconnected', disconnectedListener);
53
- pendingConnection.once('disconnected', managedConnectionDisconnectedListener);
54
- return handshaker;
55
- };
56
- exports.createOutgoingHandshaker = createOutgoingHandshaker;
57
- const createIncomingHandshaker = (localPeerDescriptor, pendingConnection, connection) => {
58
- const handshaker = new Handshaker(localPeerDescriptor, connection);
59
- const stopHandshaker = () => {
60
- handshaker.stop();
61
- pendingConnection.off('disconnected', connectionDisconnected);
62
- connection.off('disconnected', connectionDisconnected);
63
- };
64
- const onHandshakeRequest = () => {
65
- stopHandshaker();
66
- };
67
- const connectionDisconnected = (graceful) => {
68
- pendingConnection.close(graceful);
69
- stopHandshaker();
70
- };
71
- const managedConnectionDisconnected = () => {
72
- connection.close(false);
73
- stopHandshaker();
74
- };
75
- handshaker.on('handshakeRequest', onHandshakeRequest);
76
- connection.once('disconnected', connectionDisconnected);
77
- pendingConnection.once('disconnected', managedConnectionDisconnected);
78
- return handshaker;
79
- };
80
- exports.createIncomingHandshaker = createIncomingHandshaker;
81
- const rejectHandshake = (pendingConnection, connection, handshaker, error) => {
82
- handshaker.sendHandshakeResponse(error);
83
- connection.destroy();
84
- pendingConnection.destroy();
85
- };
86
- exports.rejectHandshake = rejectHandshake;
87
- const acceptHandshake = (handshaker, pendingConnection, connection) => {
88
- handshaker.sendHandshakeResponse();
89
- pendingConnection.onHandshakeCompleted(connection);
90
- };
91
- exports.acceptHandshake = acceptHandshake;
92
- const createHandshakeRequest = (localPeerDescriptor, remotePeerDescriptor) => {
93
- const outgoingHandshake = {
94
- sourcePeerDescriptor: localPeerDescriptor,
95
- targetPeerDescriptor: remotePeerDescriptor,
96
- protocolVersion: version_1.LOCAL_PROTOCOL_VERSION,
97
- applicationVersion: package_json_1.version
98
- };
99
- return {
100
- serviceId: Handshaker.HANDSHAKER_SERVICE_ID,
101
- messageId: (0, uuid_1.v4)(),
102
- body: {
103
- oneofKind: 'handshakeRequest',
104
- handshakeRequest: outgoingHandshake
105
- }
106
- };
107
- };
108
- exports.createHandshakeRequest = createHandshakeRequest;
109
- const createHandshakeResponse = (localPeerDescriptor, error) => {
110
- const outgoingHandshakeResponse = {
111
- sourcePeerDescriptor: localPeerDescriptor,
112
- error,
113
- protocolVersion: version_1.LOCAL_PROTOCOL_VERSION,
114
- applicationVersion: package_json_1.version
115
- };
116
- return {
117
- serviceId: Handshaker.HANDSHAKER_SERVICE_ID,
118
- messageId: (0, uuid_1.v4)(),
119
- body: {
120
- oneofKind: 'handshakeResponse',
121
- handshakeResponse: outgoingHandshakeResponse
122
- }
123
- };
124
- };
125
- exports.createHandshakeResponse = createHandshakeResponse;
126
- class Handshaker extends eventemitter3_1.EventEmitter {
127
- static HANDSHAKER_SERVICE_ID = 'system/handshaker';
128
- localPeerDescriptor;
129
- connection;
130
- onDataListener;
131
- constructor(localPeerDescriptor, connection) {
132
- super();
133
- this.localPeerDescriptor = localPeerDescriptor;
134
- this.connection = connection;
135
- this.onDataListener = (data) => this.onData(data);
136
- this.connection.on('data', this.onDataListener);
137
- }
138
- onData(data) {
139
- try {
140
- const message = DhtRpc_1.Message.fromBinary(data);
141
- if (message.body.oneofKind === 'handshakeRequest') {
142
- logger.trace('handshake request received');
143
- const handshake = message.body.handshakeRequest;
144
- this.emit('handshakeRequest', handshake.sourcePeerDescriptor, handshake.protocolVersion, handshake.targetPeerDescriptor);
145
- }
146
- if (message.body.oneofKind === 'handshakeResponse') {
147
- logger.trace('handshake response received');
148
- const handshake = message.body.handshakeResponse;
149
- const error = !(0, version_1.isMaybeSupportedProtocolVersion)(handshake.protocolVersion)
150
- ? DhtRpc_1.HandshakeError.UNSUPPORTED_PROTOCOL_VERSION : handshake.error;
151
- if (error !== undefined) {
152
- this.emit('handshakeFailed', error);
153
- }
154
- else {
155
- this.emit('handshakeCompleted', handshake.sourcePeerDescriptor);
156
- }
157
- }
158
- }
159
- catch (err) {
160
- logger.debug('error while parsing handshake message', err);
161
- }
162
- }
163
- sendHandshakeRequest(remotePeerDescriptor) {
164
- const msg = (0, exports.createHandshakeRequest)(this.localPeerDescriptor, remotePeerDescriptor);
165
- this.connection.send(DhtRpc_1.Message.toBinary(msg));
166
- logger.trace('handshake request sent');
167
- }
168
- sendHandshakeResponse(error) {
169
- const msg = (0, exports.createHandshakeResponse)(this.localPeerDescriptor, error);
170
- this.connection.send(DhtRpc_1.Message.toBinary(msg));
171
- logger.trace('handshake response sent');
172
- }
173
- stop() {
174
- this.connection.off('data', this.onDataListener);
175
- this.removeAllListeners();
176
- }
177
- }
178
- exports.Handshaker = Handshaker;
179
- //# sourceMappingURL=Handshaker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Handshaker.js","sourceRoot":"","sources":["../../../src/connection/Handshaker.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import { BrandedString } from '@streamr/utils';
2
- export interface ConnectionEvents {
3
- data: (bytes: Uint8Array) => void;
4
- connected: () => void;
5
- disconnected: (gracefulLeave: boolean, code?: number, reason?: string) => void;
6
- error: (name: string) => void;
7
- }
8
- export declare enum ConnectionType {
9
- WEBSOCKET_SERVER = "websocket-server",
10
- WEBSOCKET_CLIENT = "websocket-client",
11
- WEBRTC = "webrtc",
12
- SIMULATOR_SERVER = "simulator-server",
13
- SIMULATOR_CLIENT = "simulator-client"
14
- }
15
- export type ConnectionID = BrandedString<'ConnectionID'>;
16
- export interface IConnection {
17
- on(event: 'data', listener: (bytes: Uint8Array) => void): this;
18
- on(event: 'error', listener: (name: string) => void): this;
19
- on(event: 'connected', listener: () => void): this;
20
- on(event: 'disconnected', listener: (gracefulLeave: boolean, code?: number, reason?: string) => void): this;
21
- once(event: 'data', listener: (bytes: Uint8Array) => void): this;
22
- once(event: 'error', listener: (name: string) => void): this;
23
- once(event: 'connected', listener: () => void): this;
24
- once(event: 'disconnected', listener: (gracefulLeave: boolean, code?: number, reason?: string) => void): this;
25
- off(event: 'data', listener: (bytes: Uint8Array) => void): void;
26
- off(event: 'error', listener: (name: string) => void): void;
27
- off(event: 'connected', listener: () => void): void;
28
- off(event: 'disconnected', listener: (gracefulLeave: boolean, code?: number, reason?: string) => void): void;
29
- send(data: Uint8Array): void;
30
- close(gracefulLeave: boolean): Promise<void>;
31
- destroy(): void;
32
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectionType = void 0;
4
- var ConnectionType;
5
- (function (ConnectionType) {
6
- ConnectionType["WEBSOCKET_SERVER"] = "websocket-server";
7
- ConnectionType["WEBSOCKET_CLIENT"] = "websocket-client";
8
- ConnectionType["WEBRTC"] = "webrtc";
9
- ConnectionType["SIMULATOR_SERVER"] = "simulator-server";
10
- ConnectionType["SIMULATOR_CLIENT"] = "simulator-client";
11
- })(ConnectionType || (exports.ConnectionType = ConnectionType = {}));
12
- //# sourceMappingURL=IConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IConnection.js","sourceRoot":"","sources":["../../../src/connection/IConnection.ts"],"names":[],"mappings":";;;AASA,IAAY,cAMX;AAND,WAAY,cAAc;IACtB,uDAAqC,CAAA;IACrC,uDAAqC,CAAA;IACrC,mCAAiB,CAAA;IACjB,uDAAqC,CAAA;IACrC,uDAAqC,CAAA;AACzC,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB"}
@@ -1,30 +0,0 @@
1
- import { ConnectionID, IConnection } from './IConnection';
2
- import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
3
- import EventEmitter from 'eventemitter3';
4
- import { DhtAddress } from '../identifiers';
5
- export interface ManagedConnectionEvents {
6
- managedData: (bytes: Uint8Array, remotePeerDescriptor: PeerDescriptor) => void;
7
- disconnected: (gracefulLeave: boolean) => void;
8
- }
9
- export declare class ManagedConnection extends EventEmitter<ManagedConnectionEvents> {
10
- private connection;
11
- connectionId: ConnectionID;
12
- private remotePeerDescriptor;
13
- private lastUsedTimestamp;
14
- private replacedAsDuplicate;
15
- private stopped;
16
- private openedAt;
17
- private bytesSent;
18
- private bytesReceived;
19
- private messagesSent;
20
- private messagesReceived;
21
- constructor(peerDescriptor: PeerDescriptor, connection: IConnection);
22
- private onDisconnected;
23
- replaceAsDuplicate(): void;
24
- send(data: Uint8Array): void;
25
- close(gracefulLeave: boolean): Promise<void>;
26
- getNodeId(): DhtAddress;
27
- getLastUsedTimestamp(): number;
28
- getPeerDescriptor(): PeerDescriptor | undefined;
29
- getDiagnosticInfo(): Record<string, unknown>;
30
- }
@@ -1,129 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ManagedConnection = void 0;
40
- const Err = __importStar(require("../helpers/errors"));
41
- const utils_1 = require("@streamr/utils");
42
- const eventemitter3_1 = __importDefault(require("eventemitter3"));
43
- const ConnectionManager_1 = require("./ConnectionManager");
44
- const identifiers_1 = require("../identifiers");
45
- const Connection_1 = require("./Connection");
46
- const logger = new utils_1.Logger(module);
47
- // ManagedConnection is a component used as a wrapper for IConnection after they have been successfully handshaked.
48
- // Should only be used in the ConnectionManager.
49
- class ManagedConnection extends eventemitter3_1.default {
50
- connection;
51
- connectionId;
52
- remotePeerDescriptor;
53
- lastUsedTimestamp = Date.now();
54
- replacedAsDuplicate = false;
55
- stopped = false;
56
- openedAt = Date.now();
57
- bytesSent = 0;
58
- bytesReceived = 0;
59
- messagesSent = 0;
60
- messagesReceived = 0;
61
- constructor(peerDescriptor, connection) {
62
- super();
63
- this.connectionId = (0, Connection_1.createRandomConnectionId)();
64
- this.connection = connection;
65
- connection.on('data', (bytes) => {
66
- this.lastUsedTimestamp = Date.now();
67
- this.messagesReceived += 1;
68
- this.bytesReceived += bytes.length;
69
- this.emit('managedData', bytes, this.getPeerDescriptor());
70
- });
71
- connection.on('disconnected', (gracefulLeave) => this.onDisconnected(gracefulLeave));
72
- this.lastUsedTimestamp = Date.now();
73
- this.remotePeerDescriptor = peerDescriptor;
74
- }
75
- onDisconnected(gracefulLeave) {
76
- logger.trace((0, ConnectionManager_1.getNodeIdOrUnknownFromPeerDescriptor)(this.remotePeerDescriptor) + ' onDisconnected() ' + gracefulLeave);
77
- if (!this.replacedAsDuplicate) {
78
- this.emit('disconnected', gracefulLeave);
79
- }
80
- this.removeAllListeners();
81
- }
82
- // TODO: Can this be removed if ManagedConnections can never be duplicates?
83
- // Handle duplicates in the ConncetorFacade and no longer have PendingConnections in ConnectionManager
84
- replaceAsDuplicate() {
85
- logger.trace((0, ConnectionManager_1.getNodeIdOrUnknownFromPeerDescriptor)(this.remotePeerDescriptor) + ' replaceAsDuplicate');
86
- this.replacedAsDuplicate = true;
87
- }
88
- send(data) {
89
- if (this.stopped) {
90
- throw new Err.SendFailed('ManagedConnection is stopped');
91
- }
92
- this.lastUsedTimestamp = Date.now();
93
- this.messagesSent += 1;
94
- this.bytesSent += data.length;
95
- this.connection.send(data);
96
- }
97
- async close(gracefulLeave) {
98
- if (this.stopped) {
99
- return;
100
- }
101
- await this.connection.close(gracefulLeave);
102
- this.removeAllListeners();
103
- }
104
- getNodeId() {
105
- return (0, identifiers_1.toNodeId)(this.remotePeerDescriptor);
106
- }
107
- getLastUsedTimestamp() {
108
- return this.lastUsedTimestamp;
109
- }
110
- getPeerDescriptor() {
111
- return this.remotePeerDescriptor;
112
- }
113
- getDiagnosticInfo() {
114
- return {
115
- remotePeerDescriptor: this.remotePeerDescriptor,
116
- lastUsedTimestamp: this.lastUsedTimestamp,
117
- replacedAsDuplicate: this.replacedAsDuplicate,
118
- stopped: this.stopped,
119
- openedAt: this.openedAt,
120
- bytesSent: this.bytesSent,
121
- bytesReceived: this.bytesReceived,
122
- messagesSent: this.messagesSent,
123
- messagesReceived: this.messagesReceived
124
- // Add connection type?
125
- };
126
- }
127
- }
128
- exports.ManagedConnection = ManagedConnection;
129
- //# sourceMappingURL=ManagedConnection.js.map