@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,18 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DataStore = void 0;
3
+ exports.StoreRpcLocal = void 0;
4
4
  const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
5
5
  const PeerID_1 = require("../../helpers/PeerID");
6
6
  const proto_rpc_1 = require("@streamr/proto-rpc");
7
7
  const DhtRpc_client_1 = require("../../proto/packages/dht/protos/DhtRpc.client");
8
8
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
9
9
  const utils_1 = require("@streamr/utils");
10
- const RemoteStore_1 = require("./RemoteStore");
10
+ const StoreRpcRemote_1 = require("./StoreRpcRemote");
11
11
  const timestamp_1 = require("../../proto/google/protobuf/timestamp");
12
12
  const SortedContactList_1 = require("../contact/SortedContactList");
13
13
  const Contact_1 = require("../contact/Contact");
14
14
  const logger = new utils_1.Logger(module);
15
- class DataStore {
15
+ class StoreRpcLocal {
16
16
  constructor(config) {
17
17
  this.rpcCommunicator = config.rpcCommunicator;
18
18
  this.recursiveFinder = config.recursiveFinder;
@@ -21,13 +21,13 @@ class DataStore {
21
21
  this.serviceId = config.serviceId;
22
22
  this.maxTtl = config.maxTtl;
23
23
  this.highestTtl = config.highestTtl;
24
- this.numberOfCopies = config.numberOfCopies;
24
+ this.redundancyFactor = config.redundancyFactor;
25
25
  this.dhtNodeEmitter = config.dhtNodeEmitter;
26
26
  this.getNodesClosestToIdFromBucket = config.getNodesClosestToIdFromBucket;
27
27
  this.rpcCommunicator.registerRpcMethod(DhtRpc_1.StoreDataRequest, DhtRpc_1.StoreDataResponse, 'storeData', (request, context) => this.storeData(request, context));
28
28
  this.rpcCommunicator.registerRpcMethod(DhtRpc_1.MigrateDataRequest, DhtRpc_1.MigrateDataResponse, 'migrateData', (request, context) => this.migrateData(request, context));
29
29
  this.rpcCommunicator.registerRpcMethod(DhtRpc_1.DeleteDataRequest, DhtRpc_1.DeleteDataResponse, 'deleteData', (request, context) => this.deleteData(request, context));
30
- this.dhtNodeEmitter.on('newContact', (peerDescriptor, _closestPeers) => {
30
+ this.dhtNodeEmitter.on('newContact', (peerDescriptor) => {
31
31
  this.localDataStore.getStore().forEach((dataMap, _dataKey) => {
32
32
  dataMap.forEach((dataEntry) => {
33
33
  if (this.shouldMigrateDataToNewNode(dataEntry.dataEntry, peerDescriptor)) {
@@ -62,9 +62,9 @@ class DataStore {
62
62
  break;
63
63
  }
64
64
  }
65
- // if new node is within the storeNumberOfCopies closest nodes to the data
65
+ // if new node is within the storageRedundancyFactor closest nodes to the data
66
66
  // do migrate data to it
67
- if (index < this.numberOfCopies) {
67
+ if (index < this.redundancyFactor) {
68
68
  this.localDataStore.setStale(dataId, dataEntry.storer, false);
69
69
  return true;
70
70
  }
@@ -74,15 +74,15 @@ class DataStore {
74
74
  }
75
75
  }
76
76
  async migrateDataToContact(dataEntry, contact, doNotConnect = false) {
77
- const remoteStore = new RemoteStore_1.RemoteStore(this.ownPeerDescriptor, contact, this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreServiceClient(this.rpcCommunicator.getRpcClientTransport())));
77
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, contact, this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
78
78
  try {
79
- const response = await remoteStore.migrateData({ dataEntry }, doNotConnect);
79
+ const response = await rpcRemote.migrateData({ dataEntry }, doNotConnect);
80
80
  if (response.error) {
81
- logger.trace('RemoteStore::migrateData() returned error: ' + response.error);
81
+ logger.trace('migrateData() returned error: ' + response.error);
82
82
  }
83
83
  }
84
84
  catch (e) {
85
- logger.trace('RemoteStore::migrateData() threw an exception ' + e);
85
+ logger.trace('migrateData() threw an exception ' + e);
86
86
  }
87
87
  }
88
88
  async storeDataToDht(key, data) {
@@ -92,8 +92,8 @@ class DataStore {
92
92
  const successfulNodes = [];
93
93
  const ttl = this.highestTtl; // ToDo: make TTL decrease according to some nice curve
94
94
  const storerTime = timestamp_1.Timestamp.now();
95
- for (let i = 0; i < closestNodes.length && successfulNodes.length < this.numberOfCopies; i++) {
96
- if ((0, peerIdFromPeerDescriptor_1.isSamePeerDescriptor)(this.ownPeerDescriptor, closestNodes[i])) {
95
+ for (let i = 0; i < closestNodes.length && successfulNodes.length < this.redundancyFactor; i++) {
96
+ if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.ownPeerDescriptor, closestNodes[i])) {
97
97
  this.localDataStore.storeEntry({
98
98
  kademliaId: key,
99
99
  storer: this.ownPeerDescriptor,
@@ -107,27 +107,27 @@ class DataStore {
107
107
  successfulNodes.push(closestNodes[i]);
108
108
  continue;
109
109
  }
110
- const remoteStore = new RemoteStore_1.RemoteStore(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreServiceClient(this.rpcCommunicator.getRpcClientTransport())));
110
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
111
111
  try {
112
- const response = await remoteStore.storeData({ kademliaId: key, data, ttl, storerTime });
112
+ const response = await rpcRemote.storeData({ kademliaId: key, data, ttl, storerTime });
113
113
  if (!response.error) {
114
114
  successfulNodes.push(closestNodes[i]);
115
- logger.trace('remoteStore.storeData() returned success');
115
+ logger.trace('remote.storeData() returned success');
116
116
  }
117
117
  else {
118
- logger.trace('remoteStore.storeData() returned error: ' + response.error);
118
+ logger.trace('remote.storeData() returned error: ' + response.error);
119
119
  }
120
120
  }
121
121
  catch (e) {
122
- logger.trace('remoteStore.storeData() threw an exception ' + e);
122
+ logger.trace('remote.storeData() threw an exception ' + e);
123
123
  }
124
124
  }
125
125
  return successfulNodes;
126
126
  }
127
127
  selfIsOneOfClosestPeers(dataId) {
128
128
  const ownPeerId = PeerID_1.PeerID.fromValue(this.ownPeerDescriptor.kademliaId);
129
- const closestPeers = this.getNodesClosestToIdFromBucket(dataId, this.numberOfCopies);
130
- const sortedList = new SortedContactList_1.SortedContactList(ownPeerId, this.numberOfCopies, undefined, true);
129
+ const closestPeers = this.getNodesClosestToIdFromBucket(dataId, this.redundancyFactor);
130
+ const sortedList = new SortedContactList_1.SortedContactList(ownPeerId, this.redundancyFactor, undefined, true);
131
131
  sortedList.addContact(new Contact_1.Contact(this.ownPeerDescriptor));
132
132
  closestPeers.forEach((con) => sortedList.addContact(new Contact_1.Contact(con.getPeerDescriptor())));
133
133
  return sortedList.getClosestContacts().some((node) => node.getPeerId().equals(ownPeerId));
@@ -137,25 +137,25 @@ class DataStore {
137
137
  const result = await this.recursiveFinder.startRecursiveFind(key);
138
138
  const closestNodes = result.closestNodes;
139
139
  const successfulNodes = [];
140
- for (let i = 0; i < closestNodes.length && successfulNodes.length < this.numberOfCopies; i++) {
141
- if ((0, peerIdFromPeerDescriptor_1.isSamePeerDescriptor)(this.ownPeerDescriptor, closestNodes[i])) {
140
+ for (let i = 0; i < closestNodes.length && successfulNodes.length < this.redundancyFactor; i++) {
141
+ if ((0, peerIdFromPeerDescriptor_1.areEqualPeerDescriptors)(this.ownPeerDescriptor, closestNodes[i])) {
142
142
  this.localDataStore.markAsDeleted(key, (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.ownPeerDescriptor));
143
143
  successfulNodes.push(closestNodes[i]);
144
144
  continue;
145
145
  }
146
- const remoteStore = new RemoteStore_1.RemoteStore(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreServiceClient(this.rpcCommunicator.getRpcClientTransport())));
146
+ const rpcRemote = new StoreRpcRemote_1.StoreRpcRemote(this.ownPeerDescriptor, closestNodes[i], this.serviceId, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.StoreRpcClient(this.rpcCommunicator.getRpcClientTransport())));
147
147
  try {
148
- const response = await remoteStore.deleteData({ kademliaId: key });
148
+ const response = await rpcRemote.deleteData({ kademliaId: key });
149
149
  if (response.deleted) {
150
- logger.trace('remoteStore.deleteData() returned success');
150
+ logger.trace('remote.deleteData() returned success');
151
151
  }
152
152
  else {
153
- logger.trace('could not delete data from ' + PeerID_1.PeerID.fromValue(closestNodes[i].kademliaId));
153
+ logger.trace('could not delete data from ' + (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(closestNodes[i]));
154
154
  }
155
155
  successfulNodes.push(closestNodes[i]);
156
156
  }
157
157
  catch (e) {
158
- logger.trace('remoteStore.deleteData() threw an exception ' + e);
158
+ logger.trace('remote.deleteData() threw an exception ' + e);
159
159
  }
160
160
  }
161
161
  }
@@ -177,7 +177,7 @@ class DataStore {
177
177
  if (!this.selfIsOneOfClosestPeers(kademliaId)) {
178
178
  this.localDataStore.setAllEntriesAsStale(PeerID_1.PeerID.fromValue(kademliaId));
179
179
  }
180
- logger.trace(this.ownPeerDescriptor.nodeName + ' storeData()');
180
+ logger.trace('storeData()');
181
181
  return DhtRpc_1.StoreDataResponse.create();
182
182
  }
183
183
  // RPC service implementation
@@ -189,7 +189,7 @@ class DataStore {
189
189
  }
190
190
  // RPC service implementation
191
191
  async migrateData(request, context) {
192
- logger.trace(this.ownPeerDescriptor.nodeName + ' server-side migrateData()');
192
+ logger.trace('server-side migrateData()');
193
193
  const dataEntry = request.dataEntry;
194
194
  const wasStored = this.localDataStore.storeEntry(dataEntry);
195
195
  if (wasStored) {
@@ -198,7 +198,7 @@ class DataStore {
198
198
  if (!this.selfIsOneOfClosestPeers(dataEntry.kademliaId)) {
199
199
  this.localDataStore.setAllEntriesAsStale(PeerID_1.PeerID.fromValue(dataEntry.kademliaId));
200
200
  }
201
- logger.trace(this.ownPeerDescriptor.nodeName + ' server-side migrateData() at end');
201
+ logger.trace('server-side migrateData() at end');
202
202
  return DhtRpc_1.MigrateDataResponse.create();
203
203
  }
204
204
  migrateDataToNeighborsIfNeeded(incomingPeer, dataEntry) {
@@ -207,7 +207,7 @@ class DataStore {
207
207
  const dataId = PeerID_1.PeerID.fromValue(dataEntry.kademliaId);
208
208
  const incomingPeerId = PeerID_1.PeerID.fromValue(incomingPeer.kademliaId);
209
209
  const closestToData = this.getNodesClosestToIdFromBucket(dataEntry.kademliaId, 10);
210
- const sortedList = new SortedContactList_1.SortedContactList(dataId, this.numberOfCopies, undefined, true);
210
+ const sortedList = new SortedContactList_1.SortedContactList(dataId, this.redundancyFactor, undefined, true);
211
211
  sortedList.addContact(new Contact_1.Contact(this.ownPeerDescriptor));
212
212
  closestToData.forEach((con) => {
213
213
  sortedList.addContact(new Contact_1.Contact(con.getPeerDescriptor()));
@@ -230,7 +230,7 @@ class DataStore {
230
230
  }
231
231
  }
232
232
  else {
233
- // if we are the closest to the data, migrate to all storeNumberOfCopies nearest
233
+ // if we are the closest to the data, migrate to all storageRedundancyFactor nearest
234
234
  sortedList.getAllContacts().forEach((contact) => {
235
235
  const contactPeerId = PeerID_1.PeerID.fromValue(contact.getPeerDescriptor().kademliaId);
236
236
  if (!incomingPeerId.equals(contactPeerId) && !ownPeerId.equals(contactPeerId)) {
@@ -250,5 +250,5 @@ class DataStore {
250
250
  }
251
251
  }
252
252
  }
253
- exports.DataStore = DataStore;
254
- //# sourceMappingURL=DataStore.js.map
253
+ exports.StoreRpcLocal = StoreRpcLocal;
254
+ //# sourceMappingURL=StoreRpcLocal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreRpcLocal.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcLocal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Remote } from '../contact/Remote';
2
- import { IStoreServiceClient } from '../../proto/packages/dht/protos/DhtRpc.client';
2
+ import { IStoreRpcClient } from '../../proto/packages/dht/protos/DhtRpc.client';
3
3
  import { DeleteDataRequest, DeleteDataResponse, MigrateDataRequest, MigrateDataResponse, StoreDataRequest, StoreDataResponse } from '../../proto/packages/dht/protos/DhtRpc';
4
- export declare class RemoteStore extends Remote<IStoreServiceClient> {
4
+ export declare class StoreRpcRemote extends Remote<IStoreRpcClient> {
5
5
  storeData(request: StoreDataRequest): Promise<StoreDataResponse>;
6
6
  deleteData(request: DeleteDataRequest): Promise<DeleteDataResponse>;
7
7
  migrateData(request: MigrateDataRequest, doNotConnect?: boolean): Promise<MigrateDataResponse>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteStore = void 0;
3
+ exports.StoreRpcRemote = void 0;
4
4
  const Remote_1 = require("../contact/Remote");
5
5
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
6
- class RemoteStore extends Remote_1.Remote {
6
+ class StoreRpcRemote extends Remote_1.Remote {
7
7
  async storeData(request) {
8
8
  const options = this.formDhtRpcOptions({
9
9
  timeout: 10000
@@ -36,5 +36,5 @@ class RemoteStore extends Remote_1.Remote {
36
36
  return this.getClient().migrateData(request, options);
37
37
  }
38
38
  }
39
- exports.RemoteStore = RemoteStore;
40
- //# sourceMappingURL=RemoteStore.js.map
39
+ exports.StoreRpcRemote = StoreRpcRemote;
40
+ //# sourceMappingURL=StoreRpcRemote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcRemote.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAU1C,qFAA8E;AAE9E,MAAa,cAAe,SAAQ,eAAuB;IAEvD,KAAK,CAAC,SAAS,CAAC,OAAyB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC5D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAC1D,MAAM,IAAI,GAAG,IAAA,gDAAqB,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;YACjE,MAAM,KAAK,CACP,2BAA2B,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CACtD,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA0B;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;SAC7D;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,CACP,iCAAiC,IAAA,gDAAqB,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,GAAG,EAAE,CAC5F,CAAA;SACJ;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA2B,EAAE,eAAwB,KAAK;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;YACd,YAAY;SACf,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CAEJ;AAtCD,wCAsCC"}
@@ -6,14 +6,8 @@ export { getRandomRegion, getRegionDelayMatrix } from './connection/Simulator/pi
6
6
  export { PeerDescriptor, Message, NodeType, DataEntry } from './proto/packages/dht/protos/DhtRpc';
7
7
  export { ITransport } from './transport/ITransport';
8
8
  export { ConnectionManager, ConnectionLocker, PortRange, TlsCertificate } from './connection/ConnectionManager';
9
- export { PeerID, PeerIDKey } from './helpers/PeerID';
10
- export { UUID } from './helpers/UUID';
11
9
  export { DhtRpcOptions } from './rpc-protocol/DhtRpcOptions';
12
- export { protoClasses } from './helpers/protoClasses';
13
- export { SortedContactList } from './dht/contact/SortedContactList';
14
- export { Contact } from './dht/contact/Contact';
15
10
  export { Remote } from './dht/contact/Remote';
16
- export { RecursiveFindResult } from './dht/find/RecursiveFinder';
17
- export { peerIdFromPeerDescriptor, keyFromPeerDescriptor, isSamePeerDescriptor } from './helpers/peerIdFromPeerDescriptor';
18
- export { IceServer } from './connection/WebRTC/WebRtcConnector';
11
+ export { areEqualPeerDescriptors } from './helpers/peerIdFromPeerDescriptor';
12
+ export { IceServer } from './connection/WebRTC/WebRtcConnectorRpcLocal';
19
13
  export { DhtCallContext } from './rpc-protocol/DhtCallContext';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DhtCallContext = exports.isSamePeerDescriptor = exports.keyFromPeerDescriptor = exports.peerIdFromPeerDescriptor = exports.Remote = exports.Contact = exports.SortedContactList = exports.protoClasses = exports.UUID = exports.PeerID = exports.ConnectionManager = exports.DataEntry = exports.NodeType = exports.Message = exports.PeerDescriptor = exports.getRegionDelayMatrix = exports.getRandomRegion = exports.SimulatorTransport = exports.LatencyType = exports.Simulator = exports.ListeningRpcCommunicator = exports.DhtNode = void 0;
3
+ exports.DhtCallContext = exports.areEqualPeerDescriptors = exports.Remote = exports.ConnectionManager = exports.DataEntry = exports.NodeType = exports.Message = exports.PeerDescriptor = exports.getRegionDelayMatrix = exports.getRandomRegion = exports.SimulatorTransport = exports.LatencyType = exports.Simulator = exports.ListeningRpcCommunicator = exports.DhtNode = void 0;
4
4
  var DhtNode_1 = require("./dht/DhtNode");
5
5
  Object.defineProperty(exports, "DhtNode", { enumerable: true, get: function () { return DhtNode_1.DhtNode; } });
6
6
  var ListeningRpcCommunicator_1 = require("./transport/ListeningRpcCommunicator");
@@ -20,22 +20,10 @@ Object.defineProperty(exports, "NodeType", { enumerable: true, get: function ()
20
20
  Object.defineProperty(exports, "DataEntry", { enumerable: true, get: function () { return DhtRpc_1.DataEntry; } });
21
21
  var ConnectionManager_1 = require("./connection/ConnectionManager");
22
22
  Object.defineProperty(exports, "ConnectionManager", { enumerable: true, get: function () { return ConnectionManager_1.ConnectionManager; } });
23
- var PeerID_1 = require("./helpers/PeerID");
24
- Object.defineProperty(exports, "PeerID", { enumerable: true, get: function () { return PeerID_1.PeerID; } });
25
- var UUID_1 = require("./helpers/UUID");
26
- Object.defineProperty(exports, "UUID", { enumerable: true, get: function () { return UUID_1.UUID; } });
27
- var protoClasses_1 = require("./helpers/protoClasses");
28
- Object.defineProperty(exports, "protoClasses", { enumerable: true, get: function () { return protoClasses_1.protoClasses; } });
29
- var SortedContactList_1 = require("./dht/contact/SortedContactList");
30
- Object.defineProperty(exports, "SortedContactList", { enumerable: true, get: function () { return SortedContactList_1.SortedContactList; } });
31
- var Contact_1 = require("./dht/contact/Contact");
32
- Object.defineProperty(exports, "Contact", { enumerable: true, get: function () { return Contact_1.Contact; } });
33
23
  var Remote_1 = require("./dht/contact/Remote");
34
24
  Object.defineProperty(exports, "Remote", { enumerable: true, get: function () { return Remote_1.Remote; } });
35
25
  var peerIdFromPeerDescriptor_1 = require("./helpers/peerIdFromPeerDescriptor");
36
- Object.defineProperty(exports, "peerIdFromPeerDescriptor", { enumerable: true, get: function () { return peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor; } });
37
- Object.defineProperty(exports, "keyFromPeerDescriptor", { enumerable: true, get: function () { return peerIdFromPeerDescriptor_1.keyFromPeerDescriptor; } });
38
- Object.defineProperty(exports, "isSamePeerDescriptor", { enumerable: true, get: function () { return peerIdFromPeerDescriptor_1.isSamePeerDescriptor; } });
26
+ Object.defineProperty(exports, "areEqualPeerDescriptors", { enumerable: true, get: function () { return peerIdFromPeerDescriptor_1.areEqualPeerDescriptors; } });
39
27
  var DhtCallContext_1 = require("./rpc-protocol/DhtCallContext");
40
28
  Object.defineProperty(exports, "DhtCallContext", { enumerable: true, get: function () { return DhtCallContext_1.DhtCallContext; } });
41
29
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,6DAAiG;AAAxF,wGAAA,cAAc,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AAErD,oEAA+G;AAAtG,sHAAA,iBAAiB,OAAA;AAC1B,2CAAoD;AAA3C,gGAAA,MAAM,OAAA;AACf,uCAAqC;AAA5B,4FAAA,IAAI,OAAA;AAEb,uDAAqD;AAA5C,4GAAA,YAAY,OAAA;AACrB,qEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,iDAA+C;AAAtC,kGAAA,OAAO,OAAA;AAChB,+CAA6C;AAApC,gGAAA,MAAM,OAAA;AAEf,+EAA0H;AAAjH,oIAAA,wBAAwB,OAAA;AAAE,iIAAA,qBAAqB,OAAA;AAAE,gIAAA,oBAAoB,OAAA;AAE9E,gEAA8D;AAArD,gHAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,6DAAiG;AAAxF,wGAAA,cAAc,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AAErD,oEAA+G;AAAtG,sHAAA,iBAAiB,OAAA;AAE1B,+CAA6C;AAApC,gGAAA,MAAM,OAAA;AACf,+EAA4E;AAAnE,mIAAA,uBAAuB,OAAA;AAEhC,gEAA8D;AAArD,gHAAA,cAAc,OAAA"}
@@ -14,7 +14,6 @@ export declare class PeerID {
14
14
  static fromValue(value: Uint8Array): PeerID;
15
15
  static fromKey(value: PeerIDKey): PeerID;
16
16
  static fromString(stringValue: string): PeerID;
17
- static generateRandom(): PeerID;
18
17
  private ip2Int;
19
18
  equals(other: PeerID): boolean;
20
19
  toString(): string;
@@ -40,12 +40,6 @@ class PeerID {
40
40
  static fromString(stringValue) {
41
41
  return new PeerID({ stringValue });
42
42
  }
43
- static generateRandom() {
44
- // generate 160 bit random Uint8array
45
- const value = new Uint8Array(20);
46
- crypto_1.default.randomFillSync(value);
47
- return new PeerID({ value });
48
- }
49
43
  // TODO convert to static method?
50
44
  // eslint-disable-next-line class-methods-use-this
51
45
  ip2Int(ip) {
@@ -1 +1 @@
1
- {"version":3,"file":"PeerID.js","sourceRoot":"","sources":["../../../src/helpers/PeerID.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerID.js","sourceRoot":"","sources":["../../../src/helpers/PeerID.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const isBrowserEnvironment: () => boolean;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBrowserEnvironment = void 0;
4
+ const isBrowserEnvironment = () => false;
5
+ exports.isBrowserEnvironment = isBrowserEnvironment;
6
+ //# sourceMappingURL=isBrowserEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBrowserEnvironment.js","sourceRoot":"","sources":["../../../../src/helpers/browser/isBrowserEnvironment.ts"],"names":[],"mappings":";;;AAAO,MAAM,oBAAoB,GAAG,GAAY,EAAE,CAAC,KAAK,CAAA;AAA3C,QAAA,oBAAoB,wBAAuB"}
@@ -0,0 +1 @@
1
+ export declare const isBrowserEnvironment: () => boolean;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ // webpack overwrites the isBrowserEnvironment.ts with this file when it creates the browser bundle
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isBrowserEnvironment = void 0;
5
+ const isBrowserEnvironment = () => true;
6
+ exports.isBrowserEnvironment = isBrowserEnvironment;
7
+ //# sourceMappingURL=isBrowserEnvironment_override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBrowserEnvironment_override.js","sourceRoot":"","sources":["../../../../src/helpers/browser/isBrowserEnvironment_override.ts"],"names":[],"mappings":";AAAA,mGAAmG;;;AAE5F,MAAM,oBAAoB,GAAG,GAAY,EAAE,CAAC,IAAI,CAAA;AAA1C,QAAA,oBAAoB,wBAAsB"}
@@ -0,0 +1 @@
1
+ export declare const createRandomKademliaId: () => Uint8Array;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createRandomKademliaId = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ // https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf
9
+ const KADEMLIA_ID_LENGTH_IN_BYTES = 20;
10
+ const createRandomKademliaId = () => {
11
+ return crypto_1.default.randomBytes(KADEMLIA_ID_LENGTH_IN_BYTES);
12
+ };
13
+ exports.createRandomKademliaId = createRandomKademliaId;
14
+ //# sourceMappingURL=kademliaId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kademliaId.js","sourceRoot":"","sources":["../../../src/helpers/kademliaId.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA2B;AAE3B,wDAAwD;AACxD,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE/B,MAAM,sBAAsB,GAAG,GAAe,EAAE;IACnD,OAAO,gBAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC"}
@@ -2,4 +2,4 @@ import { PeerDescriptor } from '../proto/packages/dht/protos/DhtRpc';
2
2
  import { PeerID, PeerIDKey } from './PeerID';
3
3
  export declare const peerIdFromPeerDescriptor: (peerDescriptor: PeerDescriptor) => PeerID;
4
4
  export declare const keyFromPeerDescriptor: (peerDescriptor: PeerDescriptor) => PeerIDKey;
5
- export declare const isSamePeerDescriptor: (peerDescriptor1: PeerDescriptor, peerDescriptor2: PeerDescriptor) => boolean;
5
+ export declare const areEqualPeerDescriptors: (peerDescriptor1: PeerDescriptor, peerDescriptor2: PeerDescriptor) => boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSamePeerDescriptor = exports.keyFromPeerDescriptor = exports.peerIdFromPeerDescriptor = void 0;
3
+ exports.areEqualPeerDescriptors = exports.keyFromPeerDescriptor = exports.peerIdFromPeerDescriptor = void 0;
4
4
  const PeerID_1 = require("./PeerID");
5
5
  const peerIdFromPeerDescriptor = (peerDescriptor) => {
6
6
  return PeerID_1.PeerID.fromValue(peerDescriptor.kademliaId);
@@ -10,8 +10,8 @@ const keyFromPeerDescriptor = (peerDescriptor) => {
10
10
  return PeerID_1.PeerID.fromValue(peerDescriptor.kademliaId).toKey();
11
11
  };
12
12
  exports.keyFromPeerDescriptor = keyFromPeerDescriptor;
13
- const isSamePeerDescriptor = (peerDescriptor1, peerDescriptor2) => {
13
+ const areEqualPeerDescriptors = (peerDescriptor1, peerDescriptor2) => {
14
14
  return (0, exports.peerIdFromPeerDescriptor)(peerDescriptor1).equals((0, exports.peerIdFromPeerDescriptor)(peerDescriptor2));
15
15
  };
16
- exports.isSamePeerDescriptor = isSamePeerDescriptor;
16
+ exports.areEqualPeerDescriptors = areEqualPeerDescriptors;
17
17
  //# sourceMappingURL=peerIdFromPeerDescriptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peerIdFromPeerDescriptor.js","sourceRoot":"","sources":["../../../src/helpers/peerIdFromPeerDescriptor.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAErC,MAAM,wBAAwB,GAAG,CAAC,cAA8B,EAAU,EAAE;IAC/E,OAAO,eAAM,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AACtD,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAEM,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAa,EAAE;IAC/E,OAAO,eAAM,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;AAC9D,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAEM,MAAM,oBAAoB,GAAG,CAAC,eAA+B,EAAE,eAA+B,EAAW,EAAE;IAC9G,OAAO,IAAA,gCAAwB,EAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAA,gCAAwB,EAAC,eAAe,CAAC,CAAC,CAAA;AACtG,CAAC,CAAA;AAFY,QAAA,oBAAoB,wBAEhC"}
1
+ {"version":3,"file":"peerIdFromPeerDescriptor.js","sourceRoot":"","sources":["../../../src/helpers/peerIdFromPeerDescriptor.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAErC,MAAM,wBAAwB,GAAG,CAAC,cAA8B,EAAU,EAAE;IAC/E,OAAO,eAAM,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;AACtD,CAAC,CAAA;AAFY,QAAA,wBAAwB,4BAEpC;AAEM,MAAM,qBAAqB,GAAG,CAAC,cAA8B,EAAa,EAAE;IAC/E,OAAO,eAAM,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;AAC9D,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAEM,MAAM,uBAAuB,GAAG,CAAC,eAA+B,EAAE,eAA+B,EAAW,EAAE;IACjH,OAAO,IAAA,gCAAwB,EAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAA,gCAAwB,EAAC,eAAe,CAAC,CAAC,CAAA;AACtG,CAAC,CAAA;AAFY,QAAA,uBAAuB,2BAEnC"}
@@ -5,8 +5,8 @@ const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
5
5
  exports.protoClasses = [
6
6
  DhtRpc_1.ClosestPeersRequest,
7
7
  DhtRpc_1.ClosestPeersResponse,
8
- DhtRpc_1.RecursiveFindRequest,
9
- DhtRpc_1.RecursiveFindReport,
8
+ DhtRpc_1.FindRequest,
9
+ DhtRpc_1.FindResponse,
10
10
  DhtRpc_1.PingRequest,
11
11
  DhtRpc_1.PingResponse,
12
12
  DhtRpc_1.LeaveNotice,
@@ -1 +1 @@
1
- {"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,gEA4B4C;AAE/B,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,6BAAoB;IACpB,4BAAmB;IACnB,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,oCAA2B;IAC3B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
1
+ {"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,gEA4B4C;AAE/B,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,oCAA2B;IAC3B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}