@streamr/dht 0.0.1-tatum.6 → 0.0.1-tatum.8

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 (255) hide show
  1. package/dist/src/connection/ConnectionLockHandler.d.ts +1 -1
  2. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  3. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +10 -0
  4. package/dist/src/connection/{RemoteConnectionLocker.js → ConnectionLockRpcRemote.js} +21 -35
  5. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -0
  6. package/dist/src/connection/ConnectionManager.d.ts +17 -41
  7. package/dist/src/connection/ConnectionManager.js +148 -212
  8. package/dist/src/connection/ConnectionManager.js.map +1 -1
  9. package/dist/src/connection/ConnectivityChecker.js +16 -13
  10. package/dist/src/connection/ConnectivityChecker.js.map +1 -1
  11. package/dist/src/connection/ConnectorFacade.d.ts +49 -0
  12. package/dist/src/connection/ConnectorFacade.js +83 -0
  13. package/dist/src/connection/ConnectorFacade.js.map +1 -0
  14. package/dist/src/connection/Handshaker.d.ts +1 -2
  15. package/dist/src/connection/Handshaker.js +1 -4
  16. package/dist/src/connection/Handshaker.js.map +1 -1
  17. package/dist/src/connection/ManagedConnection.d.ts +2 -6
  18. package/dist/src/connection/ManagedConnection.js +27 -36
  19. package/dist/src/connection/ManagedConnection.js.map +1 -1
  20. package/dist/src/connection/ManagedWebRtcConnection.d.ts +1 -1
  21. package/dist/src/connection/ManagedWebRtcConnection.js +2 -2
  22. package/dist/src/connection/ManagedWebRtcConnection.js.map +1 -1
  23. package/dist/src/connection/Simulator/Simulator.d.ts +0 -2
  24. package/dist/src/connection/Simulator/Simulator.js +0 -5
  25. package/dist/src/connection/Simulator/Simulator.js.map +1 -1
  26. package/dist/src/connection/Simulator/SimulatorConnection.js +16 -13
  27. package/dist/src/connection/Simulator/SimulatorConnection.js.map +1 -1
  28. package/dist/src/connection/Simulator/SimulatorConnector.d.ts +2 -3
  29. package/dist/src/connection/Simulator/SimulatorConnector.js +12 -14
  30. package/dist/src/connection/Simulator/SimulatorConnector.js.map +1 -1
  31. package/dist/src/connection/Simulator/SimulatorTransport.js +6 -1
  32. package/dist/src/connection/Simulator/SimulatorTransport.js.map +1 -1
  33. package/dist/src/connection/WebRTC/NodeWebRtcConnection.d.ts +3 -1
  34. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js +12 -12
  35. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js.map +1 -1
  36. package/dist/src/connection/WebRTC/{WebRtcConnector.d.ts → WebRtcConnectorRpcLocal.d.ts} +13 -13
  37. package/dist/src/connection/WebRTC/{WebRtcConnector.js → WebRtcConnectorRpcLocal.js} +46 -38
  38. package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js.map +1 -0
  39. package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.d.ts +11 -0
  40. package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js +55 -0
  41. package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js.map +1 -0
  42. package/dist/src/connection/WebRTC/iceServerAsString.d.ts +1 -1
  43. package/dist/src/connection/WebSocket/{WebSocketConnector.d.ts → WebSocketConnectorRpcLocal.d.ts} +21 -11
  44. package/dist/src/connection/WebSocket/{WebSocketConnector.js → WebSocketConnectorRpcLocal.js} +80 -59
  45. package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.js.map +1 -0
  46. package/dist/src/connection/WebSocket/WebSocketConnectorRpcRemote.d.ts +8 -0
  47. package/dist/src/connection/WebSocket/{RemoteWebSocketConnector.js → WebSocketConnectorRpcRemote.js} +12 -16
  48. package/dist/src/connection/WebSocket/WebSocketConnectorRpcRemote.js.map +1 -0
  49. package/dist/src/connection/WebSocket/WebSocketServer.d.ts +11 -1
  50. package/dist/src/connection/WebSocket/WebSocketServer.js +15 -10
  51. package/dist/src/connection/WebSocket/WebSocketServer.js.map +1 -1
  52. package/dist/src/dht/DhtNode.d.ts +18 -55
  53. package/dist/src/dht/DhtNode.js +122 -145
  54. package/dist/src/dht/DhtNode.js.map +1 -1
  55. package/dist/src/dht/{RemoteExternalApi.d.ts → ExternalApiRpcRemote.d.ts} +2 -2
  56. package/dist/src/dht/{RemoteExternalApi.js → ExternalApiRpcRemote.js} +5 -6
  57. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -0
  58. package/dist/src/dht/{DhtPeer.d.ts → RemoteDhtNode.d.ts} +2 -3
  59. package/dist/src/dht/{DhtPeer.js → RemoteDhtNode.js} +21 -19
  60. package/dist/src/dht/RemoteDhtNode.js.map +1 -0
  61. package/dist/src/dht/contact/ContactList.d.ts +0 -1
  62. package/dist/src/dht/contact/ContactList.js +0 -3
  63. package/dist/src/dht/contact/ContactList.js.map +1 -1
  64. package/dist/src/dht/contact/RandomContactList.d.ts +0 -1
  65. package/dist/src/dht/contact/RandomContactList.js +0 -3
  66. package/dist/src/dht/contact/RandomContactList.js.map +1 -1
  67. package/dist/src/dht/contact/SortedContactList.d.ts +0 -3
  68. package/dist/src/dht/contact/SortedContactList.js +0 -9
  69. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  70. package/dist/src/dht/discovery/DiscoverySession.d.ts +5 -7
  71. package/dist/src/dht/discovery/DiscoverySession.js +9 -10
  72. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  73. package/dist/src/dht/discovery/PeerDiscovery.d.ts +12 -11
  74. package/dist/src/dht/discovery/PeerDiscovery.js +33 -37
  75. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  76. package/dist/src/dht/find/RecursiveFindSession.d.ts +9 -10
  77. package/dist/src/dht/find/RecursiveFindSession.js +13 -13
  78. package/dist/src/dht/find/RecursiveFindSession.js.map +1 -1
  79. package/dist/src/dht/find/RecursiveFinder.d.ts +9 -11
  80. package/dist/src/dht/find/RecursiveFinder.js +35 -36
  81. package/dist/src/dht/find/RecursiveFinder.js.map +1 -1
  82. package/dist/src/dht/find/RemoteRecursiveFindSession.d.ts +1 -1
  83. package/dist/src/dht/find/RemoteRecursiveFindSession.js +4 -4
  84. package/dist/src/dht/find/RemoteRecursiveFindSession.js.map +1 -1
  85. package/dist/src/dht/registerExternalApiRpcMethods.d.ts +1 -1
  86. package/dist/src/dht/registerExternalApiRpcMethods.js +4 -3
  87. package/dist/src/dht/registerExternalApiRpcMethods.js.map +1 -1
  88. package/dist/src/dht/routing/DuplicateDetector.d.ts +1 -2
  89. package/dist/src/dht/routing/DuplicateDetector.js +2 -7
  90. package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
  91. package/dist/src/dht/routing/Router.d.ts +12 -15
  92. package/dist/src/dht/routing/Router.js +30 -33
  93. package/dist/src/dht/routing/Router.js.map +1 -1
  94. package/dist/src/dht/routing/{RemoteRouter.d.ts → RouterRpcRemote.d.ts} +2 -2
  95. package/dist/src/dht/routing/{RemoteRouter.js → RouterRpcRemote.js} +5 -5
  96. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -0
  97. package/dist/src/dht/routing/RoutingSession.d.ts +3 -4
  98. package/dist/src/dht/routing/RoutingSession.js +6 -5
  99. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  100. package/dist/src/dht/store/{DataStore.d.ts → StoreRpcLocal.d.ts} +6 -6
  101. package/dist/src/dht/store/{DataStore.js → StoreRpcLocal.js} +34 -34
  102. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -0
  103. package/dist/src/dht/store/{RemoteStore.d.ts → StoreRpcRemote.d.ts} +2 -2
  104. package/dist/src/dht/store/{RemoteStore.js → StoreRpcRemote.js} +4 -4
  105. package/dist/src/dht/store/StoreRpcRemote.js.map +1 -0
  106. package/dist/src/exports.d.ts +2 -8
  107. package/dist/src/exports.js +2 -14
  108. package/dist/src/exports.js.map +1 -1
  109. package/dist/src/helpers/PeerID.d.ts +0 -1
  110. package/dist/src/helpers/PeerID.js +0 -6
  111. package/dist/src/helpers/PeerID.js.map +1 -1
  112. package/dist/src/helpers/browser/isBrowserEnvironment.d.ts +1 -0
  113. package/dist/src/helpers/browser/isBrowserEnvironment.js +6 -0
  114. package/dist/src/helpers/browser/isBrowserEnvironment.js.map +1 -0
  115. package/dist/src/helpers/browser/isBrowserEnvironment_override.d.ts +1 -0
  116. package/dist/src/helpers/browser/isBrowserEnvironment_override.js +7 -0
  117. package/dist/src/helpers/browser/isBrowserEnvironment_override.js.map +1 -0
  118. package/dist/src/helpers/kademliaId.d.ts +1 -0
  119. package/dist/src/helpers/kademliaId.js +14 -0
  120. package/dist/src/helpers/kademliaId.js.map +1 -0
  121. package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +1 -1
  122. package/dist/src/helpers/peerIdFromPeerDescriptor.js +3 -3
  123. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
  124. package/dist/src/helpers/protoClasses.js +2 -2
  125. package/dist/src/helpers/protoClasses.js.map +1 -1
  126. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +29 -29
  127. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +39 -39
  128. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  129. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +49 -162
  130. package/dist/src/proto/packages/dht/protos/DhtRpc.js +47 -88
  131. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  132. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +15 -15
  133. package/dist/src/transport/RoutingRpcCommunicator.js +1 -0
  134. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  135. package/package.json +10 -9
  136. package/protos/DhtRpc.proto +30 -60
  137. package/src/connection/ConnectionLockHandler.ts +1 -1
  138. package/src/connection/ConnectionLockRpcRemote.ts +62 -0
  139. package/src/connection/ConnectionManager.ts +178 -274
  140. package/src/connection/ConnectivityChecker.ts +15 -12
  141. package/src/connection/ConnectorFacade.ts +140 -0
  142. package/src/connection/Handshaker.ts +0 -5
  143. package/src/connection/ManagedConnection.ts +26 -40
  144. package/src/connection/ManagedWebRtcConnection.ts +0 -2
  145. package/src/connection/Simulator/Simulator.ts +0 -7
  146. package/src/connection/Simulator/SimulatorConnection.ts +16 -13
  147. package/src/connection/Simulator/SimulatorConnector.ts +13 -19
  148. package/src/connection/Simulator/SimulatorTransport.ts +6 -1
  149. package/src/connection/WebRTC/NodeWebRtcConnection.ts +15 -14
  150. package/src/connection/WebRTC/{WebRtcConnector.ts → WebRtcConnectorRpcLocal.ts} +68 -56
  151. package/src/connection/WebRTC/WebRtcConnectorRpcRemote.ts +71 -0
  152. package/src/connection/WebRTC/iceServerAsString.ts +1 -1
  153. package/src/connection/WebSocket/{WebSocketConnector.ts → WebSocketConnectorRpcLocal.ts} +102 -79
  154. package/src/connection/WebSocket/WebSocketConnectorRpcRemote.ts +45 -0
  155. package/src/connection/WebSocket/WebSocketServer.ts +26 -8
  156. package/src/dht/DhtNode.ts +176 -203
  157. package/src/dht/{RemoteExternalApi.ts → ExternalApiRpcRemote.ts} +3 -4
  158. package/src/dht/{DhtPeer.ts → RemoteDhtNode.ts} +11 -9
  159. package/src/dht/contact/ContactList.ts +0 -4
  160. package/src/dht/contact/RandomContactList.ts +0 -4
  161. package/src/dht/contact/SortedContactList.ts +0 -12
  162. package/src/dht/discovery/DiscoverySession.ts +20 -23
  163. package/src/dht/discovery/PeerDiscovery.ts +47 -45
  164. package/src/dht/find/RecursiveFindSession.ts +21 -22
  165. package/src/dht/find/RecursiveFinder.ts +45 -49
  166. package/src/dht/find/RemoteRecursiveFindSession.ts +6 -6
  167. package/src/dht/registerExternalApiRpcMethods.ts +8 -5
  168. package/src/dht/routing/DuplicateDetector.ts +3 -10
  169. package/src/dht/routing/Router.ts +39 -45
  170. package/src/dht/routing/{RemoteRouter.ts → RouterRpcRemote.ts} +4 -4
  171. package/src/dht/routing/RoutingSession.ts +15 -15
  172. package/src/dht/store/{DataStore.ts → StoreRpcLocal.ts} +42 -42
  173. package/src/dht/store/{RemoteStore.ts → StoreRpcRemote.ts} +2 -2
  174. package/src/exports.ts +2 -8
  175. package/src/helpers/PeerID.ts +0 -7
  176. package/src/helpers/browser/isBrowserEnvironment.ts +1 -0
  177. package/src/helpers/browser/isBrowserEnvironment_override.ts +3 -0
  178. package/src/helpers/kademliaId.ts +8 -0
  179. package/src/helpers/peerIdFromPeerDescriptor.ts +1 -1
  180. package/src/helpers/protoClasses.ts +4 -4
  181. package/src/proto/packages/dht/protos/DhtRpc.client.ts +54 -54
  182. package/src/proto/packages/dht/protos/DhtRpc.server.ts +15 -15
  183. package/src/proto/packages/dht/protos/DhtRpc.ts +77 -216
  184. package/src/transport/RoutingRpcCommunicator.ts +1 -0
  185. package/test/benchmark/KademliaCorrectness.test.ts +4 -2
  186. package/test/benchmark/RecursiveFind.test.ts +6 -6
  187. package/test/end-to-end/Layer0-Layer1.test.ts +9 -9
  188. package/test/end-to-end/Layer0WebRTC-Layer1.test.ts +5 -5
  189. package/test/end-to-end/Layer0WebRTC.test.ts +5 -6
  190. package/test/end-to-end/Layer1-Scale-WebRTC.test.ts +13 -8
  191. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +15 -10
  192. package/test/end-to-end/WebSocketConnectionRequest.test.ts +5 -5
  193. package/test/integration/ConnectionLocking.test.ts +32 -26
  194. package/test/integration/ConnectionManager.test.ts +90 -93
  195. package/test/integration/DhtJoinPeerDiscovery.test.ts +53 -0
  196. package/test/integration/DhtRpc.test.ts +4 -6
  197. package/test/integration/Layer1-scale.test.ts +8 -8
  198. package/test/integration/MigrateData.test.ts +9 -9
  199. package/test/integration/Mock-Layer1-Layer0.test.ts +1 -2
  200. package/test/integration/RecursiveFind.test.ts +5 -5
  201. package/test/integration/{DhtPeer.test.ts → RemoteDhtNode.test.ts} +11 -12
  202. package/test/integration/RouteMessage.test.ts +7 -9
  203. package/test/integration/{RemoteRouter.test.ts → RouterRpcRemote.test.ts} +13 -14
  204. package/test/integration/RpcErrors.test.ts +25 -10
  205. package/test/integration/ScaleDownDht.test.ts +8 -8
  206. package/test/integration/SimultaneousConnections.test.ts +35 -36
  207. package/test/integration/Store.test.ts +8 -9
  208. package/test/integration/StoreAndDelete.test.ts +11 -11
  209. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +7 -7
  210. package/test/integration/{RemoteStore.test.ts → StoreRpcRemote.test.ts} +17 -18
  211. package/test/integration/WebRtcConnectionManagement.test.ts +26 -19
  212. package/test/integration/WebRtcConnectorRpc.test.ts +17 -32
  213. package/test/integration/WebSocket.test.ts +4 -2
  214. package/test/integration/WebSocketConnectionManagement.test.ts +30 -17
  215. package/test/integration/WebSocketConnectorRpc.test.ts +10 -15
  216. package/test/unit/DuplicateDetector.test.ts +3 -4
  217. package/test/unit/LocalDataStore.test.ts +6 -8
  218. package/test/unit/RandomContactList.test.ts +1 -1
  219. package/test/unit/RecursiveFinder.test.ts +13 -18
  220. package/test/unit/Router.test.ts +18 -21
  221. package/test/unit/WebSocketConnectorRpcLocal.test.ts +64 -0
  222. package/test/unit/WebSocketServer.test.ts +24 -12
  223. package/test/unit/{webrtcReplaceInternalIpWithExternalIp.ts → webrtcReplaceInternalIpWithExternalIp.test.ts} +1 -1
  224. package/test/utils/mock/RecursiveFinder.ts +2 -2
  225. package/test/utils/mock/Router.ts +9 -11
  226. package/test/utils/mock/Transport.ts +2 -2
  227. package/test/utils/utils.ts +55 -74
  228. package/dist/src/connection/RemoteConnectionLocker.d.ts +0 -13
  229. package/dist/src/connection/RemoteConnectionLocker.js.map +0 -1
  230. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.d.ts +0 -12
  231. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js +0 -74
  232. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js.map +0 -1
  233. package/dist/src/connection/WebRTC/WebRtcConnector.js.map +0 -1
  234. package/dist/src/connection/WebSocket/RemoteWebSocketConnector.d.ts +0 -9
  235. package/dist/src/connection/WebSocket/RemoteWebSocketConnector.js.map +0 -1
  236. package/dist/src/connection/WebSocket/WebSocketConnector.js.map +0 -1
  237. package/dist/src/dht/DhtPeer.js.map +0 -1
  238. package/dist/src/dht/RemoteExternalApi.js.map +0 -1
  239. package/dist/src/dht/routing/RemoteRouter.js.map +0 -1
  240. package/dist/src/dht/store/DataStore.js.map +0 -1
  241. package/dist/src/dht/store/RemoteStore.js.map +0 -1
  242. package/dist/src/helpers/browser/isBrowser.d.ts +0 -1
  243. package/dist/src/helpers/browser/isBrowser.js +0 -6
  244. package/dist/src/helpers/browser/isBrowser.js.map +0 -1
  245. package/dist/src/helpers/browser/isNodeJS.d.ts +0 -1
  246. package/dist/src/helpers/browser/isNodeJS.js +0 -6
  247. package/dist/src/helpers/browser/isNodeJS.js.map +0 -1
  248. package/src/connection/RemoteConnectionLocker.ts +0 -84
  249. package/src/connection/WebRTC/RemoteWebrtcConnector.ts +0 -93
  250. package/src/connection/WebSocket/RemoteWebSocketConnector.ts +0 -49
  251. package/src/helpers/browser/isBrowser.ts +0 -1
  252. package/src/helpers/browser/isNodeJS.ts +0 -1
  253. package/test/integration/DhtWithMockConnectionLatencies.test.ts +0 -46
  254. package/test/integration/DhtWithMockConnections.test.ts +0 -46
  255. package/test/integration/DhtWithRealConnectionLatencies.test.ts +0 -47
