@streamr/dht 100.2.5-beta.1 → 101.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist/package.json +7 -7
  2. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +3 -3
  3. package/dist/src/connection/ConnectionLockRpcLocal.js +8 -8
  4. package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
  5. package/dist/src/connection/ConnectionLockRpcRemote.js +1 -1
  6. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  7. package/dist/src/connection/ConnectionManager.d.ts +4 -6
  8. package/dist/src/connection/ConnectionManager.js +128 -103
  9. package/dist/src/connection/ConnectionManager.js.map +1 -1
  10. package/dist/src/connection/ConnectorFacade.d.ts +15 -14
  11. package/dist/src/connection/ConnectorFacade.js +70 -52
  12. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  13. package/dist/src/connection/Handshaker.d.ts +9 -2
  14. package/dist/src/connection/Handshaker.js +117 -27
  15. package/dist/src/connection/Handshaker.js.map +1 -1
  16. package/dist/src/connection/ManagedConnection.d.ts +13 -38
  17. package/dist/src/connection/ManagedConnection.js +31 -252
  18. package/dist/src/connection/ManagedConnection.js.map +1 -1
  19. package/dist/src/connection/OutputBuffer.d.ts +9 -0
  20. package/dist/src/connection/OutputBuffer.js +26 -0
  21. package/dist/src/connection/OutputBuffer.js.map +1 -0
  22. package/dist/src/connection/PendingConnection.d.ts +19 -0
  23. package/dist/src/connection/PendingConnection.js +59 -0
  24. package/dist/src/connection/PendingConnection.js.map +1 -0
  25. package/dist/src/connection/connectivityChecker.js +3 -3
  26. package/dist/src/connection/connectivityChecker.js.map +1 -1
  27. package/dist/src/connection/connectivityRequestHandler.js +2 -2
  28. package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
  29. package/dist/src/connection/simulator/Simulator.d.ts +1 -3
  30. package/dist/src/connection/simulator/Simulator.js +1 -4
  31. package/dist/src/connection/simulator/Simulator.js.map +1 -1
  32. package/dist/src/connection/simulator/SimulatorConnection.js +1 -2
  33. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
  34. package/dist/src/connection/simulator/SimulatorConnector.d.ts +3 -3
  35. package/dist/src/connection/simulator/SimulatorConnector.js +28 -21
  36. package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
  37. package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +1 -6
  38. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +3 -20
  39. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
  40. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +11 -6
  41. package/dist/src/connection/webrtc/WebrtcConnector.js +57 -42
  42. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  43. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +8 -10
  44. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +21 -44
  45. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  46. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js +8 -2
  47. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js.map +1 -1
  48. package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +3 -3
  49. package/dist/src/connection/websocket/AutoCertifierClientFacade.js +8 -8
  50. package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +1 -1
  51. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js +1 -1
  52. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js.map +1 -1
  53. package/dist/src/connection/websocket/WebsocketClientConnector.d.ts +26 -0
  54. package/dist/src/connection/websocket/WebsocketClientConnector.js +86 -0
  55. package/dist/src/connection/websocket/WebsocketClientConnector.js.map +1 -0
  56. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +19 -0
  57. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js +23 -0
  58. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js.map +1 -0
  59. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.d.ts +5 -0
  60. package/dist/src/connection/websocket/{WebsocketConnectorRpcRemote.js → WebsocketClientConnectorRpcRemote.js} +4 -4
  61. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js.map +1 -0
  62. package/dist/src/connection/websocket/WebsocketServer.d.ts +8 -5
  63. package/dist/src/connection/websocket/WebsocketServer.js +11 -11
  64. package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
  65. package/dist/src/connection/websocket/{WebsocketConnector.d.ts → WebsocketServerConnector.d.ts} +16 -21
  66. package/dist/src/connection/websocket/{WebsocketConnector.js → WebsocketServerConnector.js} +112 -160
  67. package/dist/src/connection/websocket/WebsocketServerConnector.js.map +1 -0
  68. package/dist/src/dht/DhtNode.d.ts +4 -4
  69. package/dist/src/dht/DhtNode.js +85 -84
  70. package/dist/src/dht/DhtNode.js.map +1 -1
  71. package/dist/src/dht/DhtNodeRpcLocal.d.ts +3 -3
  72. package/dist/src/dht/DhtNodeRpcLocal.js +9 -9
  73. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  74. package/dist/src/dht/ExternalApiRpcLocal.d.ts +3 -3
  75. package/dist/src/dht/ExternalApiRpcLocal.js +5 -5
  76. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  77. package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
  78. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  79. package/dist/src/dht/PeerManager.d.ts +4 -4
  80. package/dist/src/dht/PeerManager.js +22 -22
  81. package/dist/src/dht/PeerManager.js.map +1 -1
  82. package/dist/src/dht/contact/SortedContactList.d.ts +3 -3
  83. package/dist/src/dht/contact/SortedContactList.js +9 -9
  84. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  85. package/dist/src/dht/discovery/DiscoverySession.d.ts +3 -3
  86. package/dist/src/dht/discovery/DiscoverySession.js +21 -21
  87. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  88. package/dist/src/dht/discovery/PeerDiscovery.d.ts +3 -3
  89. package/dist/src/dht/discovery/PeerDiscovery.js +46 -44
  90. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  91. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +3 -3
  92. package/dist/src/dht/discovery/RingDiscoverySession.js +19 -19
  93. package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -1
  94. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +3 -3
  95. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +33 -33
  96. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
  97. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +3 -3
  98. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +8 -8
  99. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -1
  100. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +4 -4
  101. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +24 -24
  102. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
  103. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +4 -4
  104. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +5 -5
  105. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -1
  106. package/dist/src/dht/routing/Router.d.ts +3 -3
  107. package/dist/src/dht/routing/Router.js +20 -20
  108. package/dist/src/dht/routing/Router.js.map +1 -1
  109. package/dist/src/dht/routing/RouterRpcLocal.d.ts +3 -3
  110. package/dist/src/dht/routing/RouterRpcLocal.js +16 -16
  111. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  112. package/dist/src/dht/routing/RoutingSession.d.ts +3 -3
  113. package/dist/src/dht/routing/RoutingSession.js +24 -24
  114. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  115. package/dist/src/dht/store/StoreManager.d.ts +3 -3
  116. package/dist/src/dht/store/StoreManager.js +25 -25
  117. package/dist/src/dht/store/StoreManager.js.map +1 -1
  118. package/dist/src/dht/store/StoreRpcLocal.d.ts +3 -3
  119. package/dist/src/dht/store/StoreRpcLocal.js +12 -12
  120. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  121. package/dist/src/exports.d.ts +3 -0
  122. package/dist/src/exports.js +5 -1
  123. package/dist/src/exports.js.map +1 -1
  124. package/dist/src/proto/google/protobuf/any.d.ts +5 -8
  125. package/dist/src/proto/google/protobuf/any.js.map +1 -1
  126. package/dist/src/proto/google/protobuf/empty.d.ts +1 -0
  127. package/dist/src/proto/google/protobuf/empty.js.map +1 -1
  128. package/dist/src/proto/google/protobuf/timestamp.d.ts +1 -10
  129. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
  130. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +4 -4
  131. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +8 -8
  132. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  133. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +3 -3
  134. package/dist/src/proto/packages/dht/protos/DhtRpc.js +4 -4
  135. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  136. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -2
  137. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  138. package/dist/src/transport/ListeningRpcCommunicator.d.ts +2 -2
  139. package/dist/src/transport/ListeningRpcCommunicator.js +2 -2
  140. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
  141. package/dist/src/transport/RoutingRpcCommunicator.d.ts +2 -2
  142. package/dist/src/transport/RoutingRpcCommunicator.js +2 -2
  143. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  144. package/package.json +7 -7
  145. package/protos/DhtRpc.proto +1 -1
  146. package/src/connection/ConnectionLockRpcLocal.ts +9 -9
  147. package/src/connection/ConnectionLockRpcRemote.ts +1 -1
  148. package/src/connection/ConnectionManager.ts +153 -111
  149. package/src/connection/ConnectorFacade.ts +84 -61
  150. package/src/connection/Handshaker.ts +131 -27
  151. package/src/connection/ManagedConnection.ts +41 -304
  152. package/src/connection/OutputBuffer.ts +28 -0
  153. package/src/connection/PendingConnection.ts +68 -0
  154. package/src/connection/connectivityChecker.ts +2 -2
  155. package/src/connection/connectivityRequestHandler.ts +1 -1
  156. package/src/connection/simulator/Simulator.ts +1 -5
  157. package/src/connection/simulator/SimulatorConnection.ts +1 -2
  158. package/src/connection/simulator/SimulatorConnector.ts +34 -33
  159. package/src/connection/webrtc/BrowserWebrtcConnection.ts +0 -6
  160. package/src/connection/webrtc/NodeWebrtcConnection.ts +3 -24
  161. package/src/connection/webrtc/WebrtcConnector.ts +73 -62
  162. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +26 -56
  163. package/src/connection/websocket/AbstractWebsocketClientConnection.ts +8 -2
  164. package/src/connection/websocket/AutoCertifierClientFacade.ts +11 -11
  165. package/src/connection/websocket/NodeWebsocketClientConnection.ts +1 -1
  166. package/src/connection/websocket/WebsocketClientConnector.ts +119 -0
  167. package/src/connection/websocket/WebsocketClientConnectorRpcLocal.ts +39 -0
  168. package/src/connection/websocket/{WebsocketConnectorRpcRemote.ts → WebsocketClientConnectorRpcRemote.ts} +2 -2
  169. package/src/connection/websocket/WebsocketServer.ts +18 -14
  170. package/src/connection/websocket/{WebsocketConnector.ts → WebsocketServerConnector.ts} +128 -205
  171. package/src/dht/DhtNode.ts +90 -89
  172. package/src/dht/DhtNodeRpcLocal.ts +11 -11
  173. package/src/dht/ExternalApiRpcLocal.ts +6 -6
  174. package/src/dht/ExternalApiRpcRemote.ts +2 -2
  175. package/src/dht/PeerManager.ts +24 -24
  176. package/src/dht/contact/SortedContactList.ts +10 -10
  177. package/src/dht/discovery/DiscoverySession.ts +24 -24
  178. package/src/dht/discovery/PeerDiscovery.ts +47 -45
  179. package/src/dht/discovery/RingDiscoverySession.ts +23 -23
  180. package/src/dht/recursive-operation/RecursiveOperationManager.ts +36 -36
  181. package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +9 -9
  182. package/src/dht/recursive-operation/RecursiveOperationSession.ts +25 -25
  183. package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +7 -7
  184. package/src/dht/routing/Router.ts +21 -21
  185. package/src/dht/routing/RouterRpcLocal.ts +17 -17
  186. package/src/dht/routing/RoutingSession.ts +26 -26
  187. package/src/dht/store/StoreManager.ts +27 -27
  188. package/src/dht/store/StoreRpcLocal.ts +13 -13
  189. package/src/exports.ts +3 -0
  190. package/src/proto/google/protobuf/any.ts +6 -9
  191. package/src/proto/google/protobuf/empty.ts +2 -1
  192. package/src/proto/google/protobuf/timestamp.ts +2 -11
  193. package/src/proto/packages/dht/protos/DhtRpc.client.ts +9 -9
  194. package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -3
  195. package/src/proto/packages/dht/protos/DhtRpc.ts +4 -4
  196. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  197. package/src/transport/ListeningRpcCommunicator.ts +3 -3
  198. package/src/transport/RoutingRpcCommunicator.ts +3 -3
  199. package/test/end-to-end/Layer0Webrtc.test.ts +0 -10
  200. package/test/integration/ConnectionManager.test.ts +3 -2
  201. package/test/integration/GeoIpConnectivityChecking.test.ts +1 -1
  202. package/test/integration/SimultaneousConnections.test.ts +2 -2
  203. package/test/integration/WebrtcConnectionManagement.test.ts +2 -10
  204. package/test/integration/{WebsocketConnectorRpc.test.ts → WebsocketClientConnectorRpc.test.ts} +9 -9
  205. package/test/integration/WebsocketConnectionManagement.test.ts +11 -29
  206. package/test/unit/ConnectionManager.test.ts +64 -0
  207. package/test/unit/DiscoverySession.test.ts +1 -1
  208. package/test/unit/Handshaker.test.ts +169 -0
  209. package/test/unit/ManagedConnection.test.ts +58 -0
  210. package/test/unit/PendingConnection.test.ts +57 -0
  211. package/test/unit/WebrtcConnector.test.ts +56 -0
  212. package/test/unit/{WebsocketConnector.test.ts → WebsocketClientConnector.test.ts} +56 -11
  213. package/test/unit/WebsocketServerConnector.test.ts +102 -0
  214. package/test/utils/FakeConnectorFacade.ts +41 -0
  215. package/test/utils/mock/MockConnection.ts +26 -0
  216. package/test/utils/utils.ts +2 -2
  217. package/dist/src/connection/IConnectionSource.d.ts +0 -4
  218. package/dist/src/connection/IConnectionSource.js +0 -3
  219. package/dist/src/connection/IConnectionSource.js.map +0 -1
  220. package/dist/src/connection/webrtc/ManagedWebrtcConnection.d.ts +0 -7
  221. package/dist/src/connection/webrtc/ManagedWebrtcConnection.js +0 -20
  222. package/dist/src/connection/webrtc/ManagedWebrtcConnection.js.map +0 -1
  223. package/dist/src/connection/websocket/WebsocketConnector.js.map +0 -1
  224. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +0 -19
  225. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +0 -23
  226. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +0 -1
  227. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +0 -5
  228. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +0 -1
  229. package/src/connection/IConnectionSource.ts +0 -6
  230. package/src/connection/webrtc/ManagedWebrtcConnection.ts +0 -27
  231. package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +0 -39
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DhtNode = void 0;
3
+ exports.DhtNode = exports.CONTROL_LAYER_NODE_SERVICE_ID = void 0;
4
4
  const utils_1 = require("@streamr/utils");
