@streamr/dht 100.0.0-testnet-two.1 → 100.0.0-testnet-two.3

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 (184) hide show
  1. package/dist/package.json +5 -5
  2. package/dist/src/connection/ConnectionLockHandler.d.ts +11 -11
  3. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  4. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +3 -3
  5. package/dist/src/connection/ConnectionManager.d.ts +5 -4
  6. package/dist/src/connection/ConnectionManager.js +32 -36
  7. package/dist/src/connection/ConnectionManager.js.map +1 -1
  8. package/dist/src/connection/ManagedConnection.d.ts +2 -2
  9. package/dist/src/connection/simulator/Simulator.js.map +1 -1
  10. package/dist/src/connection/simulator/SimulatorConnection.js +21 -22
  11. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
  12. package/dist/src/connection/simulator/SimulatorConnector.js +4 -3
  13. package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
  14. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +11 -8
  15. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
  16. package/dist/src/connection/webrtc/WebrtcConnector.js +1 -1
  17. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  18. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +2 -2
  19. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +1 -1
  20. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  21. package/dist/src/connection/websocket/WebsocketConnector.js +6 -5
  22. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
  23. package/dist/src/dht/DhtNode.d.ts +9 -8
  24. package/dist/src/dht/DhtNode.js +26 -22
  25. package/dist/src/dht/DhtNode.js.map +1 -1
  26. package/dist/src/dht/DhtNodeRpcLocal.d.ts +2 -1
  27. package/dist/src/dht/DhtNodeRpcLocal.js +2 -1
  28. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  29. package/dist/src/dht/DhtNodeRpcRemote.d.ts +6 -5
  30. package/dist/src/dht/DhtNodeRpcRemote.js +9 -7
  31. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  32. package/dist/src/dht/ExternalApiRpcLocal.d.ts +3 -3
  33. package/dist/src/dht/ExternalApiRpcLocal.js +3 -2
  34. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  35. package/dist/src/dht/ExternalApiRpcRemote.d.ts +3 -2
  36. package/dist/src/dht/ExternalApiRpcRemote.js +3 -2
  37. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  38. package/dist/src/dht/PeerManager.d.ts +9 -9
  39. package/dist/src/dht/PeerManager.js +35 -30
  40. package/dist/src/dht/PeerManager.js.map +1 -1
  41. package/dist/src/dht/contact/Contact.d.ts +2 -2
  42. package/dist/src/dht/contact/ContactList.d.ts +7 -7
  43. package/dist/src/dht/contact/ContactList.js.map +1 -1
  44. package/dist/src/dht/contact/RandomContactList.d.ts +4 -4
  45. package/dist/src/dht/contact/RandomContactList.js +2 -3
  46. package/dist/src/dht/contact/RandomContactList.js.map +1 -1
  47. package/dist/src/dht/contact/RpcRemote.d.ts +1 -4
  48. package/dist/src/dht/contact/RpcRemote.js +1 -5
  49. package/dist/src/dht/contact/RpcRemote.js.map +1 -1
  50. package/dist/src/dht/contact/SortedContactList.d.ts +13 -13
  51. package/dist/src/dht/contact/SortedContactList.js +5 -5
  52. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  53. package/dist/src/dht/discovery/DiscoverySession.d.ts +3 -2
  54. package/dist/src/dht/discovery/DiscoverySession.js +9 -9
  55. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  56. package/dist/src/dht/discovery/PeerDiscovery.d.ts +3 -1
  57. package/dist/src/dht/discovery/PeerDiscovery.js +18 -10
  58. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  59. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +3 -3
  60. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +15 -14
  61. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
  62. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +2 -2
  63. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -1
  64. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +2 -1
  65. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +6 -6
  66. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
  67. package/dist/src/dht/routing/Router.d.ts +2 -2
  68. package/dist/src/dht/routing/Router.js +2 -2
  69. package/dist/src/dht/routing/Router.js.map +1 -1
  70. package/dist/src/dht/routing/RouterRpcLocal.js +3 -3
  71. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  72. package/dist/src/dht/routing/RouterRpcRemote.js +4 -2
  73. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  74. package/dist/src/dht/routing/RoutingSession.d.ts +3 -3
  75. package/dist/src/dht/routing/RoutingSession.js +4 -4
  76. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  77. package/dist/src/dht/store/LocalDataStore.d.ts +6 -9
  78. package/dist/src/dht/store/LocalDataStore.js +27 -32
  79. package/dist/src/dht/store/LocalDataStore.js.map +1 -1
  80. package/dist/src/dht/store/StoreManager.d.ts +3 -3
  81. package/dist/src/dht/store/StoreManager.js +26 -23
  82. package/dist/src/dht/store/StoreManager.js.map +1 -1
  83. package/dist/src/dht/store/StoreRpcLocal.d.ts +2 -1
  84. package/dist/src/dht/store/StoreRpcLocal.js +10 -8
  85. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  86. package/dist/src/exports.d.ts +2 -0
  87. package/dist/src/exports.js +6 -1
  88. package/dist/src/exports.js.map +1 -1
  89. package/dist/src/helpers/AddressTools.js +2 -0
  90. package/dist/src/helpers/AddressTools.js.map +1 -1
  91. package/dist/src/helpers/PeerID.d.ts +2 -2
  92. package/dist/src/helpers/PeerID.js +3 -3
  93. package/dist/src/helpers/PeerID.js.map +1 -1
  94. package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +2 -2
  95. package/dist/src/helpers/peerIdFromPeerDescriptor.js +2 -3
  96. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
  97. package/dist/src/identifiers.d.ts +6 -0
  98. package/dist/src/identifiers.js +23 -0
  99. package/dist/src/identifiers.js.map +1 -0
  100. package/package.json +5 -5
  101. package/src/connection/ConnectionLockHandler.ts +15 -15
  102. package/src/connection/ConnectionLockRpcLocal.ts +3 -3
  103. package/src/connection/ConnectionManager.ts +36 -46
  104. package/src/connection/ManagedConnection.ts +2 -2
  105. package/src/connection/simulator/Simulator.ts +2 -2
  106. package/src/connection/simulator/SimulatorConnection.ts +21 -23
  107. package/src/connection/simulator/SimulatorConnector.ts +6 -5
  108. package/src/connection/webrtc/BrowserWebrtcConnection.ts +0 -4
  109. package/src/connection/webrtc/NodeWebrtcConnection.ts +11 -10
  110. package/src/connection/webrtc/WebrtcConnector.ts +2 -3
  111. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +2 -3
  112. package/src/connection/websocket/WebsocketConnector.ts +9 -9
  113. package/src/dht/DhtNode.ts +36 -35
  114. package/src/dht/DhtNodeRpcLocal.ts +3 -2
  115. package/src/dht/DhtNodeRpcRemote.ts +14 -12
  116. package/src/dht/ExternalApiRpcLocal.ts +15 -6
  117. package/src/dht/ExternalApiRpcRemote.ts +5 -4
  118. package/src/dht/PeerManager.ts +43 -38
  119. package/src/dht/contact/Contact.ts +2 -2
  120. package/src/dht/contact/ContactList.ts +7 -7
  121. package/src/dht/contact/RandomContactList.ts +6 -6
  122. package/src/dht/contact/RpcRemote.ts +0 -8
  123. package/src/dht/contact/SortedContactList.ts +22 -22
  124. package/src/dht/discovery/DiscoverySession.ts +16 -14
  125. package/src/dht/discovery/PeerDiscovery.ts +34 -12
  126. package/src/dht/recursive-operation/RecursiveOperationManager.ts +17 -17
  127. package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +2 -2
  128. package/src/dht/recursive-operation/RecursiveOperationSession.ts +11 -11
  129. package/src/dht/routing/Router.ts +5 -5
  130. package/src/dht/routing/RouterRpcLocal.ts +3 -3
  131. package/src/dht/routing/RouterRpcRemote.ts +4 -4
  132. package/src/dht/routing/RoutingSession.ts +6 -8
  133. package/src/dht/store/LocalDataStore.ts +31 -40
  134. package/src/dht/store/StoreManager.ts +31 -31
  135. package/src/dht/store/StoreRpcLocal.ts +11 -9
  136. package/src/exports.ts +2 -0
  137. package/src/helpers/AddressTools.ts +2 -0
  138. package/src/helpers/PeerID.ts +4 -4
  139. package/src/helpers/peerIdFromPeerDescriptor.ts +4 -6
  140. package/src/identifiers.ts +20 -0
  141. package/test/RandomGraphSimulation.ts +3 -2
  142. package/test/benchmark/Find.test.ts +4 -3
  143. package/test/benchmark/KademliaCorrectness.test.ts +4 -4
  144. package/test/benchmark/SortedContactListBenchmark.test.ts +15 -14
  145. package/test/benchmark/kademlia-simulation/Contact.ts +7 -8
  146. package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +2 -2
  147. package/test/benchmark/kademlia-simulation/SimulationNode.ts +10 -11
  148. package/test/data/generateGroundTruthData.ts +5 -4
  149. package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +2 -2
  150. package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +1 -1
  151. package/test/end-to-end/memory-leak.test.ts +3 -2
  152. package/test/integration/ConnectionManager.test.ts +3 -3
  153. package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -1
  154. package/test/integration/DhtNodeExternalAPI.test.ts +7 -7
  155. package/test/integration/DhtNodeRpcRemote.test.ts +3 -2
  156. package/test/integration/Find.test.ts +3 -3
  157. package/test/integration/Layer1-scale.test.ts +3 -3
  158. package/test/integration/Mock-Layer1-Layer0.test.ts +6 -5
  159. package/test/integration/ReplicateData.test.ts +38 -30
  160. package/test/integration/RouteMessage.test.ts +9 -10
  161. package/test/integration/RouterRpcRemote.test.ts +1 -1
  162. package/test/integration/ScaleDownDht.test.ts +4 -4
  163. package/test/integration/SimultaneousConnections.test.ts +7 -14
  164. package/test/integration/Store.test.ts +17 -7
  165. package/test/integration/StoreAndDelete.test.ts +11 -10
  166. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +7 -6
  167. package/test/integration/StoreRpcRemote.test.ts +3 -5
  168. package/test/unit/AddressTools.test.ts +4 -0
  169. package/test/unit/LocalDataStore.test.ts +41 -41
  170. package/test/unit/PeerManager.test.ts +7 -8
  171. package/test/unit/RandomContactList.test.ts +3 -3
  172. package/test/unit/RecursiveOperationManager.test.ts +2 -1
  173. package/test/unit/RecursiveOperationSession.test.ts +2 -3
  174. package/test/unit/Router.test.ts +2 -2
  175. package/test/unit/RoutingSession.test.ts +2 -2
  176. package/test/unit/SortedContactList.test.ts +6 -6
  177. package/test/unit/StoreManager.test.ts +26 -23
  178. package/test/utils/customMatchers.ts +3 -2
  179. package/test/utils/mock/mockDataEntry.ts +8 -6
  180. package/test/utils/utils.ts +4 -4
  181. package/dist/src/helpers/nodeId.d.ts +0 -6
  182. package/dist/src/helpers/nodeId.js +0 -31
  183. package/dist/src/helpers/nodeId.js.map +0 -1
  184. package/src/helpers/nodeId.ts +0 -28