@@ -1,4 +1,4 @@
1
- import { DhtPeer } from '../../src/dht/DhtPeer'
1
+ import { RemoteDhtNode } from '../../src/dht/RemoteDhtNode'
2
2
  import { RpcCommunicator, toProtoRpcClient } from '@streamr/proto-rpc'
3
3
  import { getMockPeers, MockDhtRpc } from '../utils/utils'
4
4
  import {
@@ -12,16 +12,15 @@ import {
12
12
  import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
13
13
  import { DhtRpcServiceClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
14
14
  import { generateId } from '../utils/utils'
15
- import { DhtCallContext } from '../../src/rpc-protocol/DhtCallContext'
16
15
 
17
- describe('DhtPeer', () => {
16
+ describe('RemoteDhtNode', () => {
18
17
 
19
- let dhtPeer: DhtPeer
18
+ let remoteDhtNode: RemoteDhtNode
20
19
  let clientRpcCommunicator: RpcCommunicator
21
20
  let serverRpcCommunicator: RpcCommunicator
22
21
  const serviceId = 'test'
23
22
  const clientPeerDescriptor: PeerDescriptor = {
24
- kademliaId: generateId('dhtPeer'),
23
+ kademliaId: generateId('client'),
25
24
  type: NodeType.NODEJS
26
25
  }
27
26
  const serverPeerDescriptor: PeerDescriptor = {
@@ -34,14 +33,14 @@ describe('DhtPeer', () => {
34
33
  serverRpcCommunicator = new RpcCommunicator()
35
34
  serverRpcCommunicator.registerRpcMethod(ClosestPeersRequest, ClosestPeersResponse, 'getClosestPeers', MockDhtRpc.getClosestPeers)
36
35
  serverRpcCommunicator.registerRpcMethod(PingRequest, PingResponse, 'ping', MockDhtRpc.ping)
37
- clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage, _requestId: string, _ucallContext?: DhtCallContext) => {
36
+ clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
38
37
  serverRpcCommunicator.handleIncomingMessage(message)
39
38
  })
40
- serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage, _requestId: string, _ucallContext?: DhtCallContext) => {
39
+ serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
41
40
  clientRpcCommunicator.handleIncomingMessage(message)
42
41
  })
43
42
  const client = toProtoRpcClient(new DhtRpcServiceClient(clientRpcCommunicator.getRpcClientTransport()))
44
- dhtPeer = new DhtPeer(clientPeerDescriptor, serverPeerDescriptor, client, serviceId)
43
+ remoteDhtNode = new RemoteDhtNode(clientPeerDescriptor, serverPeerDescriptor, client, serviceId)
45
44
  })
46
45
 
47
46
  afterEach(() => {
@@ -50,24 +49,24 @@ describe('DhtPeer', () => {
50
49
  })
51
50
 
52
51
  it('Ping happy path', async () => {
53
- const active = await dhtPeer.ping()
52
+ const active = await remoteDhtNode.ping()
54
53
  expect(active).toEqual(true)
55
54
  })
56
55
 
57
56
  it('getClosestPeers happy path', async () => {
58
- const neighbors = await dhtPeer.getClosestPeers(clientPeerDescriptor.kademliaId)
57
+ const neighbors = await remoteDhtNode.getClosestPeers(clientPeerDescriptor.kademliaId)
59
58
  expect(neighbors.length).toEqual(getMockPeers().length)
60
59
  })
61
60
 
62
61
  it('ping error path', async () => {
63
62
  serverRpcCommunicator.registerRpcMethod(PingRequest, PingResponse, 'ping', MockDhtRpc.throwPingError)
64
- const active = await dhtPeer.ping()
63
+ const active = await remoteDhtNode.ping()
65
64
  expect(active).toEqual(false)
66
65
  })
67
66
 
68
67
  it('getClosestPeers error path', async () => {
69
68
  serverRpcCommunicator.registerRpcMethod(ClosestPeersRequest, ClosestPeersResponse, 'getClosestPeers', MockDhtRpc.throwGetClosestPeersError)
70
- await expect(dhtPeer.getClosestPeers(clientPeerDescriptor.kademliaId))
69
+ await expect(remoteDhtNode.getClosestPeers(clientPeerDescriptor.kademliaId))
71
70
  .rejects.toThrow('Closest peers error')
72
71
  })
73
72
 
@@ -6,7 +6,6 @@ import { createMockConnectionDhtNode, createWrappedClosestPeersRequest } from '.
6
6
  import { PeerID } from '../../src/helpers/PeerID'
7
7
  import { Simulator } from '../../src/connection/Simulator/Simulator'
8
8
  import { v4 } from 'uuid'
9
- import { UUID } from '../../src/helpers/UUID'
10
9
  import { Any } from '../../src/proto/google/protobuf/any'
11
10
  import { RoutingMode } from '../../src/dht/routing/RoutingSession'
12
11
 
@@ -34,7 +33,6 @@ describe('Route Message With Mock Connections', () => {
34
33
 
35
34
  entryPointDescriptor = {
36
35
  kademliaId: entryPoint.getNodeId().value,
37
- nodeName: 'entrypoint',
38
36
  type: NodeType.NODEJS
39
37
  }
40
38
 
@@ -67,7 +65,7 @@ describe('Route Message With Mock Connections', () => {
67
65
  }, 10000)
68
66
 
69
67
  it('Happy path', async () => {
70
- const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor(), destinationNode.getPeerDescriptor())
68
+ const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor())
71
69
  const message: Message = {
72
70
  serviceId: 'unknown',
73
71
  messageId: v4(),
@@ -96,10 +94,10 @@ describe('Route Message With Mock Connections', () => {
96
94
  it('Receives multiple messages', async () => {
97
95
  const numOfMessages = 20
98
96
  let receivedMessages = 0
99
- destinationNode.on('message', (_message: Message) => {
97
+ destinationNode.on('message', () => {
100
98
  receivedMessages += 1
101
99
  })
102
- const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor(), destinationNode.getPeerDescriptor())
100
+ const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor())
103
101
 
104
102
  for (let i = 0; i < numOfMessages; i++) {
105
103
  const message: Message = {
@@ -137,7 +135,7 @@ describe('Route Message With Mock Connections', () => {
137
135
  }
138
136
 
139
137
  const numsOfReceivedMessages: Record<string, number> = {}
140
- routerNodes.map((node) => {
138
+ routerNodes.forEach((node) => {
141
139
  numsOfReceivedMessages[node.getNodeId().toKey()] = 0
142
140
  node.on('message', (msg: Message) => {
143
141
  numsOfReceivedMessages[node.getNodeId().toKey()] = numsOfReceivedMessages[node.getNodeId().toKey()] + 1
@@ -157,7 +155,7 @@ describe('Route Message With Mock Connections', () => {
157
155
  routerNodes.map(async (node) =>
158
156
  Promise.all(routerNodes.map(async (receiver) => {
159
157
  if (!node.getNodeId().equals(receiver.getNodeId())) {
160
- const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor(), destinationNode.getPeerDescriptor())
158
+ const rpcWrapper = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor())
161
159
  const message: Message = {
162
160
  serviceId: 'nonexisting_service',
163
161
  messageId: v4(),
@@ -192,7 +190,7 @@ describe('Route Message With Mock Connections', () => {
192
190
  }, 90000)
193
191
 
194
192
  it('Destination receives forwarded message', async () => {
195
- const closestPeersRequest = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor(), destinationNode.getPeerDescriptor())
193
+ const closestPeersRequest = createWrappedClosestPeersRequest(sourceNode.getPeerDescriptor())
196
194
  const closestPeersRequestMessage: Message = {
197
195
  serviceId: 'unknown',
198
196
  messageId: v4(),
@@ -208,7 +206,7 @@ describe('Route Message With Mock Connections', () => {
208
206
  const routeMessageWrapper: RouteMessageWrapper = {
209
207
  message: closestPeersRequestMessage,
210
208
  destinationPeer: destinationNode.getPeerDescriptor(),
211
- requestId: new UUID().toString(),
209
+ requestId: v4(),
212
210
  sourcePeer: sourceNode.getPeerDescriptor(),
213
211
  reachableThrough: [entryPointDescriptor],
214
212
  routingPath: []
@@ -1,19 +1,18 @@
1
1
  import { RpcCommunicator, toProtoRpcClient } from '@streamr/proto-rpc'
2
- import { RemoteRouter } from '../../src/dht/routing/RemoteRouter'
2
+ import { RouterRpcRemote } from '../../src/dht/routing/RouterRpcRemote'
3
3
  import { Message, MessageType, NodeType, PeerDescriptor, RouteMessageAck, RouteMessageWrapper } from '../../src/proto/packages/dht/protos/DhtRpc'
4
- import { RoutingServiceClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
4
+ import { RouterRpcClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
5
5
  import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
6
- import { DhtCallContext } from '../../src/rpc-protocol/DhtCallContext'
7
- import { createWrappedClosestPeersRequest, generateId, MockRoutingService } from '../utils/utils'
6
+ import { createWrappedClosestPeersRequest, generateId, mockRouterRpc } from '../utils/utils'
8
7
 
9
8
  describe('RemoteRouter', () => {
10
9
 
11
- let remoteRouter: RemoteRouter
10
+ let remoteRouter: RouterRpcRemote
12
11
  let clientRpcCommunicator: RpcCommunicator
13
12
  let serverRpcCommunicator: RpcCommunicator
14
13
  const serviceId = 'test'
15
14
  const clientPeerDescriptor: PeerDescriptor = {
16
- kademliaId: generateId('dhtPeer'),
15
+ kademliaId: generateId('client'),
17
16
  type: NodeType.NODEJS
18
17
  }
19
18
  const serverPeerDescriptor: PeerDescriptor = {
@@ -24,19 +23,19 @@ describe('RemoteRouter', () => {
24
23
  beforeEach(() => {
25
24
  clientRpcCommunicator = new RpcCommunicator()
26
25
  serverRpcCommunicator = new RpcCommunicator()
27
- serverRpcCommunicator.registerRpcMethod(RouteMessageWrapper, RouteMessageAck, 'routeMessage', MockRoutingService.routeMessage)
28
- clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage, _requestId: string, _ucallContext?: DhtCallContext) => {
26
+ serverRpcCommunicator.registerRpcMethod(RouteMessageWrapper, RouteMessageAck, 'routeMessage', mockRouterRpc.routeMessage)
27
+ clientRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
29
28
  serverRpcCommunicator.handleIncomingMessage(message)
30
29
  })
31
- serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage, _requestId: string, _ucallContext?: DhtCallContext) => {
30
+ serverRpcCommunicator.on('outgoingMessage', (message: RpcMessage) => {
32
31
  clientRpcCommunicator.handleIncomingMessage(message)
33
32
  })
34
- const client = toProtoRpcClient(new RoutingServiceClient(clientRpcCommunicator.getRpcClientTransport()))
35
- remoteRouter = new RemoteRouter(clientPeerDescriptor, serverPeerDescriptor, serviceId, client)
33
+ const client = toProtoRpcClient(new RouterRpcClient(clientRpcCommunicator.getRpcClientTransport()))
34
+ remoteRouter = new RouterRpcRemote(clientPeerDescriptor, serverPeerDescriptor, serviceId, client)
36
35
  })
37
36
 
38
37
  it('routeMessage happy path', async () => {
39
- const rpcWrapper = createWrappedClosestPeersRequest(clientPeerDescriptor, serverPeerDescriptor)
38
+ const rpcWrapper = createWrappedClosestPeersRequest(clientPeerDescriptor)
40
39
  const routed: Message = {
41
40
  serviceId,
42
41
  messageId: 'routed',
@@ -58,8 +57,8 @@ describe('RemoteRouter', () => {
58
57
  })
59
58
 
60
59
  it('routeMessage error path', async () => {
61
- serverRpcCommunicator.registerRpcMethod(RouteMessageWrapper, RouteMessageAck, 'routeMessage', MockRoutingService.throwRouteMessageError)
62
- const rpcWrapper = createWrappedClosestPeersRequest(clientPeerDescriptor, serverPeerDescriptor)
60
+ serverRpcCommunicator.registerRpcMethod(RouteMessageWrapper, RouteMessageAck, 'routeMessage', mockRouterRpc.throwRouteMessageError)
61
+ const rpcWrapper = createWrappedClosestPeersRequest(clientPeerDescriptor)
63
62
  const routed: Message = {
64
63
  serviceId,
65
64
  messageId: 'routed',
@@ -3,11 +3,24 @@ import { LatencyType, Simulator } from '../../src/connection/Simulator/Simulator
3
3
  import { PeerID } from '../../src/helpers/PeerID'
4
4
  import { ITransport } from '../../src/transport/ITransport'
5
5
  import { v4 } from 'uuid'
6
- import { DhtRpcOptions, ListeningRpcCommunicator, SimulatorTransport } from '../../src/exports'
6
+ import { SimulatorTransport } from '../../src/connection/Simulator/SimulatorTransport'
7
+ import { DhtRpcOptions } from '../../src/rpc-protocol/DhtRpcOptions'
8
+ import { ListeningRpcCommunicator } from '../../src/transport/ListeningRpcCommunicator'
7
9
  import { ProtoRpcClient, toProtoRpcClient } from '@streamr/proto-rpc'
8
10
  import { DhtRpcServiceClient } from '../../src/proto/packages/dht/protos/DhtRpc.client'
9
- import { ServerCallContext } from '@protobuf-ts/runtime-rpc'
10
11
  import { NodeType, PeerDescriptor, PingRequest, PingResponse } from '../../src/proto/packages/dht/protos/DhtRpc'
12
+ import { DefaultConnectorFacade } from '../../src/connection/ConnectorFacade'
13
+ import { MetricsContext } from '@streamr/utils'
14
+
15
+ const createConnectionManager = (ownPeerDescriptor: PeerDescriptor, transport: ITransport) => {
16
+ return new ConnectionManager({
17
+ createConnectorFacade: () => new DefaultConnectorFacade({
18
+ transport,
19
+ createOwnPeerDescriptor: () => ownPeerDescriptor
20
+ }),
21
+ metricsContext: new MetricsContext()
22
+ })
23
+ }
11
24
 
12
25
  describe('RPC errors', () => {
13
26
 
@@ -32,8 +45,8 @@ describe('RPC errors', () => {
32
45
  type: NodeType.NODEJS,
33
46
  }
34
47
 
35
- let connectorTransport1: ITransport
36
- let connectorTransport2: ITransport
48
+ let connectorTransport1: SimulatorTransport
49
+ let connectorTransport2: SimulatorTransport
37
50
 
38
51
  const serviceId = 'test'
39
52
 
@@ -41,17 +54,19 @@ describe('RPC errors', () => {
41
54
 
42
55
  simulator = new Simulator(LatencyType.FIXED, 50)
43
56
  connectorTransport1 = new SimulatorTransport(peerDescriptor1, simulator)
44
- manager1 = new ConnectionManager({ transportLayer: connectorTransport1 })
57
+ await connectorTransport1.start()
58
+ manager1 = createConnectionManager(peerDescriptor1, connectorTransport1)
45
59
  rpcCommunicator1 = new ListeningRpcCommunicator(serviceId, manager1)
46
60
  client1 = toProtoRpcClient(new DhtRpcServiceClient(rpcCommunicator1.getRpcClientTransport()))
47
61
 
48
62
  connectorTransport2 = new SimulatorTransport(peerDescriptor2, simulator)
49
- manager2 = new ConnectionManager({ transportLayer: connectorTransport2 })
63
+ await connectorTransport2.start()
64
+ manager2 = createConnectionManager(peerDescriptor2, connectorTransport2)
50
65
  rpcCommunicator2 = new ListeningRpcCommunicator(serviceId, manager2)
51
66
  //client2 = toProtoRpcClient(new DhtRpcServiceClient(rpcCommunicator2.getRpcClientTransport()))
52
67
 
53
- await manager1.start((_msg) => peerDescriptor1)
54
- await manager2.start((_msg) => peerDescriptor2)
68
+ await manager1.start()
69
+ await manager2.start()
55
70
 
56
71
  })
57
72
 
@@ -64,7 +79,7 @@ describe('RPC errors', () => {
64
79
  })
65
80
 
66
81
  it('Can make a RPC call over WebRTC', async () => {
67
- const ping = async (request: PingRequest, _context: ServerCallContext):
82
+ const ping = async (request: PingRequest):
68
83
  Promise<PingResponse> => {
69
84
  const response: PingResponse = {
70
85
  requestId: request.requestId
@@ -134,7 +149,7 @@ describe('RPC errors', () => {
134
149
  }
135
150
 
136
151
  const disconnectedPromise1 = new Promise<void>((resolve, _reject) => {
137
- manager1.on('disconnected', (_peerDescriptor: PeerDescriptor) => {
152
+ manager1.on('disconnected', () => {
138
153
  //expect(message.messageType).toBe(MessageType.RPC)
139
154
  resolve()
140
155
  })
@@ -2,7 +2,7 @@ import { LatencyType, Simulator } from '../../src/connection/Simulator/Simulator
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { NodeType, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
4
4
  import { createMockConnectionDhtNode } from '../utils/utils'
5
- import { isSamePeerDescriptor } from '../../src/helpers/peerIdFromPeerDescriptor'
5
+ import { areEqualPeerDescriptors, keyFromPeerDescriptor } from '../../src/helpers/peerIdFromPeerDescriptor'
6
6
  import { Logger } from '@streamr/utils'
7
7
 
8
8
  const logger = new Logger(module)
@@ -20,18 +20,17 @@ describe('Scaling down a Dht network', () => {
20
20
  nodes = []
21
21
  const entryPointId = '0'
22
22
  entryPoint = await createMockConnectionDhtNode(entryPointId, simulator,
23
- undefined, K, entryPointId, MAX_CONNECTIONS)
23
+ undefined, K, MAX_CONNECTIONS)
24
24
  nodes.push(entryPoint)
25
25
 
26
26
  entrypointDescriptor = {
27
27
  kademliaId: entryPoint.getNodeId().value,
28
- type: NodeType.NODEJS,
29
- nodeName: entryPointId
28
+ type: NodeType.NODEJS
30
29
  }
31
30
 
32
31
  for (let i = 1; i < NUM_NODES; i++) {
33
32
  const nodeId = `${i}`
34
- const node = await createMockConnectionDhtNode(nodeId, simulator, undefined, K, nodeId, MAX_CONNECTIONS)
33
+ const node = await createMockConnectionDhtNode(nodeId, simulator, undefined, K, MAX_CONNECTIONS)
35
34
  nodes.push(node)
36
35
  }
37
36
  await Promise.all(nodes.map((node) => node.joinDht([entrypointDescriptor])))
@@ -54,10 +53,11 @@ describe('Scaling down a Dht network', () => {
54
53
  await nodes[nodeIndex].stop()
55
54
  const nodeIsCleaned = nodes.every((node) =>
56
55
  node.getAllConnectionPeerDescriptors().every((peer) => {
57
- if (isSamePeerDescriptor(peer, stoppingPeerDescriptor)) {
58
- logger.error(' ' + node.getPeerDescriptor().nodeName + ', ' + stoppingPeerDescriptor.nodeName + ' cleaning up failed')
56
+ if (areEqualPeerDescriptors(peer, stoppingPeerDescriptor)) {
57
+ logger.error(keyFromPeerDescriptor(node.getPeerDescriptor()) + ', '
58
+ + keyFromPeerDescriptor(stoppingPeerDescriptor) + ' cleaning up failed')
59
59
  }
60
- return !isSamePeerDescriptor(peer, stoppingPeerDescriptor)
60
+ return !areEqualPeerDescriptors(peer, stoppingPeerDescriptor)
61
61
  })
62
62
  )
63
63
  expect(nodeIsCleaned).toEqual(true)
@@ -1,10 +1,21 @@
1
+ import { MetricsContext, waitForCondition } from '@streamr/utils'
2
+ import { ConnectionManager } from '../../src/connection/ConnectionManager'
3
+ import { DefaultConnectorFacade, DefaultConnectorFacadeConfig } from '../../src/connection/ConnectorFacade'
1
4
  import { Simulator } from '../../src/connection/Simulator/Simulator'
2
5
  import { SimulatorTransport } from '../../src/connection/Simulator/SimulatorTransport'
3
6
  import { PeerID } from '../../src/helpers/PeerID'
4
7
  import { Message, MessageType, NodeType, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
5
8
  import { RpcMessage } from '../../src/proto/packages/proto-rpc/protos/ProtoRpc'
6
- import { waitForCondition } from '@streamr/utils'
7
- import { ConnectionManager } from '../../src/connection/ConnectionManager'
9
+
10
+ const createConnectionManager = (ownPeerDescriptor: PeerDescriptor, opts: Omit<DefaultConnectorFacadeConfig, 'createOwnPeerDescriptor'>) => {
11
+ return new ConnectionManager({
12
+ createConnectorFacade: () => new DefaultConnectorFacade({
13
+ createOwnPeerDescriptor: () => ownPeerDescriptor,
14
+ ...opts
15
+ }),
16
+ metricsContext: new MetricsContext()
17
+ })
18
+ }
8
19
 
9
20
  describe('SimultaneousConnections', () => {
10
21
 
@@ -14,14 +25,12 @@ describe('SimultaneousConnections', () => {
14
25
 
15
26
  const peerDescriptor1 = {
16
27
  kademliaId: PeerID.fromString('mock1').value,
17
- type: NodeType.NODEJS,
18
- nodeName: 'mock1'
28
+ type: NodeType.NODEJS
19
29
  }
20
30
 
21
31
  const peerDescriptor2 = {
22
32
  kademliaId: PeerID.fromString('mock2').value,
23
- type: NodeType.NODEJS,
24
- nodeName: 'mock2'
33
+ type: NodeType.NODEJS
25
34
  }
26
35
 
27
36
  const baseMsg: Message = {
@@ -37,7 +46,9 @@ describe('SimultaneousConnections', () => {
37
46
  beforeEach(async () => {
38
47
  simulator = new Simulator()
39
48
  simulatorTransport1 = new SimulatorTransport(peerDescriptor1, simulator)
49
+ await simulatorTransport1.start()
40
50
  simulatorTransport2 = new SimulatorTransport(peerDescriptor2, simulator)
51
+ await simulatorTransport2.start()
41
52
  })
42
53
 
43
54
  afterEach(async () => {
@@ -84,7 +95,6 @@ describe('SimultaneousConnections', () => {
84
95
 
85
96
  const wsPeer1: PeerDescriptor = {
86
97
  kademliaId: PeerID.fromString('mock1').value,
87
- nodeName: 'mock1WebSocket',
88
98
  type: NodeType.NODEJS,
89
99
  websocket: {
90
100
  host: '127.0.0.1',
@@ -95,7 +105,6 @@ describe('SimultaneousConnections', () => {
95
105
 
96
106
  const wsPeer2: PeerDescriptor = {
97
107
  kademliaId: PeerID.fromString('mock2').value,
98
- nodeName: 'mock2WebSocket',
99
108
  type: NodeType.NODEJS,
100
109
  websocket: {
101
110
  host: '127.0.0.1',
@@ -106,20 +115,18 @@ describe('SimultaneousConnections', () => {
106
115
 
107
116
  beforeEach(async () => {
108
117
  const websocketPortRange = { min: 43432, max: 43433 }
109
- connectionManager1 = new ConnectionManager({
110
- transportLayer: simulatorTransport1,
111
- ownPeerDescriptor: wsPeer1,
118
+ connectionManager1 = createConnectionManager(wsPeer1, {
119
+ transport: simulatorTransport1,
112
120
  websocketPortRange,
113
121
  entryPoints: [wsPeer1]
114
122
  })
115
- connectionManager2 = new ConnectionManager({
116
- transportLayer: simulatorTransport2,
117
- ownPeerDescriptor: wsPeer2,
123
+ connectionManager2 = createConnectionManager(wsPeer2, {
124
+ transport: simulatorTransport2,
118
125
  websocketPortRange,
119
126
  entryPoints: [wsPeer1]
120
127
  })
121
- await connectionManager1.start(() => wsPeer1)
122
- await connectionManager2.start(() => wsPeer2)
128
+ await connectionManager1.start()
129
+ await connectionManager2.start()
123
130
  })
124
131
 
125
132
  afterEach(async () => {
@@ -169,7 +176,6 @@ describe('SimultaneousConnections', () => {
169
176
 
170
177
  const wsPeer1: PeerDescriptor = {
171
178
  kademliaId: PeerID.fromString('mock1').value,
172
- nodeName: 'mock1WebSocketServer',
173
179
  type: NodeType.NODEJS,
174
180
  websocket: {
175
181
  host: '127.0.0.1',
@@ -180,23 +186,20 @@ describe('SimultaneousConnections', () => {
180
186
 
181
187
  const wsPeer2: PeerDescriptor = {
182
188
  kademliaId: PeerID.fromString('mock2').value,
183
- nodeName: 'mock2WebSocketClient',
184
189
  type: NodeType.NODEJS
185
190
  }
186
191
 
187
192
  beforeEach(async () => {
188
- connectionManager1 = new ConnectionManager({
189
- transportLayer: simulatorTransport1,
190
- ownPeerDescriptor: wsPeer1,
193
+ connectionManager1 = createConnectionManager(wsPeer1, {
194
+ transport: simulatorTransport1,
191
195
  websocketPortRange: { min: 43432, max: 43432 },
192
196
  entryPoints: [wsPeer1]
193
197
  })
194
- connectionManager2 = new ConnectionManager({
195
- transportLayer: simulatorTransport2,
196
- ownPeerDescriptor: wsPeer2
198
+ connectionManager2 = createConnectionManager(wsPeer2, {
199
+ transport: simulatorTransport2
197
200
  })
198
- await connectionManager1.start(() => wsPeer1)
199
- await connectionManager2.start(() => wsPeer2)
201
+ await connectionManager1.start()
202
+ await connectionManager2.start()
200
203
  })
201
204
 
202
205
  afterEach(async () => {
@@ -246,27 +249,23 @@ describe('SimultaneousConnections', () => {
246
249
 
247
250
  const wrtcPeer1: PeerDescriptor = {
248
251
  kademliaId: PeerID.fromString('mock1').value,
249
- nodeName: 'mock1WebRTC',
250
252
  type: NodeType.NODEJS
251
253
  }
252
254
 
253
255
  const wrtcPeer2: PeerDescriptor = {
254
256
  kademliaId: PeerID.fromString('mock2').value,
255
- nodeName: 'mock2WebRTC',
256
257
  type: NodeType.NODEJS
257
258
  }
258
259
 
259
260
  beforeEach(async () => {
260
- connectionManager1 = new ConnectionManager({
261
- transportLayer: simulatorTransport1,
262
- ownPeerDescriptor: wrtcPeer1,
261
+ connectionManager1 = createConnectionManager(wrtcPeer1, {
262
+ transport: simulatorTransport1,
263
263
  })
264
- connectionManager2 = new ConnectionManager({
265
- transportLayer: simulatorTransport2,
266
- ownPeerDescriptor: wrtcPeer1,
264
+ connectionManager2 = createConnectionManager(wrtcPeer2, {
265
+ transport: simulatorTransport2,
267
266
  })
268
- await connectionManager1.start(() => wrtcPeer1)
269
- await connectionManager2.start(() => wrtcPeer2)
267
+ await connectionManager1.start()
268
+ await connectionManager2.start()
270
269
  })
271
270
 
272
271
  afterEach(async () => {
@@ -2,7 +2,8 @@ import { LatencyType, Simulator } from '../../src/connection/Simulator/Simulator
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { NodeType, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
4
4
  import { createMockConnectionDhtNode, waitConnectionManagersReadyForTesting } from '../utils/utils'
5
- import { isSamePeerDescriptor, PeerID } from '../../src/exports'
5
+ import { PeerID } from '../../src/helpers/PeerID'
6
+ import { areEqualPeerDescriptors } from '../../src/helpers/peerIdFromPeerDescriptor'
6
7
  import { Any } from '../../src/proto/google/protobuf/any'
7
8
 
8
9
  describe('Storing data in DHT', () => {
@@ -23,19 +24,18 @@ describe('Storing data in DHT', () => {
23
24
  nodes = []
24
25
  const entryPointId = '0'
25
26
  entryPoint = await createMockConnectionDhtNode(entryPointId, simulator,
26
- undefined, K, entryPointId, MAX_CONNECTIONS)
27
+ undefined, K, MAX_CONNECTIONS)
27
28
  nodes.push(entryPoint)
28
29
  nodeIndicesById[entryPoint.getNodeId().toKey()] = 0
29
30
  entrypointDescriptor = {
30
31
  kademliaId: entryPoint.getNodeId().value,
31
- type: NodeType.NODEJS,
32
- nodeName: entryPointId
32
+ type: NodeType.NODEJS
33
33
  }
34
34
  nodes.push(entryPoint)
35
35
  for (let i = 1; i < NUM_NODES; i++) {
36
36
  const nodeId = `${i}`
37
37
  const node = await createMockConnectionDhtNode(nodeId, simulator,
38
- undefined, K, nodeId, MAX_CONNECTIONS, 60000)
38
+ undefined, K, MAX_CONNECTIONS, 60000)
39
39
  nodeIndicesById[node.getNodeId().toKey()] = i
40
40
  nodes.push(node)
41
41
  }
@@ -55,8 +55,7 @@ describe('Storing data in DHT', () => {
55
55
  expect(successfulStorers.length).toBeGreaterThan(4)
56
56
  }, 90000)
57
57
 
58
- // TODO: flaky test, fix in NET-1027
59
- it.skip('Storing and getting data works', async () => {
58
+ it('Storing and getting data works', async () => {
60
59
  const storingNode = getRandomNode()
61
60
  const dataKey = PeerID.fromString('3232323e12r31r3')
62
61
  const data = Any.pack(entrypointDescriptor, PeerDescriptor)
@@ -65,9 +64,9 @@ describe('Storing data in DHT', () => {
65
64
 
66
65
  const fetchingNode = getRandomNode()
67
66
  const results = await fetchingNode.getDataFromDht(dataKey.value)
68
- results.dataEntries!.forEach((entry) => {
67
+ results.forEach((entry) => {
69
68
  const fetchedDescriptor = Any.unpack(entry.data!, PeerDescriptor)
70
- expect(isSamePeerDescriptor(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
69
+ expect(areEqualPeerDescriptors(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
71
70
  })
72
71
  }, 90000)
73
72
  })
@@ -2,7 +2,8 @@ import { LatencyType, Simulator } from '../../src/connection/Simulator/Simulator
2
2
  import { DhtNode } from '../../src/dht/DhtNode'
3
3
  import { NodeType, PeerDescriptor } from '../../src/proto/packages/dht/protos/DhtRpc'
4
4
  import { createMockConnectionDhtNode, waitConnectionManagersReadyForTesting } from '../utils/utils'
5
- import { isSamePeerDescriptor, PeerID } from '../../src/exports'
5
+ import { PeerID } from '../../src/helpers/PeerID'
6
+ import { areEqualPeerDescriptors } from '../../src/helpers/peerIdFromPeerDescriptor'
6
7
  import { Any } from '../../src/proto/google/protobuf/any'
7
8
 
8
9
  describe('Storing data in DHT', () => {
@@ -23,19 +24,18 @@ describe('Storing data in DHT', () => {
23
24
  nodes = []
24
25
  const entryPointId = '0'
25
26
  entryPoint = await createMockConnectionDhtNode(entryPointId, simulator,
26
- undefined, K, entryPointId, MAX_CONNECTIONS)
27
+ undefined, K, MAX_CONNECTIONS)
27
28
  nodes.push(entryPoint)
28
29
  nodeIndicesById[entryPoint.getNodeId().toKey()] = 0
29
30
  entrypointDescriptor = {
30
31
  kademliaId: entryPoint.getNodeId().value,
31
- type: NodeType.NODEJS,
32
- nodeName: entryPointId
32
+ type: NodeType.NODEJS
33
33
  }
34
34
  nodes.push(entryPoint)
35
35
  for (let i = 1; i < NUM_NODES; i++) {
36
36
  const nodeId = `${i}`
37
37
  const node = await createMockConnectionDhtNode(nodeId, simulator,
38
- undefined, K, nodeId, MAX_CONNECTIONS, 60000)
38
+ undefined, K, MAX_CONNECTIONS, 60000)
39
39
  nodeIndicesById[node.getNodeId().toKey()] = i
40
40
  nodes.push(node)
41
41
  }
@@ -57,10 +57,10 @@ describe('Storing data in DHT', () => {
57
57
 
58
58
  const fetchingNode = getRandomNode()
59
59
  const results = await fetchingNode.getDataFromDht(dataKey.value)
60
- results.dataEntries!.forEach((entry) => {
60
+ results.forEach((entry) => {
61
61
  const fetchedDescriptor = Any.unpack(entry.data!, PeerDescriptor)
62
62
  expect(entry.deleted).toBeTrue()
63
- expect(isSamePeerDescriptor(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
63
+ expect(areEqualPeerDescriptors(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
64
64
  })
65
65
  }, 90000)
66
66
 
@@ -74,20 +74,20 @@ describe('Storing data in DHT', () => {
74
74
 
75
75
  const fetchingNode = getRandomNode()
76
76
  const results1 = await fetchingNode.getDataFromDht(dataKey.value)
77
- results1.dataEntries!.forEach((entry) => {
77
+ results1.forEach((entry) => {
78
78
  const fetchedDescriptor = Any.unpack(entry.data!, PeerDescriptor)
79
79
  expect(entry.deleted).toBeTrue()
80
- expect(isSamePeerDescriptor(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
80
+ expect(areEqualPeerDescriptors(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
81
81
  })
82
82
 
83
83
  const successfulStorers2 = await storingNode.storeDataToDht(dataKey.value, data)
84
84
  expect(successfulStorers2.length).toBeGreaterThan(4)
85
85
 
86
86
  const results2 = await fetchingNode.getDataFromDht(dataKey.value)
87
- results2.dataEntries!.forEach((entry) => {
87
+ results2.forEach((entry) => {
88
88
  const fetchedDescriptor = Any.unpack(entry.data!, PeerDescriptor)
89
89
  expect(entry.deleted).toBeFalse()
90
- expect(isSamePeerDescriptor(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
90
+ expect(areEqualPeerDescriptors(fetchedDescriptor, entrypointDescriptor)).toBeTrue()
91
91
  })
92
92
  }, 90000)
93
93
  })