5
5
  const eventemitter3_1 = require("eventemitter3");
6
6
  const lodash_1 = require("lodash");
@@ -26,8 +26,10 @@ const StoreRpcRemote_1 = require("./store/StoreRpcRemote");
26
26
  const cdn_location_1 = require("@streamr/cdn-location");
27
27
  const logger = new utils_1.Logger(module);
28
28
  const PERIODICAL_PING_INTERVAL = 60 * 1000;
29
+ // TODO move this to trackerless-network package and change serviceId to be a required paramater
30
+ exports.CONTROL_LAYER_NODE_SERVICE_ID = 'layer0';
29
31
  class DhtNode extends eventemitter3_1.EventEmitter {
30
- config;
32
+ options;
31
33
  rpcCommunicator;
32
34
  transport;
33
35
  localPeerDescriptor;
@@ -43,10 +45,10 @@ class DhtNode extends eventemitter3_1.EventEmitter {
43
45
  abortController = new AbortController();
44
46
  constructor(conf) {
45
47
  super();
46
- this.config = (0, utils_1.merge)({
47
- serviceId: 'layer0',
48
+ this.options = (0, utils_1.merge)({
49
+ serviceId: exports.CONTROL_LAYER_NODE_SERVICE_ID,
48
50
  joinParallelism: 3,
49
- maxNeighborListSize: 200,
51
+ maxContactCount: 200,
50
52
  numberOfNodesPerKBucket: 8,
51
53
  joinNoProgressLimit: 5,
52
54
  dhtJoinTimeout: 60000,
@@ -58,26 +60,26 @@ class DhtNode extends eventemitter3_1.EventEmitter {
58
60
  storageRedundancyFactor: 5, // TODO validate that this is > 1 (as each node should replicate the data to other node)
59
61
  metricsContext: new utils_1.MetricsContext()
60
62
  }, conf);
61
- this.validateConfig();
62
- this.localDataStore = new LocalDataStore_1.LocalDataStore(this.config.storeMaxTtl);
63
+ this.validateOptions();
64
+ this.localDataStore = new LocalDataStore_1.LocalDataStore(this.options.storeMaxTtl);
63
65
  this.send = this.send.bind(this);
64
66
  }
65
- validateConfig() {
67
+ validateOptions() {
66
68
  const expectedNodeIdLength = identifiers_1.KADEMLIA_ID_LENGTH_IN_BYTES * 2;
67
- if (this.config.nodeId !== undefined) {
68
- if (!/^[0-9a-fA-F]+$/.test(this.config.nodeId)) {
69
+ if (this.options.nodeId !== undefined) {
70
+ if (!/^[0-9a-fA-F]+$/.test(this.options.nodeId)) {
69
71
  throw new Error('Invalid nodeId, the nodeId should be a hex string');
70
72
  }
71
- else if (this.config.nodeId.length !== expectedNodeIdLength) {
73
+ else if (this.options.nodeId.length !== expectedNodeIdLength) {
72
74
  throw new Error(`Invalid nodeId, the length of the nodeId should be ${expectedNodeIdLength}`);
73
75
  }
74
76
  }
75
- if (this.config.peerDescriptor !== undefined) {
76
- if (this.config.peerDescriptor.nodeId.length !== identifiers_1.KADEMLIA_ID_LENGTH_IN_BYTES) {
77
+ if (this.options.peerDescriptor !== undefined) {
78
+ if (this.options.peerDescriptor.nodeId.length !== identifiers_1.KADEMLIA_ID_LENGTH_IN_BYTES) {
77
79
  throw new Error(`Invalid peerDescriptor, the length of the nodeId should be ${identifiers_1.KADEMLIA_ID_LENGTH_IN_BYTES} bytes`);
78
80
  }
79
81
  }
80
- if (this.config.transport !== undefined && this.config.connectionsView === undefined) {
82
+ if (this.options.transport !== undefined && this.options.connectionsView === undefined) {
81
83
  throw new Error('connectionsView is required when transport is given');
82
84
  }
83
85
  }
@@ -85,72 +87,71 @@ class DhtNode extends eventemitter3_1.EventEmitter {
85
87
  if (this.started || this.abortController.signal.aborted) {
86
88
  return;
87
89
  }
88
- logger.trace(`Starting new Streamr Network DHT Node with serviceId ${this.config.serviceId}`);
90
+ logger.trace(`Starting new Streamr Network DHT Node with serviceId ${this.options.serviceId}`);
89
91
  this.started = true;
90
92
  if ((0, isBrowserEnvironment_1.isBrowserEnvironment)()) {
91
- this.config.websocketPortRange = undefined;
92
- if (this.config.peerDescriptor) {
93
- this.config.peerDescriptor.websocket = undefined;
93
+ this.options.websocketPortRange = undefined;
94
+ if (this.options.peerDescriptor) {
95
+ this.options.peerDescriptor.websocket = undefined;
94
96
  }
95
97
  }
96
98
  // If transport is given, do not create a ConnectionManager
97
- if (this.config.transport) {
98
- this.transport = this.config.transport;
99
- this.connectionsView = this.config.connectionsView;
100
- this.connectionLocker = this.config.connectionLocker;
99
+ if (this.options.transport) {
100
+ this.transport = this.options.transport;
101
+ this.connectionsView = this.options.connectionsView;
102
+ this.connectionLocker = this.options.connectionLocker;
101
103
  this.localPeerDescriptor = this.transport.getLocalPeerDescriptor();
102
104
  }
103
105
  else {
104
- const connectorFacadeConfig = {
106
+ const connectorFacadeOptions = {
105
107
  transport: this,
106
- entryPoints: this.config.entryPoints,
107
- iceServers: this.config.iceServers,
108
- webrtcAllowPrivateAddresses: this.config.webrtcAllowPrivateAddresses,
109
- webrtcDatachannelBufferThresholdLow: this.config.webrtcDatachannelBufferThresholdLow,
110
- webrtcDatachannelBufferThresholdHigh: this.config.webrtcDatachannelBufferThresholdHigh,
111
- webrtcNewConnectionTimeout: this.config.webrtcNewConnectionTimeout,
112
- webrtcPortRange: this.config.webrtcPortRange,
113
- maxMessageSize: this.config.maxMessageSize,
114
- websocketServerEnableTls: this.config.websocketServerEnableTls,
115
- tlsCertificate: this.config.tlsCertificate,
116
- externalIp: this.config.externalIp,
117
- autoCertifierUrl: this.config.autoCertifierUrl,
118
- autoCertifierConfigFile: this.config.autoCertifierConfigFile,
119
- geoIpDatabaseFolder: this.config.geoIpDatabaseFolder,
108
+ entryPoints: this.options.entryPoints,
109
+ iceServers: this.options.iceServers,
110
+ webrtcAllowPrivateAddresses: this.options.webrtcAllowPrivateAddresses,
111
+ webrtcDatachannelBufferThresholdLow: this.options.webrtcDatachannelBufferThresholdLow,
112
+ webrtcDatachannelBufferThresholdHigh: this.options.webrtcDatachannelBufferThresholdHigh,
113
+ webrtcPortRange: this.options.webrtcPortRange,
114
+ maxMessageSize: this.options.maxMessageSize,
115
+ websocketServerEnableTls: this.options.websocketServerEnableTls,
116
+ tlsCertificate: this.options.tlsCertificate,
117
+ externalIp: this.options.externalIp,
118
+ autoCertifierUrl: this.options.autoCertifierUrl,
119
+ autoCertifierConfigFile: this.options.autoCertifierConfigFile,
120
+ geoIpDatabaseFolder: this.options.geoIpDatabaseFolder,
120
121
  createLocalPeerDescriptor: (connectivityResponse) => this.generatePeerDescriptorCallBack(connectivityResponse)
121
122
  };
122
- // If own PeerDescriptor is given in config, create a ConnectionManager with ws server
123
- if (this.config.peerDescriptor?.websocket) {
124
- connectorFacadeConfig.websocketHost = this.config.peerDescriptor.websocket.host;
125
- connectorFacadeConfig.websocketPortRange = {
126
- min: this.config.peerDescriptor.websocket.port,
127
- max: this.config.peerDescriptor.websocket.port
123
+ // If own PeerDescriptor is given in options, create a ConnectionManager with ws server
124
+ if (this.options.peerDescriptor?.websocket) {
125
+ connectorFacadeOptions.websocketHost = this.options.peerDescriptor.websocket.host;
126
+ connectorFacadeOptions.websocketPortRange = {
127
+ min: this.options.peerDescriptor.websocket.port,
128
+ max: this.options.peerDescriptor.websocket.port
128
129
  };
129
130
  // If websocketPortRange is given, create ws server using it, websocketHost can be undefined
130
131
  }
131
- else if (this.config.websocketPortRange) {
132
- connectorFacadeConfig.websocketHost = this.config.websocketHost;
133
- connectorFacadeConfig.websocketPortRange = this.config.websocketPortRange;
132
+ else if (this.options.websocketPortRange) {
133
+ connectorFacadeOptions.websocketHost = this.options.websocketHost;
134
+ connectorFacadeOptions.websocketPortRange = this.options.websocketPortRange;
134
135
  }
135
136
  const connectionManager = new ConnectionManager_1.ConnectionManager({
136
- createConnectorFacade: () => new ConnectorFacade_1.DefaultConnectorFacade(connectorFacadeConfig),
137
- maxConnections: this.config.maxConnections,
138
- metricsContext: this.config.metricsContext
137
+ createConnectorFacade: () => new ConnectorFacade_1.DefaultConnectorFacade(connectorFacadeOptions),
138
+ maxConnections: this.options.maxConnections,
139
+ metricsContext: this.options.metricsContext
139
140
  });
140
141
  await connectionManager.start();
141
142
  this.connectionsView = connectionManager;
142
143
  this.connectionLocker = connectionManager;
143
144
  this.transport = connectionManager;
144
145
  }
145
- this.rpcCommunicator = new RoutingRpcCommunicator_1.RoutingRpcCommunicator(this.config.serviceId, (msg, opts) => this.transport.send(msg, opts), { rpcRequestTimeout: this.config.rpcRequestTimeout });
146
+ this.rpcCommunicator = new RoutingRpcCommunicator_1.RoutingRpcCommunicator(this.options.serviceId, (msg, opts) => this.transport.send(msg, opts), { rpcRequestTimeout: this.options.rpcRequestTimeout });
146
147
  this.transport.on('message', (message) => this.handleMessageFromTransport(message));
147
148
  this.initPeerManager();
148
149
  this.peerDiscovery = new PeerDiscovery_1.PeerDiscovery({
149
150
  localPeerDescriptor: this.localPeerDescriptor,
150
- joinNoProgressLimit: this.config.joinNoProgressLimit,
151
- joinTimeout: this.config.dhtJoinTimeout,
152
- serviceId: this.config.serviceId,
153
- parallelism: this.config.joinParallelism,
151
+ joinNoProgressLimit: this.options.joinNoProgressLimit,
152
+ joinTimeout: this.options.dhtJoinTimeout,
153
+ serviceId: this.options.serviceId,
154
+ parallelism: this.options.joinParallelism,
154
155
  connectionLocker: this.connectionLocker,
155
156
  peerManager: this.peerManager,
156
157
  abortSignal: this.abortController.signal,
@@ -168,7 +169,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
168
169
  sessionTransport: this,
169
170
  connectionsView: this.connectionsView,
170
171
  localPeerDescriptor: this.localPeerDescriptor,
171
- serviceId: this.config.serviceId,
172
+ serviceId: this.options.serviceId,
172
173
  localDataStore: this.localDataStore,
173
174
  addContact: (contact) => this.peerManager.addContact(contact),
174
175
  createDhtNodeRpcRemote: (peerDescriptor) => this.createDhtNodeRpcRemote(peerDescriptor),
@@ -177,13 +178,13 @@ class DhtNode extends eventemitter3_1.EventEmitter {
177
178
  rpcCommunicator: this.rpcCommunicator,
178
179
  recursiveOperationManager: this.recursiveOperationManager,
179
180
  localPeerDescriptor: this.localPeerDescriptor,
180
- serviceId: this.config.serviceId,
181
- highestTtl: this.config.storeHighestTtl,
182
- redundancyFactor: this.config.storageRedundancyFactor,
181
+ serviceId: this.options.serviceId,
182
+ highestTtl: this.options.storeHighestTtl,
183
+ redundancyFactor: this.options.storageRedundancyFactor,
183
184
  localDataStore: this.localDataStore,
184
185
  getNeighbors: () => this.peerManager.getNeighbors().map((n) => n.getPeerDescriptor()),
185
186
  createRpcRemote: (contact) => {
186
- return new StoreRpcRemote_1.StoreRpcRemote(this.localPeerDescriptor, contact, this.rpcCommunicator, DhtRpc_client_1.StoreRpcClient, this.config.rpcRequestTimeout);
187
+ return new StoreRpcRemote_1.StoreRpcRemote(this.localPeerDescriptor, contact, this.rpcCommunicator, DhtRpc_client_1.StoreRpcClient, this.options.rpcRequestTimeout);
187
188
  }
188
189
  });
189
190
  this.on('nearbyContactAdded', (peerDescriptor) => {
@@ -191,10 +192,10 @@ class DhtNode extends eventemitter3_1.EventEmitter {
191
192
  });
192
193
  this.bindRpcLocalMethods();
193
194
  const pruneTargets = [];
194
- if (this.config.periodicallyPingNeighbors === true) {
195
+ if (this.options.periodicallyPingNeighbors === true) {
195
196
  pruneTargets.push(() => this.peerManager.getNeighbors().map((node) => this.createDhtNodeRpcRemote(node.getPeerDescriptor())));
196
197
  }
197
- if (this.config.periodicallyPingRingContacts === true) {
198
+ if (this.options.periodicallyPingRingContacts === true) {
198
199
  pruneTargets.push(() => this.peerManager.getRingContacts().getAllContacts());
199
200
  }
200
201
  for (const pruneTarget of pruneTargets) {
@@ -206,12 +207,12 @@ class DhtNode extends eventemitter3_1.EventEmitter {
206
207
  }
207
208
  initPeerManager() {
208
209
  this.peerManager = new PeerManager_1.PeerManager({
209
- numberOfNodesPerKBucket: this.config.numberOfNodesPerKBucket,
210
- maxContactListSize: this.config.maxNeighborListSize,
210
+ numberOfNodesPerKBucket: this.options.numberOfNodesPerKBucket,
211
+ maxContactCount: this.options.maxContactCount,
211
212
  localNodeId: this.getNodeId(),
212
213
  localPeerDescriptor: this.localPeerDescriptor,
213
214
  connectionLocker: this.connectionLocker,
214
- lockId: this.config.serviceId,
215
+ lockId: this.options.serviceId,
215
216
  createDhtNodeRpcRemote: (peerDescriptor) => this.createDhtNodeRpcRemote(peerDescriptor),
216
217
  hasConnection: (nodeId) => this.connectionsView.hasConnection(nodeId)
217
218
  });
@@ -229,12 +230,12 @@ class DhtNode extends eventemitter3_1.EventEmitter {
229
230
  });
230
231
  this.peerManager.on('kBucketEmpty', () => {
231
232
  if (!this.peerDiscovery.isJoinOngoing()) {
232
- if (this.config.entryPoints && this.config.entryPoints.length > 0) {
233
+ if (this.options.entryPoints && this.options.entryPoints.length > 0) {
233
234
  setImmediate(async () => {
234
235
  const contactedPeers = new Set();
235
236
  const distantJoinContactPeers = new Set();
236
237
  // TODO should we catch possible promise rejection?
237
- await Promise.all(this.config.entryPoints.map((entryPoint) => this.peerDiscovery.rejoinDht(entryPoint, contactedPeers, distantJoinContactPeers)));
238
+ await Promise.all(this.options.entryPoints.map((entryPoint) => this.peerDiscovery.rejoinDht(entryPoint, contactedPeers, distantJoinContactPeers)));
238
239
  });
239
240
  }
240
241
  else {
@@ -247,8 +248,8 @@ class DhtNode extends eventemitter3_1.EventEmitter {
247
248
  this.emit('connected', peerDescriptor);
248
249
  });
249
250
  this.transport.on('disconnected', (peerDescriptor, gracefulLeave) => {
250
- const isLayer0 = (this.connectionLocker !== undefined);
251
- if (isLayer0) {
251
+ const isControlLayerNode = (this.connectionLocker !== undefined);
252
+ if (isControlLayerNode) {
252
253
  const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(peerDescriptor);
253
254
  if (gracefulLeave) {
254
255
  this.peerManager.removeContact(nodeId);
@@ -266,7 +267,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
266
267
  return;
267
268
  }
268
269
  const dhtNodeRpcLocal = new DhtNodeRpcLocal_1.DhtNodeRpcLocal({
269
- peerDiscoveryQueryBatchSize: this.config.peerDiscoveryQueryBatchSize,
270
+ peerDiscoveryQueryBatchSize: this.options.peerDiscoveryQueryBatchSize,
270
271
  getNeighbors: () => this.peerManager.getNeighbors().map((n) => n.getPeerDescriptor()),
271
272
  getClosestRingContactsTo: (ringIdRaw, limit) => {
272
273
  return this.getClosestRingContactsTo(ringIdRaw, limit);
@@ -284,18 +285,18 @@ class DhtNode extends eventemitter3_1.EventEmitter {
284
285
  },
285
286
  storeDataToDht: (key, data, creator) => this.storeDataToDht(key, data, creator)
286
287
  });
287
- this.rpcCommunicator.registerRpcMethod(DhtRpc_1.ExternalFetchDataRequest, DhtRpc_1.ExternalFetchDataResponse, 'externalFetchData', (req, context) => externalApiRpcLocal.externalFetchData(req, context), { timeout: 10000 } // TODO use config option or named constant?
288
+ this.rpcCommunicator.registerRpcMethod(DhtRpc_1.ExternalFetchDataRequest, DhtRpc_1.ExternalFetchDataResponse, 'externalFetchData', (req, context) => externalApiRpcLocal.externalFetchData(req, context), { timeout: 10000 } // TODO use options option or named constant?
288
289
  );
289
- this.rpcCommunicator.registerRpcMethod(DhtRpc_1.ExternalStoreDataRequest, DhtRpc_1.ExternalStoreDataResponse, 'externalStoreData', (req, context) => externalApiRpcLocal.externalStoreData(req, context), { timeout: 10000 } // TODO use config option or named constant?
290
+ this.rpcCommunicator.registerRpcMethod(DhtRpc_1.ExternalStoreDataRequest, DhtRpc_1.ExternalStoreDataResponse, 'externalStoreData', (req, context) => externalApiRpcLocal.externalStoreData(req, context), { timeout: 10000 } // TODO use options option or named constant?
290
291
  );
291
292
  }
292
293
  handleMessageFromTransport(message) {
293
- if (message.serviceId === this.config.serviceId) {
294
+ if (message.serviceId === this.options.serviceId) {
294
295
  this.rpcCommunicator?.handleMessageFromPeer(message);
295
296
  }
296
297
  }
297
298
  handleMessageFromRouter(message) {
298
- if (message.serviceId === this.config.serviceId) {
299
+ if (message.serviceId === this.options.serviceId) {
299
300
  this.rpcCommunicator?.handleMessageFromPeer(message);
300
301
  }
301
302
  else {
@@ -303,14 +304,14 @@ class DhtNode extends eventemitter3_1.EventEmitter {
303
304
  }
304
305
  }
305
306
  async generatePeerDescriptorCallBack(connectivityResponse) {
306
- if (this.config.peerDescriptor !== undefined) {
307
- this.localPeerDescriptor = this.config.peerDescriptor;
307
+ if (this.options.peerDescriptor !== undefined) {
308
+ this.localPeerDescriptor = this.options.peerDescriptor;
308
309
  }
309
310
  else {
310
311
  let region = undefined;
311
- if (this.config.region !== undefined) {
312
- region = this.config.region;
313
- logger.debug(`Using region ${region} from config when generating local PeerDescriptor`);
312
+ if (this.options.region !== undefined) {
313
+ region = this.options.region;
314
+ logger.debug(`Using region ${region} from options when generating local PeerDescriptor`);
314
315
  }
315
316
  else if (connectivityResponse.latitude !== undefined && connectivityResponse.longitude !== undefined) {
316
317
  region = (0, cdn_location_1.getLocalRegionByCoordinates)(connectivityResponse.latitude, connectivityResponse.longitude);
@@ -322,7 +323,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
322
323
  region = await (0, cdn_location_1.getLocalRegionWithCache)();
323
324
  logger.debug(`Using region ${region} from CDN when generating local PeerDescriptor`);
324
325
  }
325
- this.localPeerDescriptor = (0, createPeerDescriptor_1.createPeerDescriptor)(connectivityResponse, region, this.config.nodeId);
326
+ this.localPeerDescriptor = (0, createPeerDescriptor_1.createPeerDescriptor)(connectivityResponse, region, this.options.nodeId);
326
327
  }
327
328
  return this.localPeerDescriptor;
328
329
  }
@@ -368,7 +369,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
368
369
  this.router.send(msg, reachableThrough);
369
370
  }
370
371
  getConnectedEntryPoints() {
371
- return this.config.entryPoints !== undefined ? this.config.entryPoints.filter((entryPoint) => this.connectionsView.hasConnection((0, identifiers_1.getNodeIdFromPeerDescriptor)(entryPoint))) : [];
372
+ return this.options.entryPoints !== undefined ? this.options.entryPoints.filter((entryPoint) => this.connectionsView.hasConnection((0, identifiers_1.getNodeIdFromPeerDescriptor)(entryPoint))) : [];
372
373
  }
373
374
  async joinDht(entryPointDescriptors, doAdditionalDistantPeerDiscovery, retry) {
374
375
  if (!this.started) {
@@ -436,7 +437,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
436
437
  return this.connectionLocker.getWeakLockedConnectionCount();
437
438
  }
438
439
  async waitForNetworkConnectivity() {
439
- await (0, utils_1.waitForCondition)(() => this.connectionsView.getConnectionCount() > 0, this.config.networkConnectivityTimeout, 100, this.abortController.signal);
440
+ await (0, utils_1.waitForCondition)(() => this.connectionsView.getConnectionCount() > 0, this.options.networkConnectivityTimeout, 100, this.abortController.signal);
440
441
  }
441
442
  hasJoined() {
442
443
  return this.peerDiscovery.isJoinCalled();
@@ -453,8 +454,8 @@ class DhtNode extends eventemitter3_1.EventEmitter {
453
454
  this.rpcCommunicator.stop();
454
455
  this.router.stop();
455
456
  this.recursiveOperationManager.stop();
456
- if (this.config.transport === undefined) {
457
- // if the transport was not given in config, the instance was created in start() and
457
+ if (this.options.transport === undefined) {
458
+ // if the transport was not given in options, the instance was created in start() and
458
459
  // this component is responsible for stopping it
459
460
  await this.transport.stop();
460
461
  }
@@ -463,7 +464,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
463
464
  this.removeAllListeners();
464
465
  }
465
466
  createDhtNodeRpcRemote(peerDescriptor) {
466
- return new DhtNodeRpcRemote_1.DhtNodeRpcRemote(this.localPeerDescriptor, peerDescriptor, this.config.serviceId, this.rpcCommunicator, this.config.rpcRequestTimeout);
467
+ return new DhtNodeRpcRemote_1.DhtNodeRpcRemote(this.localPeerDescriptor, peerDescriptor, this.options.serviceId, this.rpcCommunicator, this.options.rpcRequestTimeout);
467
468
  }
468
469
  }
469
470
  exports.DhtNode = DhtNode;
@@ -1 +1 @@
1
- {"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ClosestPeersRequest, ClosestPeersResponse, ClosestRingPeersRequest, Clo
5
5
  import { IDhtNodeRpc } from '../proto/packages/dht/protos/DhtRpc.server';
6
6
  import { RingContacts } from './contact/RingContactList';
7
7
  import { RingIdRaw } from './contact/ringIdentifiers';
8
- interface DhtNodeRpcLocalConfig {
8
+ interface DhtNodeRpcLocalOptions {
9
9
  peerDiscoveryQueryBatchSize: number;
10
10
  getNeighbors: () => ReadonlyArray<PeerDescriptor>;
11
11
  getClosestRingContactsTo: (id: RingIdRaw, limit: number) => RingContacts;
@@ -13,8 +13,8 @@ interface DhtNodeRpcLocalConfig {
13
13
  removeContact: (nodeId: DhtAddress) => void;
14
14
  }
15
15
  export declare class DhtNodeRpcLocal implements IDhtNodeRpc {
16
- private readonly config;
17
- constructor(config: DhtNodeRpcLocalConfig);
16
+ private readonly options;
17
+ constructor(options: DhtNodeRpcLocalOptions);
18
18
  getClosestPeers(request: ClosestPeersRequest, context: ServerCallContext): Promise<ClosestPeersResponse>;
19
19
  getClosestRingPeers(request: ClosestRingPeersRequest, context: ServerCallContext): Promise<ClosestRingPeersResponse>;
20
20
  ping(request: PingRequest, context: ServerCallContext): Promise<PingResponse>;
@@ -6,14 +6,14 @@ const identifiers_1 = require("../identifiers");
6
6
  const getClosestNodes_1 = require("./contact/getClosestNodes");
7
7
  const logger = new utils_1.Logger(module);
8
8
  class DhtNodeRpcLocal {
9
- config;
10
- constructor(config) {
11
- this.config = config;
9
+ options;
10
+ constructor(options) {
11
+ this.options = options;
12
12
  }
13
13
  // TODO rename to getClosestNeighbors (breaking change)
14
14
  async getClosestPeers(request, context) {
15
- this.config.addContact(context.incomingSourceDescriptor);
16
- const peers = (0, getClosestNodes_1.getClosestNodes)((0, identifiers_1.getDhtAddressFromRaw)(request.nodeId), this.config.getNeighbors(), { maxCount: this.config.peerDiscoveryQueryBatchSize });
15
+ this.options.addContact(context.incomingSourceDescriptor);
16
+ const peers = (0, getClosestNodes_1.getClosestNodes)((0, identifiers_1.getDhtAddressFromRaw)(request.nodeId), this.options.getNeighbors(), { maxCount: this.options.peerDiscoveryQueryBatchSize });
17
17
  const response = {
18
18
  peers,
19
19
  requestId: request.requestId
@@ -22,8 +22,8 @@ class DhtNodeRpcLocal {
22
22
  }
23
23
  // TODO rename to getClosestRingContacts (breaking change)
24
24
  async getClosestRingPeers(request, context) {
25
- this.config.addContact(context.incomingSourceDescriptor);
26
- const closestContacts = this.config.getClosestRingContactsTo(request.ringId, this.config.peerDiscoveryQueryBatchSize);
25
+ this.options.addContact(context.incomingSourceDescriptor);
26
+ const closestContacts = this.options.getClosestRingContactsTo(request.ringId, this.options.peerDiscoveryQueryBatchSize);
27
27
  const response = {
28
28
  leftPeers: closestContacts.left,
29
29
  rightPeers: closestContacts.right,
@@ -34,7 +34,7 @@ class DhtNodeRpcLocal {
34
34
  async ping(request, context) {
35
35
  logger.trace('received ping request: ' + (0, identifiers_1.getNodeIdFromPeerDescriptor)(context.incomingSourceDescriptor));
36
36
  setImmediate(() => {
37
- this.config.addContact(context.incomingSourceDescriptor);
37
+ this.options.addContact(context.incomingSourceDescriptor);
38
38
  });
39
39
  const response = {
40
40
  requestId: request.requestId
@@ -46,7 +46,7 @@ class DhtNodeRpcLocal {
46
46
  const sender = context.incomingSourceDescriptor;
47
47
  const senderNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(sender);
48
48
  logger.trace('received leave notice: ' + senderNodeId);
49
- this.config.removeContact(senderNodeId);
49
+ this.options.removeContact(senderNodeId);
50
50
  return {};
51
51
  }
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DhtNodeRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/DhtNodeRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AACvC,gDAA8F;AAc9F,+DAA2D;AAW3D,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,eAAe;IAEP,MAAM,CAAuB;IAE9C,YAAY,MAA6B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,eAAe,CAAC,OAA4B,EAAE,OAA0B;QAC1E,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAC7E,MAAM,KAAK,GAAG,IAAA,iCAAe,EACzB,IAAA,kCAAoB,EAAC,OAAO,CAAC,MAAM,CAAC,EACpC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAC1B,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE,CACxD,CAAA;QACD,MAAM,QAAQ,GAAG;YACb,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,mBAAmB,CAAC,OAAgC,EAAE,OAA0B;QAClF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAA;QAClI,MAAM,QAAQ,GAAG;YACb,SAAS,EAAE,eAAe,CAAC,IAAI;YAC/B,UAAU,EAAE,eAAe,CAAC,KAAK;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB,EAAE,OAA0B;QACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAA,yCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAC,CAAA;QAC5H,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACjF,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAiB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,yBAAyB;QACzB,MAAM,MAAM,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QACpE,MAAM,YAAY,GAAG,IAAA,yCAA2B,EAAC,MAAM,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,YAAY,CAAC,CAAA;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAtDD,0CAsDC"}
1
+ {"version":3,"file":"DhtNodeRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/DhtNodeRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AACvC,gDAA8F;AAc9F,+DAA2D;AAW3D,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,eAAe;IAEP,OAAO,CAAwB;IAEhD,YAAY,OAA+B;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,eAAe,CAAC,OAA4B,EAAE,OAA0B;QAC1E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAC9E,MAAM,KAAK,GAAG,IAAA,iCAAe,EACzB,IAAA,kCAAoB,EAAC,OAAO,CAAC,MAAM,CAAC,EACpC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAC3B,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CACzD,CAAA;QACD,MAAM,QAAQ,GAAG;YACb,KAAK;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,mBAAmB,CAAC,OAAgC,EAAE,OAA0B;QAClF,IAAI,CAAC,OAAO,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAA;QACpI,MAAM,QAAQ,GAAG;YACb,SAAS,EAAE,eAAe,CAAC,IAAI;YAC/B,UAAU,EAAE,eAAe,CAAC,KAAK;YACjC,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB,EAAE,OAA0B;QACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAA,yCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAC,CAAA;QAC5H,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,UAAU,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAClF,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAiB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA0B;QACxC,yBAAyB;QACzB,MAAM,MAAM,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QACpE,MAAM,YAAY,GAAG,IAAA,yCAA2B,EAAC,MAAM,CAAC,CAAA;QACxD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,YAAY,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;QACxC,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAtDD,0CAsDC"}
@@ -4,13 +4,13 @@ import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
4
4
  import { RecursiveOperationResult } from './recursive-operation/RecursiveOperationManager';
5
5
  import { Any } from '../proto/google/protobuf/any';
6
6
  import { DhtAddress } from '../identifiers';
7
- interface ExternalApiRpcLocalConfig {
7
+ interface ExternalApiRpcLocalOptions {
8
8
  executeRecursiveOperation: (targetId: DhtAddress, operation: RecursiveOperation, excludedPeer: DhtAddress) => Promise<RecursiveOperationResult>;
9
9
  storeDataToDht: (key: DhtAddress, data: Any, creator: DhtAddress) => Promise<PeerDescriptor[]>;
10
10
  }
11
11
  export declare class ExternalApiRpcLocal implements IExternalApiRpc {
12
- private readonly config;
13
- constructor(config: ExternalApiRpcLocalConfig);
12
+ private readonly options;
13
+ constructor(options: ExternalApiRpcLocalOptions);
14
14
  externalFetchData(request: ExternalFetchDataRequest, context: ServerCallContext): Promise<ExternalFetchDataResponse>;
15
15
  externalStoreData(request: ExternalStoreDataRequest, context: ServerCallContext): Promise<ExternalStoreDataResponse>;
16
16
  }
@@ -5,18 +5,18 @@ const DhtRpc_1 = require("../proto/packages/dht/protos/DhtRpc");
5
5
  const identifiers_1 = require("../identifiers");
6
6
  const identifiers_2 = require("../identifiers");
7
7
  class ExternalApiRpcLocal {
8
- config;
9
- constructor(config) {
10
- this.config = config;
8
+ options;
9
+ constructor(options) {
10
+ this.options = options;
11
11
  }
12
12
  async externalFetchData(request, context) {
13
13
  const senderPeerDescriptor = context.incomingSourceDescriptor;
14
- const result = await this.config.executeRecursiveOperation((0, identifiers_2.getDhtAddressFromRaw)(request.key), DhtRpc_1.RecursiveOperation.FETCH_DATA, (0, identifiers_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor));
14
+ const result = await this.options.executeRecursiveOperation((0, identifiers_2.getDhtAddressFromRaw)(request.key), DhtRpc_1.RecursiveOperation.FETCH_DATA, (0, identifiers_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor));
15
15
  return DhtRpc_1.ExternalFetchDataResponse.create({ entries: result.dataEntries ?? [] });
16
16
  }
17
17
  async externalStoreData(request, context) {
18
18
  const senderPeerDescriptor = context.incomingSourceDescriptor;
19
- const result = await this.config.storeDataToDht((0, identifiers_2.getDhtAddressFromRaw)(request.key), request.data, (0, identifiers_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor));
19
+ const result = await this.options.storeDataToDht((0, identifiers_2.getDhtAddressFromRaw)(request.key), request.data, (0, identifiers_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor));
20
20
  return DhtRpc_1.ExternalStoreDataResponse.create({
21
21
  storers: result
22
22
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalApiRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/ExternalApiRpcLocal.ts"],"names":[],"mappings":";;;AACA,gEAO4C;AAK5C,gDAAwE;AACxE,gDAAqD;AAerD,MAAa,mBAAmB;IAEX,MAAM,CAA2B;IAElD,YAAY,MAAiC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC,EAAE,OAA0B;QACjF,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CACtD,IAAA,kCAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,EACjC,2BAAkB,CAAC,UAAU,EAC7B,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CACpD,CAAA;QACD,OAAO,kCAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC,EAAE,OAA0B;QACjF,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3C,IAAA,kCAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,EACjC,OAAO,CAAC,IAAK,EACb,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CACpD,CAAA;QACD,OAAO,kCAAyB,CAAC,MAAM,CAAC;YACpC,OAAO,EAAE,MAAM;SAClB,CAAC,CAAA;IACN,CAAC;CACJ;AA7BD,kDA6BC"}
1
+ {"version":3,"file":"ExternalApiRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/ExternalApiRpcLocal.ts"],"names":[],"mappings":";;;AACA,gEAO4C;AAK5C,gDAAwE;AACxE,gDAAqD;AAerD,MAAa,mBAAmB;IAEX,OAAO,CAA4B;IAEpD,YAAY,OAAmC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC,EAAE,OAA0B;QACjF,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,yBAAyB,CACvD,IAAA,kCAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,EACjC,2BAAkB,CAAC,UAAU,EAC7B,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CACpD,CAAA;QACD,OAAO,kCAAyB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiC,EAAE,OAA0B;QACjF,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAC5C,IAAA,kCAAoB,EAAC,OAAO,CAAC,GAAG,CAAC,EACjC,OAAO,CAAC,IAAK,EACb,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CACpD,CAAA;QACD,OAAO,kCAAyB,CAAC,MAAM,CAAC;YACpC,OAAO,EAAE,MAAM;SAClB,CAAC,CAAA;IACN,CAAC;CACJ;AA7BD,kDA6BC"}
@@ -9,7 +9,7 @@ class ExternalApiRpcRemote extends RpcRemote_1.RpcRemote {
9
9
  key: (0, identifiers_1.getRawFromDhtAddress)(key)
10
10
  };
11
11
  const options = this.formDhtRpcOptions({
12
- // TODO use config option or named constant?
12
+ // TODO use options option or named constant?
13
13
  timeout: 10000
14
14
  });
15
15
  try {
@@ -26,7 +26,7 @@ class ExternalApiRpcRemote extends RpcRemote_1.RpcRemote {
26
26
  data
27
27
  };
28
28
  const options = this.formDhtRpcOptions({
29
- // TODO use config option or named constant?
29
+ // TODO use options option or named constant?
30
30
  timeout: 10000
31
31
  });
32
32
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalApiRpcRemote.js","sourceRoot":"","sources":["../../../src/dht/ExternalApiRpcRemote.ts"],"names":[],"mappings":";;;AAAA,gDAAiE;AAIjE,mDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,qBAA+B;IAErE,KAAK,CAAC,iBAAiB,CAAC,GAAe;QACnC,MAAM,OAAO,GAA6B;YACtC,GAAG,EAAE,IAAA,kCAAoB,EAAC,GAAG,CAAC;SACjC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,4CAA4C;YAC5C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACvE,OAAO,IAAI,CAAC,OAAO,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAe,EAAE,IAAS;QACtC,MAAM,OAAO,GAA6B;YACtC,GAAG,EAAE,IAAA,kCAAoB,EAAC,GAAG,CAAC;YAC9B,IAAI;SACP,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,4CAA4C;YAC5C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3E,OAAO,QAAQ,CAAC,OAAO,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;CACJ;AAlCD,oDAkCC"}
1
+ {"version":3,"file":"ExternalApiRpcRemote.js","sourceRoot":"","sources":["../../../src/dht/ExternalApiRpcRemote.ts"],"names":[],"mappings":";;;AAAA,gDAAiE;AAIjE,mDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,qBAA+B;IAErE,KAAK,CAAC,iBAAiB,CAAC,GAAe;QACnC,MAAM,OAAO,GAA6B;YACtC,GAAG,EAAE,IAAA,kCAAoB,EAAC,GAAG,CAAC;SACjC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,6CAA6C;YAC7C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACvE,OAAO,IAAI,CAAC,OAAO,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAe,EAAE,IAAS;QACtC,MAAM,OAAO,GAA6B;YACtC,GAAG,EAAE,IAAA,kCAAoB,EAAC,GAAG,CAAC;YAC9B,IAAI;SACP,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,6CAA6C;YAC7C,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC3E,OAAO,QAAQ,CAAC,OAAO,CAAA;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;CACJ;AAlCD,oDAkCC"}