@@ -1,35 +1,35 @@
1
1
  import { ContactState, Events } from './ContactList';
2
2
  import EventEmitter from 'eventemitter3';
3
- import { NodeID } from '../../helpers/nodeId';
3
+ import { DhtAddress } from '../../identifiers';
4
4
  export interface SortedContactListConfig {
5
- referenceId: NodeID;
5
+ referenceId: DhtAddress;
6
6
  allowToContainReferenceId: boolean;
7
7
  emitEvents: boolean;
8
8
  maxSize?: number;
9
- nodeIdDistanceLimit?: NodeID;
10
- excludedNodeIds?: Set<NodeID>;
9
+ nodeIdDistanceLimit?: DhtAddress;
10
+ excludedNodeIds?: Set<DhtAddress>;
11
11
  }
12
12
  export declare class SortedContactList<C extends {
13
- getNodeId: () => NodeID;
13
+ getNodeId: () => DhtAddress;
14
14
  }> extends EventEmitter<Events<C>> {
15
15
  private config;
16
16
  private contactsById;
17
17
  private contactIds;
18
18
  constructor(config: SortedContactListConfig);
19
- getClosestContactId(): NodeID;
20
- getContactIds(): NodeID[];
19
+ getClosestContactId(): DhtAddress;
20
+ getContactIds(): DhtAddress[];
21
21
  addContact(contact: C): void;
22
22
  addContacts(contacts: C[]): void;
23
- getContact(id: NodeID): ContactState<C> | undefined;
24
- setContacted(contactId: NodeID): void;
25
- setActive(contactId: NodeID): void;
23
+ getContact(id: DhtAddress): ContactState<C> | undefined;
24
+ setContacted(contactId: DhtAddress): void;
25
+ setActive(contactId: DhtAddress): void;
26
26
  getClosestContacts(limit?: number): C[];
27
27
  getUncontactedContacts(num: number): C[];
28
28
  getActiveContacts(limit?: number): C[];
29
- compareIds(id1: NodeID, id2: NodeID): number;
29
+ compareIds(id1: DhtAddress, id2: DhtAddress): number;
30
30
  private distanceToReferenceId;
31
- removeContact(id: NodeID): boolean;
32
- isActive(id: NodeID): boolean;
31
+ removeContact(id: DhtAddress): boolean;
32
+ isActive(id: DhtAddress): boolean;
33
33
  getAllContacts(): C[];
34
34
  getSize(): number;
35
35
  clear(): void;
@@ -8,7 +8,7 @@ const ContactList_1 = require("./ContactList");
8
8
  const lodash_1 = require("lodash");
9
9
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
10
10
  const PeerManager_1 = require("../PeerManager");
11
- const nodeId_1 = require("../../helpers/nodeId");
11
+ const identifiers_1 = require("../../identifiers");
12
12
  class SortedContactList extends eventemitter3_1.default {
13
13
  constructor(config) {
14
14
  super();
@@ -27,7 +27,7 @@ class SortedContactList extends eventemitter3_1.default {
27
27
  if (this.config.excludedNodeIds !== undefined && this.config.excludedNodeIds.has(contact.getNodeId())) {
28
28
  return;
29
29
  }
30
- if ((!this.config.allowToContainReferenceId && (0, nodeId_1.areEqualNodeIds)(this.config.referenceId, contact.getNodeId())) ||
30
+ if ((!this.config.allowToContainReferenceId && (this.config.referenceId === contact.getNodeId())) ||
31
31
  (this.config.nodeIdDistanceLimit !== undefined && this.compareIds(this.config.nodeIdDistanceLimit, contact.getNodeId()) < 0)) {
32
32
  return;
33
33
  }
@@ -121,14 +121,14 @@ class SortedContactList extends eventemitter3_1.default {
121
121
  }
122
122
  // TODO inline this method?
123
123
  distanceToReferenceId(id) {
124
- // TODO maybe this class should store the referenceId also as UInt8Array so that we don't need to convert it here?
125
- return (0, PeerManager_1.getDistance)(this.config.referenceId, id);
124
+ // TODO maybe this class should store the referenceId also as DhtAddressRaw so that we don't need to convert it here?
125
+ return (0, PeerManager_1.getDistance)((0, identifiers_1.getRawFromDhtAddress)(this.config.referenceId), (0, identifiers_1.getRawFromDhtAddress)(id));
126
126
  }
127
127
  removeContact(id) {
128
128
  if (this.contactsById.has(id)) {
129
129
  const removed = this.contactsById.get(id).contact;
130
130
  // TODO use sortedIndexBy?
131
- const index = this.contactIds.findIndex((nodeId) => (0, nodeId_1.areEqualNodeIds)(nodeId, id));
131
+ const index = this.contactIds.findIndex((nodeId) => (nodeId === id));
132
132
  this.contactIds.splice(index, 1);
133
133
  this.contactsById.delete(id);
134
134
  if (this.config.emitEvents) {
@@ -1 +1 @@
1
- {"version":3,"file":"SortedContactList.js","sourceRoot":"","sources":["../../../../src/dht/contact/SortedContactList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SortedContactList.js","sourceRoot":"","sources":["../../../../src/dht/contact/SortedContactList.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { PeerManager } from '../PeerManager';
2
+ import { DhtAddress } from '../../identifiers';
2
3
  interface DiscoverySessionConfig {
3
- targetId: Uint8Array;
4
+ targetId: DhtAddress;
4
5
  parallelism: number;
5
6
  noProgressLimit: number;
6
7
  peerManager: PeerManager;
8
+ contactedPeers: Set<DhtAddress>;
7
9
  }
8
10
  export declare class DiscoverySession {
9
11
  readonly id: string;
@@ -11,7 +13,6 @@ export declare class DiscoverySession {
11
13
  private emitter;
12
14
  private noProgressCounter;
13
15
  private ongoingClosestPeersRequests;
14
- private contactedPeers;
15
16
  private readonly config;
16
17
  constructor(config: DiscoverySessionConfig);
17
18
  private addNewContacts;
@@ -9,7 +9,7 @@ const eventemitter3_1 = __importDefault(require("eventemitter3"));
9
9
  const uuid_1 = require("uuid");
10
10
  const PeerManager_1 = require("../PeerManager");
11
11
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
12
- const nodeId_1 = require("../../helpers/nodeId");
12
+ const identifiers_1 = require("../../identifiers");
13
13
  const logger = new utils_1.Logger(module);
14
14
  class DiscoverySession {
15
15
  constructor(config) {
@@ -18,7 +18,6 @@ class DiscoverySession {
18
18
  this.emitter = new eventemitter3_1.default();
19
19
  this.noProgressCounter = 0;
20
20
  this.ongoingClosestPeersRequests = new Set();
21
- this.contactedPeers = new Set();
22
21
  this.config = config;
23
22
  }
24
23
  addNewContacts(contacts) {
@@ -32,7 +31,7 @@ class DiscoverySession {
32
31
  return [];
33
32
  }
34
33
  logger.trace(`Getting closest peers from contact: ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(contact.getPeerDescriptor())}`);
35
- this.contactedPeers.add(contact.getNodeId());
34
+ this.config.contactedPeers.add(contact.getNodeId());
36
35
  const returnedContacts = await contact.getClosestPeers(this.config.targetId);
37
36
  this.config.peerManager.handlePeerActive(contact.getNodeId());
38
37
  return returnedContacts;
@@ -42,11 +41,12 @@ class DiscoverySession {
42
41
  return;
43
42
  }
44
43
  this.ongoingClosestPeersRequests.delete(nodeId);
45
- const oldClosestNeighbor = this.config.peerManager.getClosestNeighborsTo((0, nodeId_1.getNodeIdFromBinary)(this.config.targetId), 1)[0];
46
- const oldClosestDistance = (0, PeerManager_1.getDistance)((0, nodeId_1.getNodeIdFromBinary)(this.config.targetId), oldClosestNeighbor.getNodeId());
44
+ const targetId = (0, identifiers_1.getRawFromDhtAddress)(this.config.targetId);
45
+ const oldClosestNeighbor = this.config.peerManager.getClosestNeighborsTo(this.config.targetId, 1)[0];
46
+ const oldClosestDistance = (0, PeerManager_1.getDistance)(targetId, (0, identifiers_1.getRawFromDhtAddress)(oldClosestNeighbor.getNodeId()));
47
47
  this.addNewContacts(contacts);
48
- const newClosestNeighbor = this.config.peerManager.getClosestNeighborsTo((0, nodeId_1.getNodeIdFromBinary)(this.config.targetId), 1)[0];
49
- const newClosestDistance = (0, PeerManager_1.getDistance)((0, nodeId_1.getNodeIdFromBinary)(this.config.targetId), newClosestNeighbor.getNodeId());
48
+ const newClosestNeighbor = this.config.peerManager.getClosestNeighborsTo(this.config.targetId, 1)[0];
49
+ const newClosestDistance = (0, PeerManager_1.getDistance)(targetId, (0, identifiers_1.getRawFromDhtAddress)(newClosestNeighbor.getNodeId()));
50
50
  if (newClosestDistance >= oldClosestDistance) {
51
51
  this.noProgressCounter++;
52
52
  }
@@ -62,7 +62,7 @@ class DiscoverySession {
62
62
  if (this.stopped) {
63
63
  return;
64
64
  }
65
- const uncontacted = this.config.peerManager.getClosestContactsTo((0, nodeId_1.getNodeIdFromBinary)(this.config.targetId), this.config.parallelism, this.contactedPeers);
65
+ const uncontacted = this.config.peerManager.getClosestContactsTo(this.config.targetId, this.config.parallelism, this.config.contactedPeers);
66
66
  if (uncontacted.length === 0 || this.noProgressCounter >= this.config.noProgressLimit) {
67
67
  this.emitter.emit('discoveryCompleted');
68
68
  this.stopped = true;
@@ -83,7 +83,7 @@ class DiscoverySession {
83
83
  }
84
84
  }
85
85
  async findClosestNodes(timeout) {
86
- if (this.config.peerManager.getNumberOfContacts(this.contactedPeers) === 0) {
86
+ if (this.config.peerManager.getNumberOfContacts(this.config.contactedPeers) === 0) {
87
87
  return;
88
88
  }
89
89
  // TODO add abortController and signal it in stop()
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoverySession.js","sourceRoot":"","sources":["../../../../src/dht/discovery/DiscoverySession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiscoverySession.js","sourceRoot":"","sources":["../../../../src/dht/discovery/DiscoverySession.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
2
2
  import { ConnectionManager } from '../../connection/ConnectionManager';
3
3
  import { PeerManager } from '../PeerManager';
4
+ import { DhtAddress } from '../../identifiers';
4
5
  import { ServiceID } from '../../types/ServiceID';
5
6
  interface PeerDiscoveryConfig {
6
7
  localPeerDescriptor: PeerDescriptor;
@@ -20,7 +21,8 @@ export declare class PeerDiscovery {
20
21
  private recoveryIntervalStarted;
21
22
  private readonly config;
22
23
  constructor(config: PeerDiscoveryConfig);
23
- joinDht(entryPointDescriptor: PeerDescriptor, doAdditionalRandomPeerDiscovery?: boolean, retry?: boolean): Promise<void>;
24
+ joinDht(entryPoints: PeerDescriptor[], doAdditionalRandomPeerDiscovery?: boolean, retry?: boolean): Promise<void>;
25
+ joinThroughEntryPoint(entryPointDescriptor: PeerDescriptor, contactedPeers: Set<DhtAddress>, doAdditionalRandomPeerDiscovery?: boolean, retry?: boolean): Promise<void>;
24
26
  private createSession;
25
27
  private runSessions;
26
28
  rejoinDht(entryPoint: PeerDescriptor): Promise<void>;
@@ -4,7 +4,7 @@ exports.PeerDiscovery = void 0;
4
4
  const DiscoverySession_1 = require("./DiscoverySession");
5
5
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
6
6
  const utils_1 = require("@streamr/utils");
7
- const nodeId_1 = require("../../helpers/nodeId");
7
+ const identifiers_1 = require("../../identifiers");
8
8
  const logger = new utils_1.Logger(module);
9
9
  class PeerDiscovery {
10
10
  constructor(config) {
@@ -15,7 +15,13 @@ class PeerDiscovery {
15
15
  this.config = config;
16
16
  this.abortController = new AbortController();
17
17
  }
18
- async joinDht(entryPointDescriptor, doAdditionalRandomPeerDiscovery = true, retry = true) {
18
+ async joinDht(entryPoints, doAdditionalRandomPeerDiscovery = true, retry = true) {
19
+ const contactedPeers = new Set();
20
+ await Promise.all(entryPoints.map((entryPoint) => this.joinThroughEntryPoint(entryPoint, contactedPeers, doAdditionalRandomPeerDiscovery, retry)));
21
+ }
22
+ async joinThroughEntryPoint(entryPointDescriptor,
23
+ // Note that this set is mutated by DiscoverySession
24
+ contactedPeers, doAdditionalRandomPeerDiscovery = true, retry = true) {
19
25
  if (this.isStopped()) {
20
26
  return;
21
27
  }
@@ -27,20 +33,21 @@ class PeerDiscovery {
27
33
  }
28
34
  this.config.connectionManager?.lockConnection(entryPointDescriptor, `${this.config.serviceId}::joinDht`);
29
35
  this.config.peerManager.handleNewPeers([entryPointDescriptor]);
30
- const targetId = (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.config.localPeerDescriptor).value;
31
- const sessions = [this.createSession(targetId)];
36
+ const targetId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor);
37
+ const sessions = [this.createSession(targetId, contactedPeers)];
32
38
  if (doAdditionalRandomPeerDiscovery) {
33
- sessions.push(this.createSession((0, nodeId_1.createRandomNodeId)()));
39
+ sessions.push(this.createSession((0, identifiers_1.createRandomDhtAddress)(), contactedPeers));
34
40
  }
35
41
  await this.runSessions(sessions, entryPointDescriptor, retry);
36
42
  this.config.connectionManager?.unlockConnection(entryPointDescriptor, `${this.config.serviceId}::joinDht`);
37
43
  }
38
- createSession(targetId) {
44
+ createSession(targetId, contactedPeers) {
39
45
  const sessionOptions = {
40
46
  targetId,
41
47
  parallelism: this.config.parallelism,
42
48
  noProgressLimit: this.config.joinNoProgressLimit,
43
- peerManager: this.config.peerManager
49
+ peerManager: this.config.peerManager,
50
+ contactedPeers
44
51
  };
45
52
  return new DiscoverySession_1.DiscoverySession(sessionOptions);
46
53
  }
@@ -77,7 +84,7 @@ class PeerDiscovery {
77
84
  logger.debug(`Rejoining DHT ${this.config.serviceId}`);
78
85
  this.rejoinOngoing = true;
79
86
  try {
80
- await this.joinDht(entryPoint);
87
+ await this.joinThroughEntryPoint(entryPoint, new Set());
81
88
  logger.debug(`Rejoined DHT successfully ${this.config.serviceId}!`);
82
89
  }
83
90
  catch (err) {
@@ -103,9 +110,10 @@ class PeerDiscovery {
103
110
  if (this.isStopped()) {
104
111
  return;
105
112
  }
106
- const nodes = this.config.peerManager.getClosestNeighborsTo((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor), this.config.parallelism);
113
+ const localNodeId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor);
114
+ const nodes = this.config.peerManager.getClosestNeighborsTo(localNodeId, this.config.parallelism);
107
115
  await Promise.allSettled(nodes.map(async (peer) => {
108
- const contacts = await peer.getClosestPeers(this.config.localPeerDescriptor.nodeId);
116
+ const contacts = await peer.getClosestPeers(localNodeId);
109
117
  this.config.peerManager.handleNewPeers(contacts);
110
118
  }));
111
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PeerDiscovery.js","sourceRoot":"","sources":["../../../../src/dht/discovery/PeerDiscovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerDiscovery.js","sourceRoot":"","sources":["../../../../src/dht/discovery/PeerDiscovery.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { DhtNodeRpcRemote } from '../DhtNodeRpcRemote';
5
5
  import { ITransport } from '../../transport/ITransport';
6
6
  import { LocalDataStore } from '../store/LocalDataStore';
7
7
  import { ServiceID } from '../../types/ServiceID';
8
- import { NodeID } from '../../helpers/nodeId';
8
+ import { DhtAddress } from '../../identifiers';
9
9
  interface RecursiveOperationManagerConfig {
10
10
  rpcCommunicator: RoutingRpcCommunicator;
11
11
  sessionTransport: ITransport;
12
- connections: Map<NodeID, DhtNodeRpcRemote>;
12
+ connections: Map<DhtAddress, DhtNodeRpcRemote>;
13
13
  router: Router;
14
14
  localPeerDescriptor: PeerDescriptor;
15
15
  serviceId: ServiceID;
@@ -26,7 +26,7 @@ export declare class RecursiveOperationManager {
26
26
  private readonly config;
27
27
  constructor(config: RecursiveOperationManagerConfig);
28
28
  private registerLocalRpcMethods;
29
- execute(targetId: Uint8Array, operation: RecursiveOperation, excludedPeer?: PeerDescriptor, waitForCompletion?: boolean): Promise<RecursiveOperationResult>;
29
+ execute(targetId: DhtAddress, operation: RecursiveOperation, excludedPeer?: PeerDescriptor, waitForCompletion?: boolean): Promise<RecursiveOperationResult>;
30
30
  private sendResponse;
31
31
  private doRouteRequest;
32
32
  private getClosestConnections;
@@ -13,7 +13,7 @@ const SortedContactList_1 = require("../contact/SortedContactList");
13
13
  const getPreviousPeer_1 = require("../routing/getPreviousPeer");
14
14
  const RouterRpcLocal_1 = require("../routing/RouterRpcLocal");
15
15
  const RecursiveOperationRpcLocal_1 = require("./RecursiveOperationRpcLocal");
16
- const nodeId_1 = require("../../helpers/nodeId");
16
+ const identifiers_1 = require("../../identifiers");
17
17
  const PeerManager_1 = require("../PeerManager");
18
18
  const logger = new utils_1.Logger(module);
19
19
  class RecursiveOperationManager {
@@ -56,8 +56,8 @@ class RecursiveOperationManager {
56
56
  }
57
57
  });
58
58
  if (this.config.connections.size === 0) {
59
- const data = this.config.localDataStore.getEntries(targetId);
60
- session.onResponseReceived([this.config.localPeerDescriptor], [this.config.localPeerDescriptor], Array.from(data.values()), true);
59
+ const dataEntries = Array.from(this.config.localDataStore.values(targetId));
60
+ session.onResponseReceived([this.config.localPeerDescriptor], [this.config.localPeerDescriptor], dataEntries, true);
61
61
  return session.getResults();
62
62
  }
63
63
  this.ongoingSessions.set(session.getId(), session);
@@ -78,7 +78,7 @@ class RecursiveOperationManager {
78
78
  await (0, utils_1.wait)(50);
79
79
  }
80
80
  if (operation === DhtRpc_1.RecursiveOperation.FETCH_DATA) {
81
- const dataEntries = Array.from(this.config.localDataStore.getEntries(targetId).values());
81
+ const dataEntries = Array.from(this.config.localDataStore.values(targetId));
82
82
  if (dataEntries.length > 0) {
83
83
  this.sendResponse([], this.config.localPeerDescriptor, session.getId(), [], dataEntries, true);
84
84
  }
@@ -99,7 +99,7 @@ class RecursiveOperationManager {
99
99
  else {
100
100
  // TODO use config option or named constant?
101
101
  const remoteCommunicator = new ListeningRpcCommunicator_1.ListeningRpcCommunicator(serviceId, this.config.sessionTransport, { rpcRequestTimeout: 15000 });
102
- const rpcRemote = new RecursiveOperationSessionRpcRemote_1.RecursiveOperationSessionRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, serviceId, remoteCommunicator, DhtRpc_client_1.RecursiveOperationSessionRpcClient,
102
+ const rpcRemote = new RecursiveOperationSessionRpcRemote_1.RecursiveOperationSessionRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, remoteCommunicator, DhtRpc_client_1.RecursiveOperationSessionRpcClient,
103
103
  // TODO use config option or named constant?
104
104
  10000);
105
105
  rpcRemote.sendResponse(routingPath, closestNodes, dataEntries, noCloserNodesFound);
@@ -110,15 +110,15 @@ class RecursiveOperationManager {
110
110
  if (this.stopped) {
111
111
  return (0, RouterRpcLocal_1.createRouteMessageAck)(routedMessage, DhtRpc_1.RouteMessageError.STOPPED);
112
112
  }
113
- const targetId = (0, nodeId_1.getNodeIdFromBinary)(routedMessage.target);
113
+ const targetId = (0, identifiers_1.getDhtAddressFromRaw)(routedMessage.target);
114
114
  const request = routedMessage.message.body.recursiveOperationRequest;
115
115
  // TODO use config option or named constant?
116
- const closestPeersToDestination = this.getClosestConnections(routedMessage.target, 5);
116
+ const closestPeersToDestination = this.getClosestConnections(targetId, 5);
117
117
  const dataEntries = (request.operation === DhtRpc_1.RecursiveOperation.FETCH_DATA)
118
- ? Array.from(this.config.localDataStore.getEntries((0, utils_1.hexToBinary)(targetId)).values())
118
+ ? Array.from(this.config.localDataStore.values(targetId))
119
119
  : [];
120
120
  if (request.operation === DhtRpc_1.RecursiveOperation.DELETE_DATA) {
121
- this.config.localDataStore.markAsDeleted((0, utils_1.hexToBinary)(targetId), (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(routedMessage.sourcePeer));
121
+ this.config.localDataStore.markAsDeleted(targetId, (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(routedMessage.sourcePeer));
122
122
  }
123
123
  if ((0, utils_1.areEqualBinaries)(this.config.localPeerDescriptor.nodeId, routedMessage.target)) {
124
124
  // TODO this is also very similar case to what we do at line 255, could simplify the code paths?
@@ -137,10 +137,10 @@ class RecursiveOperationManager {
137
137
  return ack;
138
138
  }
139
139
  }
140
- getClosestConnections(nodeId, limit) {
140
+ getClosestConnections(referenceId, limit) {
141
141
  const connectedPeers = Array.from(this.config.connections.values());
142
142
  const closestPeers = new SortedContactList_1.SortedContactList({
143
- referenceId: (0, nodeId_1.getNodeIdFromBinary)(nodeId),
143
+ referenceId,
144
144
  maxSize: limit,
145
145
  allowToContainReferenceId: true,
146
146
  emitEvents: false
@@ -148,9 +148,10 @@ class RecursiveOperationManager {
148
148
  closestPeers.addContacts(connectedPeers);
149
149
  return closestPeers.getClosestContacts(limit).map((peer) => peer.getPeerDescriptor());
150
150
  }
151
- isPeerCloserToIdThanSelf(peer, compareToId) {
152
- const distance1 = (0, PeerManager_1.getDistance)((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(peer), compareToId);
153
- const distance2 = (0, PeerManager_1.getDistance)((0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor), compareToId);
151
+ isPeerCloserToIdThanSelf(peer, nodeIdOrDataKey) {
152
+ const nodeIdOrDataKeyRaw = (0, identifiers_1.getRawFromDhtAddress)(nodeIdOrDataKey);
153
+ const distance1 = (0, PeerManager_1.getDistance)(peer.nodeId, nodeIdOrDataKeyRaw);
154
+ const distance2 = (0, PeerManager_1.getDistance)(this.config.localPeerDescriptor.nodeId, nodeIdOrDataKeyRaw);
154
155
  return distance1 < distance2;
155
156
  }
156
157
  stop() {
@@ -1 +1 @@
1
- {"version":3,"file":"RecursiveOperationManager.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecursiveOperationManager.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationManager.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ class RecursiveOperationRpcRemote extends RpcRemote_1.RpcRemote {
32
32
  const fromNode = previousPeer
33
33
  ? (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(previousPeer)
34
34
  : (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(params.sourcePeer);
35
- // eslint-disable-next-line max-len
36
- logger.debug(`Failed to send routeRequest message from ${fromNode} to ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.getPeerDescriptor())} with: ${err}`);
35
+ const toNode = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.getPeerDescriptor());
36
+ logger.debug(`Failed to send routeRequest message from ${fromNode} to ${toNode} with: ${err}`);
37
37
  return false;
38
38
  }
39
39
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"RecursiveOperationRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationRpcRemote.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,+BAAyB;AACzB,qFAAoF;AAGpF,oDAAgD;AAChD,gEAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,2BAA4B,SAAQ,qBAAsC;IAEnF,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC1C,MAAM,OAAO,GAAwB;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAA,SAAE,GAAE;YACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;YAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACjE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1D,OAAO,KAAK,CAAA;aACf;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,QAAQ,GAAG,YAAY;gBACzB,CAAC,CAAC,IAAA,sDAA2B,EAAC,YAAY,CAAC;gBAC3C,CAAC,CAAC,IAAA,sDAA2B,EAAC,MAAM,CAAC,UAAW,CAAC,CAAA;YACrD,mCAAmC;YACnC,MAAM,CAAC,KAAK,CAAC,4CAA4C,QAAQ,OAAO,IAAA,sDAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,CAAA;YAC7I,OAAO,KAAK,CAAA;SACf;QACD,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AA/BD,kEA+BC"}
1
+ {"version":3,"file":"RecursiveOperationRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationRpcRemote.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,+BAAyB;AACzB,qFAAoF;AAGpF,oDAAgD;AAChD,gEAA4D;AAE5D,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,2BAA4B,SAAQ,qBAAsC;IAEnF,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC1C,MAAM,OAAO,GAAwB;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAA,SAAE,GAAE;YACnC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;YAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;SAClC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,IAAI;YACA,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACjE,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzB,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1D,OAAO,KAAK,CAAA;aACf;SACJ;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC,MAAM,CAAC,CAAA;YAC5C,MAAM,QAAQ,GAAG,YAAY;gBACzB,CAAC,CAAC,IAAA,sDAA2B,EAAC,YAAY,CAAC;gBAC3C,CAAC,CAAC,IAAA,sDAA2B,EAAC,MAAM,CAAC,UAAW,CAAC,CAAA;YACrD,MAAM,MAAM,GAAG,IAAA,sDAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACpE,MAAM,CAAC,KAAK,CAAC,4CAA4C,QAAQ,OAAO,MAAM,UAAU,GAAG,EAAE,CAAC,CAAA;YAC9F,OAAO,KAAK,CAAA;SACf;QACD,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AA/BD,kEA+BC"}
@@ -3,12 +3,13 @@ import { DataEntry, PeerDescriptor, RecursiveOperation, RouteMessageWrapper, Rou
3
3
  import { ITransport } from '../../transport/ITransport';
4
4
  import { RecursiveOperationResult } from './RecursiveOperationManager';
5
5
  import { ServiceID } from '../../types/ServiceID';
6
+ import { DhtAddress } from '../../identifiers';
6
7
  export interface RecursiveOperationSessionEvents {
7
8
  completed: () => void;
8
9
  }
9
10
  export interface RecursiveOperationSessionConfig {
10
11
  transport: ITransport;
11
- targetId: Uint8Array;
12
+ targetId: DhtAddress;
12
13
  localPeerDescriptor: PeerDescriptor;
13
14
  waitedRoutingPathCompletions: number;
14
15
  operation: RecursiveOperation;
@@ -12,7 +12,7 @@ const Contact_1 = require("../contact/Contact");
12
12
  const SortedContactList_1 = require("../contact/SortedContactList");
13
13
  const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
14
14
  const RecursiveOperationSessionRpcLocal_1 = require("./RecursiveOperationSessionRpcLocal");
15
- const nodeId_1 = require("../../helpers/nodeId");
15
+ const identifiers_1 = require("../../identifiers");
16
16
  class RecursiveOperationSession extends eventemitter3_1.default {
17
17
  constructor(config) {
18
18
  super();
@@ -24,7 +24,7 @@ class RecursiveOperationSession extends eventemitter3_1.default {
24
24
  this.noCloserNodesReceivedCounter = 0;
25
25
  this.config = config;
26
26
  this.results = new SortedContactList_1.SortedContactList({
27
- referenceId: (0, nodeId_1.getNodeIdFromBinary)(config.targetId),
27
+ referenceId: config.targetId,
28
28
  maxSize: 10,
29
29
  allowToContainReferenceId: true,
30
30
  emitEvents: false
@@ -63,7 +63,7 @@ class RecursiveOperationSession extends eventemitter3_1.default {
63
63
  const routeMessage = {
64
64
  message: msg,
65
65
  requestId: (0, uuid_1.v4)(),
66
- target: this.config.targetId,
66
+ target: (0, identifiers_1.getRawFromDhtAddress)(this.config.targetId),
67
67
  sourcePeer: this.config.localPeerDescriptor,
68
68
  reachableThrough: [],
69
69
  routingPath: []
@@ -107,7 +107,7 @@ class RecursiveOperationSession extends eventemitter3_1.default {
107
107
  const localNodeId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor);
108
108
  routingPath.forEach((desc) => {
109
109
  const newNodeId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(desc);
110
- if (!(0, nodeId_1.areEqualNodeIds)(localNodeId, newNodeId)) {
110
+ if (localNodeId !== newNodeId) {
111
111
  this.allKnownHops.add(newNodeId);
112
112
  }
113
113
  });
@@ -115,7 +115,7 @@ class RecursiveOperationSession extends eventemitter3_1.default {
115
115
  setHopAsReported(desc) {
116
116
  const localNodeId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.config.localPeerDescriptor);
117
117
  const newNodeId = (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(desc);
118
- if (!(0, nodeId_1.areEqualNodeIds)(localNodeId, newNodeId)) {
118
+ if (localNodeId !== newNodeId) {
119
119
  this.reportedHops.add(newNodeId);
120
120
  }
121
121
  if (this.isCompleted()) {
@@ -131,7 +131,7 @@ class RecursiveOperationSession extends eventemitter3_1.default {
131
131
  }
132
132
  processFoundData(dataEntries) {
133
133
  dataEntries.forEach((entry) => {
134
- const creatorNodeId = (0, nodeId_1.getNodeIdFromBinary)(entry.creator);
134
+ const creatorNodeId = (0, identifiers_1.getDhtAddressFromRaw)(entry.creator);
135
135
  const existingEntry = this.foundData.get(creatorNodeId);
136
136
  if (!existingEntry || existingEntry.createdAt < entry.createdAt
137
137
  || (existingEntry.createdAt <= entry.createdAt && entry.deleted)) {
@@ -1 +1 @@
1
- {"version":3,"file":"RecursiveOperationSession.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecursiveOperationSession.js","sourceRoot":"","sources":["../../../../src/dht/recursive-operation/RecursiveOperationSession.ts"],"names":[],"mappings":"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"}