@streamr/trackerless-network 100.2.5-beta.1 → 101.0.0-beta.1

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 (150) hide show
  1. package/dist/package.json +6 -6
  2. package/dist/src/NetworkNode.js +1 -1
  3. package/dist/src/NetworkNode.js.map +1 -1
  4. package/dist/src/NetworkStack.d.ts +5 -5
  5. package/dist/src/NetworkStack.js +21 -21
  6. package/dist/src/NetworkStack.js.map +1 -1
  7. package/dist/src/exports.d.ts +2 -2
  8. package/dist/src/exports.js +2 -2
  9. package/dist/src/exports.js.map +1 -1
  10. package/dist/src/logic/ContentDeliveryLayerNode.d.ts +5 -5
  11. package/dist/src/logic/ContentDeliveryLayerNode.js +85 -85
  12. package/dist/src/logic/ContentDeliveryLayerNode.js.map +1 -1
  13. package/dist/src/logic/ContentDeliveryManager.d.ts +11 -12
  14. package/dist/src/logic/ContentDeliveryManager.js +65 -61
  15. package/dist/src/logic/ContentDeliveryManager.js.map +1 -1
  16. package/dist/src/logic/ContentDeliveryRpcLocal.d.ts +5 -5
  17. package/dist/src/logic/ContentDeliveryRpcLocal.js +9 -9
  18. package/dist/src/logic/ContentDeliveryRpcLocal.js.map +1 -1
  19. package/dist/src/logic/{Layer0Node.d.ts → ControlLayerNode.d.ts} +1 -1
  20. package/dist/src/logic/{Layer0Node.js → ControlLayerNode.js} +1 -1
  21. package/dist/src/logic/ControlLayerNode.js.map +1 -0
  22. package/dist/src/logic/{Layer1Node.d.ts → DiscoveryLayerNode.d.ts} +8 -8
  23. package/dist/src/logic/{Layer1Node.js → DiscoveryLayerNode.js} +1 -1
  24. package/dist/src/logic/DiscoveryLayerNode.js.map +1 -0
  25. package/dist/src/logic/PeerDescriptorStoreManager.d.ts +28 -0
  26. package/dist/src/logic/PeerDescriptorStoreManager.js +79 -0
  27. package/dist/src/logic/PeerDescriptorStoreManager.js.map +1 -0
  28. package/dist/src/logic/StreamPartNetworkSplitAvoidance.d.ts +5 -5
  29. package/dist/src/logic/StreamPartNetworkSplitAvoidance.js +8 -8
  30. package/dist/src/logic/StreamPartNetworkSplitAvoidance.js.map +1 -1
  31. package/dist/src/logic/StreamPartReconnect.d.ts +5 -5
  32. package/dist/src/logic/StreamPartReconnect.js +10 -10
  33. package/dist/src/logic/StreamPartReconnect.js.map +1 -1
  34. package/dist/src/logic/createContentDeliveryLayerNode.d.ts +3 -3
  35. package/dist/src/logic/createContentDeliveryLayerNode.js +34 -34
  36. package/dist/src/logic/createContentDeliveryLayerNode.js.map +1 -1
  37. package/dist/src/logic/inspect/InspectSession.d.ts +3 -3
  38. package/dist/src/logic/inspect/InspectSession.js +5 -5
  39. package/dist/src/logic/inspect/InspectSession.js.map +1 -1
  40. package/dist/src/logic/inspect/Inspector.d.ts +2 -2
  41. package/dist/src/logic/inspect/Inspector.js +8 -8
  42. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  43. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +4 -4
  44. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +24 -24
  45. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
  46. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +1 -1
  47. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +4 -4
  48. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
  49. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +3 -3
  50. package/dist/src/logic/neighbor-discovery/Handshaker.js +37 -37
  51. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  52. package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +3 -3
  53. package/dist/src/logic/neighbor-discovery/NeighborFinder.js +9 -9
  54. package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
  55. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -3
  56. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +12 -12
  57. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  58. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +3 -3
  59. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +14 -14
  60. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  61. package/dist/src/logic/proxy/ProxyClient.d.ts +3 -3
  62. package/dist/src/logic/proxy/ProxyClient.js +25 -25
  63. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  64. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +3 -3
  65. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +10 -10
  66. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
  67. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +3 -3
  68. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +11 -11
  69. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  70. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +4 -4
  71. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +8 -8
  72. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  73. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +11 -3
  74. package/dist/src/proto/packages/dht/protos/DhtRpc.js +7 -5
  75. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  76. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -2
  77. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  78. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +1 -1
  79. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +6 -23
  80. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +5 -23
  81. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
  82. package/dist/test/benchmark/first-message.js +7 -7
  83. package/dist/test/benchmark/first-message.js.map +1 -1
  84. package/dist/test/utils/utils.d.ts +2 -2
  85. package/dist/test/utils/utils.js +3 -3
  86. package/dist/test/utils/utils.js.map +1 -1
  87. package/package.json +6 -6
  88. package/protos/NetworkRpc.proto +3 -9
  89. package/src/NetworkNode.ts +1 -1
  90. package/src/NetworkStack.ts +24 -24
  91. package/src/exports.ts +2 -2
  92. package/src/logic/ContentDeliveryLayerNode.ts +112 -112
  93. package/src/logic/ContentDeliveryManager.ts +71 -67
  94. package/src/logic/ContentDeliveryRpcLocal.ts +12 -12
  95. package/src/logic/{Layer0Node.ts → ControlLayerNode.ts} +1 -1
  96. package/src/logic/{Layer1Node.ts → DiscoveryLayerNode.ts} +8 -8
  97. package/src/logic/PeerDescriptorStoreManager.ts +97 -0
  98. package/src/logic/StreamPartNetworkSplitAvoidance.ts +11 -11
  99. package/src/logic/StreamPartReconnect.ts +12 -12
  100. package/src/logic/createContentDeliveryLayerNode.ts +38 -38
  101. package/src/logic/inspect/InspectSession.ts +6 -6
  102. package/src/logic/inspect/Inspector.ts +9 -9
  103. package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +26 -26
  104. package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +6 -6
  105. package/src/logic/neighbor-discovery/Handshaker.ts +45 -45
  106. package/src/logic/neighbor-discovery/NeighborFinder.ts +10 -10
  107. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +14 -14
  108. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +17 -17
  109. package/src/logic/proxy/ProxyClient.ts +26 -26
  110. package/src/logic/proxy/ProxyConnectionRpcLocal.ts +12 -12
  111. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +13 -13
  112. package/src/proto/google/protobuf/any.ts +1 -1
  113. package/src/proto/google/protobuf/empty.ts +1 -1
  114. package/src/proto/google/protobuf/timestamp.ts +1 -1
  115. package/src/proto/packages/dht/protos/DhtRpc.client.ts +9 -9
  116. package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -3
  117. package/src/proto/packages/dht/protos/DhtRpc.ts +15 -5
  118. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  119. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +1 -1
  120. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +1 -1
  121. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +10 -27
  122. package/test/benchmark/StreamPartIdDataKeyDistribution.test.ts +1 -1
  123. package/test/benchmark/first-message.ts +9 -9
  124. package/test/end-to-end/content-delivery-layer-node-with-real-connections.test.ts +12 -12
  125. package/test/end-to-end/proxy-and-full-node.test.ts +4 -4
  126. package/test/integration/ContentDeliveryLayerNode-Layer1Node-Latencies.test.ts +19 -19
  127. package/test/integration/ContentDeliveryLayerNode-Layer1Node.test.ts +19 -19
  128. package/test/integration/ContentDeliveryManager.test.ts +11 -11
  129. package/test/integration/Inspect.test.ts +1 -1
  130. package/test/integration/Propagation.test.ts +6 -6
  131. package/test/integration/joining-streams-on-offline-peers.test.ts +3 -3
  132. package/test/integration/stream-without-default-entrypoints.test.ts +2 -2
  133. package/test/integration/streamEntryPointReplacing.test.ts +2 -2
  134. package/test/unit/ContentDeliveryLayerNode.test.ts +11 -11
  135. package/test/unit/ContentDeliveryManager.test.ts +2 -2
  136. package/test/unit/{EntrypointDiscovery.test.ts → PeerDescriptorStoreManager.test.ts} +28 -29
  137. package/test/unit/StreamPartIDDataKey.test.ts +1 -1
  138. package/test/unit/StreamPartNetworkSplitAvoidance.test.ts +8 -8
  139. package/test/unit/StreamPartReconnect.test.ts +9 -9
  140. package/test/utils/fake/FakePeerDescriptorStoreManager.ts +29 -0
  141. package/test/utils/mock/{MockLayer0Node.ts → MockControlLayerNode.ts} +2 -2
  142. package/test/utils/mock/{MockLayer1Node.ts → MockDiscoveryLayerNode.ts} +2 -2
  143. package/test/utils/utils.ts +5 -5
  144. package/dist/src/logic/EntryPointDiscovery.d.ts +0 -27
  145. package/dist/src/logic/EntryPointDiscovery.js +0 -80
  146. package/dist/src/logic/EntryPointDiscovery.js.map +0 -1
  147. package/dist/src/logic/Layer0Node.js.map +0 -1
  148. package/dist/src/logic/Layer1Node.js.map +0 -1
  149. package/src/logic/EntryPointDiscovery.ts +0 -100
  150. package/test/utils/fake/FakeEntryPointDiscovery.ts +0 -29
@@ -5,29 +5,29 @@ const dht_1 = require("@streamr/dht");
5
5
  const utils_1 = require("@streamr/utils");
6
6
  const logger = new utils_1.Logger(module);
7
7
  class HandshakeRpcLocal {
8
- config;
9
- constructor(config) {
10
- this.config = config;
8
+ options;
9
+ constructor(options) {
10
+ this.options = options;
11
11
  }
12
12
  async handshake(request, context) {
13
13
  return this.handleRequest(request, context);
14
14
  }
15
15
  handleRequest(request, context) {
16
16
  const senderDescriptor = context.incomingSourceDescriptor;
17
- const getInterleaveSourceIds = () => (request.interleaveSourceId !== undefined) ? [(0, dht_1.getDhtAddressFromRaw)(request.interleaveSourceId)] : [];
17
+ const getInterleaveNodeIds = () => (request.interleaveNodeId !== undefined) ? [(0, dht_1.getDhtAddressFromRaw)(request.interleaveNodeId)] : [];
18
18
  const senderNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderDescriptor);
19
- if (this.config.ongoingInterleaves.has(senderNodeId)) {
19
+ if (this.options.ongoingInterleaves.has(senderNodeId)) {
20
20
  return this.rejectHandshake(request);
21
21
  }
22
- else if (this.config.neighbors.has(senderNodeId)
23
- || this.config.ongoingHandshakes.has(senderNodeId)) {
22
+ else if (this.options.neighbors.has(senderNodeId)
23
+ || this.options.ongoingHandshakes.has(senderNodeId)) {
24
24
  return this.acceptHandshake(request, senderDescriptor);
25
25
  }
26
- else if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount) {
26
+ else if (this.options.neighbors.size() + this.options.ongoingHandshakes.size < this.options.maxNeighborCount) {
27
27
  return this.acceptHandshake(request, senderDescriptor);
28
28
  }
29
- else if (this.config.neighbors.size(getInterleaveSourceIds()) - this.config.ongoingInterleaves.size >= 2
30
- && this.config.neighbors.size() <= this.config.maxNeighborCount) {
29
+ else if (this.options.neighbors.size(getInterleaveNodeIds()) - this.options.ongoingInterleaves.size >= 2
30
+ && this.options.neighbors.size() <= this.options.maxNeighborCount) {
31
31
  // Do not accept the handshakes requests if the target neighbor count can potentially drop below 2
32
32
  // due to interleaving. This ensures that a stable number of connections is kept during high churn.
33
33
  return this.acceptHandshakeWithInterleaving(request, senderDescriptor);
@@ -41,7 +41,7 @@ class HandshakeRpcLocal {
41
41
  requestId: request.requestId,
42
42
  accepted: true
43
43
  };
44
- this.config.neighbors.add(this.config.createContentDeliveryRpcRemote(requester));
44
+ this.options.neighbors.add(this.options.createContentDeliveryRpcRemote(requester));
45
45
  return res;
46
46
  }
47
47
  // eslint-disable-next-line class-methods-use-this
@@ -54,18 +54,18 @@ class HandshakeRpcLocal {
54
54
  }
55
55
  acceptHandshakeWithInterleaving(request, requester) {
56
56
  const exclude = [];
57
- request.neighborIds.forEach((id) => exclude.push((0, dht_1.getDhtAddressFromRaw)(id)));
58
- this.config.ongoingInterleaves.forEach((id) => exclude.push(id));
57
+ request.neighborNodeIds.forEach((id) => exclude.push((0, dht_1.getDhtAddressFromRaw)(id)));
58
+ this.options.ongoingInterleaves.forEach((id) => exclude.push(id));
59
59
  exclude.push((0, dht_1.getNodeIdFromPeerDescriptor)(requester));
60
- if (request.interleaveSourceId !== undefined) {
61
- exclude.push((0, dht_1.getDhtAddressFromRaw)(request.interleaveSourceId));
60
+ if (request.interleaveNodeId !== undefined) {
61
+ exclude.push((0, dht_1.getDhtAddressFromRaw)(request.interleaveNodeId));
62
62
  }
63
- const last = this.config.neighbors.getLast(exclude);
63
+ const last = this.options.neighbors.getLast(exclude);
64
64
  const lastPeerDescriptor = last ? last.getPeerDescriptor() : undefined;
65
65
  if (last) {
66
66
  const nodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(last.getPeerDescriptor());
67
- const remote = this.config.createRpcRemote(last.getPeerDescriptor());
68
- this.config.ongoingInterleaves.add(nodeId);
67
+ const remote = this.options.createRpcRemote(last.getPeerDescriptor());
68
+ this.options.ongoingInterleaves.add(nodeId);
69
69
  // Run this with then catch instead of setImmediate to avoid changes in state
70
70
  // eslint-disable-next-line promise/catch-or-return
71
71
  remote.interleaveRequest(requester).then((response) => {
@@ -73,15 +73,15 @@ class HandshakeRpcLocal {
73
73
  // and unlock the connection
74
74
  // If response is not accepted, keep the last node as a neighbor
75
75
  if (response.accepted) {
76
- this.config.neighbors.remove((0, dht_1.getNodeIdFromPeerDescriptor)(lastPeerDescriptor));
76
+ this.options.neighbors.remove((0, dht_1.getNodeIdFromPeerDescriptor)(lastPeerDescriptor));
77
77
  }
78
78
  }).catch(() => {
79
79
  // no-op: InterleaveRequest cannot reject
80
80
  }).finally(() => {
81
- this.config.ongoingInterleaves.delete(nodeId);
81
+ this.options.ongoingInterleaves.delete(nodeId);
82
82
  });
83
83
  }
84
- this.config.neighbors.add(this.config.createContentDeliveryRpcRemote(requester));
84
+ this.options.neighbors.add(this.options.createContentDeliveryRpcRemote(requester));
85
85
  return {
86
86
  requestId: request.requestId,
87
87
  accepted: true,
@@ -90,10 +90,10 @@ class HandshakeRpcLocal {
90
90
  }
91
91
  async interleaveRequest(message, context) {
92
92
  const senderPeerDescriptor = context.incomingSourceDescriptor;
93
- const senderId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor);
93
+ const remoteNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor);
94
94
  try {
95
- await this.config.handshakeWithInterleaving(message.interleaveTargetDescriptor, senderId);
96
- this.config.neighbors.remove(senderId);
95
+ await this.options.handshakeWithInterleaving(message.interleaveTargetDescriptor, remoteNodeId);
96
+ this.options.neighbors.remove(remoteNodeId);
97
97
  return { accepted: true };
98
98
  }
99
99
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"HandshakeRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/HandshakeRpcLocal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandshakeRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/HandshakeRpcLocal.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ interface HandshakeResponse {
8
8
  }
9
9
  export declare const INTERLEAVE_REQUEST_TIMEOUT = 15000;
10
10
  export declare class HandshakeRpcRemote extends RpcRemote<HandshakeRpcClient> {
11
- handshake(streamPartId: StreamPartID, neighborIds: DhtAddress[], concurrentHandshakeTargetId?: DhtAddress, interleaveSourceId?: DhtAddress): Promise<HandshakeResponse>;
11
+ handshake(streamPartId: StreamPartID, neighborNodeIds: DhtAddress[], concurrentHandshakeNodeId?: DhtAddress, interleaveNodeId?: DhtAddress): Promise<HandshakeResponse>;
12
12
  interleaveRequest(originatorDescriptor: PeerDescriptor): Promise<InterleaveResponse>;
13
13
  }
14
14
  export {};
@@ -7,13 +7,13 @@ const uuid_1 = require("uuid");
7
7
  const logger = new utils_1.Logger(module);
8
8
  exports.INTERLEAVE_REQUEST_TIMEOUT = 15000;
9
9
  class HandshakeRpcRemote extends dht_1.RpcRemote {
10
- async handshake(streamPartId, neighborIds, concurrentHandshakeTargetId, interleaveSourceId) {
10
+ async handshake(streamPartId, neighborNodeIds, concurrentHandshakeNodeId, interleaveNodeId) {
11
11
  const request = {
12
12
  streamPartId,
13
13
  requestId: (0, uuid_1.v4)(),
14
- neighborIds: neighborIds.map((id) => (0, dht_1.getRawFromDhtAddress)(id)),
15
- concurrentHandshakeTargetId: (concurrentHandshakeTargetId !== undefined) ? (0, dht_1.getRawFromDhtAddress)(concurrentHandshakeTargetId) : undefined,
16
- interleaveSourceId: (interleaveSourceId !== undefined) ? (0, dht_1.getRawFromDhtAddress)(interleaveSourceId) : undefined
14
+ neighborNodeIds: neighborNodeIds.map((id) => (0, dht_1.getRawFromDhtAddress)(id)),
15
+ concurrentHandshakeNodeId: (concurrentHandshakeNodeId !== undefined) ? (0, dht_1.getRawFromDhtAddress)(concurrentHandshakeNodeId) : undefined,
16
+ interleaveNodeId: (interleaveNodeId !== undefined) ? (0, dht_1.getRawFromDhtAddress)(interleaveNodeId) : undefined
17
17
  };
18
18
  try {
19
19
  const response = await this.getClient().handshake(request, this.formDhtRpcOptions());
@@ -1 +1 @@
1
- {"version":3,"file":"HandshakeRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/HandshakeRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAuH;AACvH,0CAAuC;AACvC,+BAAyB;AAKzB,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAOpB,QAAA,0BAA0B,GAAG,KAAK,CAAA;AAE/C,MAAa,kBAAmB,SAAQ,eAA6B;IAEjE,KAAK,CAAC,SAAS,CACX,YAA0B,EAC1B,WAAyB,EACzB,2BAAwC,EACxC,kBAA+B;QAE/B,MAAM,OAAO,GAA+B;YACxC,YAAY;YACZ,SAAS,EAAE,IAAA,SAAE,GAAE;YACf,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAoB,EAAC,EAAE,CAAC,CAAC;YAC9D,2BAA2B,EAAE,CAAC,2BAA2B,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAoB,EAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,SAAS;YACxI,kBAAkB,EAAE,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAoB,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS;SAChH,CAAA;QACD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACpF,OAAO;gBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B;aAClE,CAAA;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrG,OAAO;gBACH,QAAQ,EAAE,KAAK;aAClB,CAAA;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,oBAAoC;QACxD,MAAM,OAAO,GAAsB;YAC/B,0BAA0B,EAAE,oBAAoB;SACnD,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kCAA0B;SACtC,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,OAAO;gBACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACzB,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7G,OAAO;gBACH,QAAQ,EAAE,KAAK;aAClB,CAAA;QACL,CAAC;IAEL,CAAC;CACJ;AAlDD,gDAkDC"}
1
+ {"version":3,"file":"HandshakeRpcRemote.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/HandshakeRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAuH;AACvH,0CAAuC;AACvC,+BAAyB;AAKzB,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAOpB,QAAA,0BAA0B,GAAG,KAAK,CAAA;AAE/C,MAAa,kBAAmB,SAAQ,eAA6B;IAEjE,KAAK,CAAC,SAAS,CACX,YAA0B,EAC1B,eAA6B,EAC7B,yBAAsC,EACtC,gBAA6B;QAE7B,MAAM,OAAO,GAA+B;YACxC,YAAY;YACZ,SAAS,EAAE,IAAA,SAAE,GAAE;YACf,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAoB,EAAC,EAAE,CAAC,CAAC;YACtE,yBAAyB,EAAE,CAAC,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAoB,EAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,SAAS;YAClI,gBAAgB,EAAE,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,0BAAoB,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;SAC1G,CAAA;QACD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACpF,OAAO;gBACH,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,0BAA0B,EAAE,QAAQ,CAAC,0BAA0B;aAClE,CAAA;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YACrG,OAAO;gBACH,QAAQ,EAAE,KAAK;aAClB,CAAA;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,oBAAoC;QACxD,MAAM,OAAO,GAAsB;YAC/B,0BAA0B,EAAE,oBAAoB;SACnD,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kCAA0B;SACtC,CAAC,CAAA;QACF,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACtE,OAAO;gBACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACzB,CAAA;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,iCAA2B,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC7G,OAAO;gBACH,QAAQ,EAAE,KAAK;aAClB,CAAA;QACL,CAAC;IAEL,CAAC;CACJ;AAlDD,gDAkDC"}
@@ -1,7 +1,7 @@
1
1
  import { DhtAddress, PeerDescriptor, ListeningRpcCommunicator } from '@streamr/dht';
2
2
  import { NodeList } from '../NodeList';
3
3
  import { StreamPartID } from '@streamr/protocol';
4
- interface HandshakerConfig {
4
+ interface HandshakerOptions {
5
5
  localPeerDescriptor: PeerDescriptor;
6
6
  streamPartId: StreamPartID;
7
7
  neighbors: NodeList;
@@ -15,9 +15,9 @@ interface HandshakerConfig {
15
15
  rpcRequestTimeout?: number;
16
16
  }
17
17
  export declare class Handshaker {
18
- private config;
18
+ private options;
19
19
  private readonly rpcLocal;
20
- constructor(config: HandshakerConfig);
20
+ constructor(options: HandshakerOptions);
21
21
  attemptHandshakesOnContacts(excludedIds: DhtAddress[]): Promise<DhtAddress[]>;
22
22
  private selectParallelTargetsAndHandshake;
23
23
  private selectParallelTargets;
@@ -11,46 +11,46 @@ const HandshakeRpcLocal_1 = require("./HandshakeRpcLocal");
11
11
  const logger = new utils_1.Logger(module);
12
12
  const PARALLEL_HANDSHAKE_COUNT = 2;
13
13
  class Handshaker {
14
- config;
14
+ options;
15
15
  rpcLocal;
16
- constructor(config) {
17
- this.config = config;
16
+ constructor(options) {
17
+ this.options = options;
18
18
  this.rpcLocal = new HandshakeRpcLocal_1.HandshakeRpcLocal({
19
- streamPartId: this.config.streamPartId,
20
- neighbors: this.config.neighbors,
21
- ongoingHandshakes: this.config.ongoingHandshakes,
19
+ streamPartId: this.options.streamPartId,
20
+ neighbors: this.options.neighbors,
21
+ ongoingHandshakes: this.options.ongoingHandshakes,
22
22
  ongoingInterleaves: new Set(),
23
- maxNeighborCount: this.config.maxNeighborCount,
24
- handshakeWithInterleaving: (target, senderId) => this.handshakeWithInterleaving(target, senderId),
23
+ maxNeighborCount: this.options.maxNeighborCount,
24
+ handshakeWithInterleaving: (target, remoteNodeId) => this.handshakeWithInterleaving(target, remoteNodeId),
25
25
  createRpcRemote: (target) => this.createRpcRemote(target),
26
26
  createContentDeliveryRpcRemote: (target) => this.createContentDeliveryRpcRemote(target)
27
27
  });
28
- this.config.rpcCommunicator.registerRpcMethod(NetworkRpc_1.InterleaveRequest, NetworkRpc_1.InterleaveResponse, 'interleaveRequest', (req, context) => this.rpcLocal.interleaveRequest(req, context), { timeout: HandshakeRpcRemote_1.INTERLEAVE_REQUEST_TIMEOUT });
29
- this.config.rpcCommunicator.registerRpcMethod(NetworkRpc_1.StreamPartHandshakeRequest, NetworkRpc_1.StreamPartHandshakeResponse, 'handshake', (req, context) => this.rpcLocal.handshake(req, context));
28
+ this.options.rpcCommunicator.registerRpcMethod(NetworkRpc_1.InterleaveRequest, NetworkRpc_1.InterleaveResponse, 'interleaveRequest', (req, context) => this.rpcLocal.interleaveRequest(req, context), { timeout: HandshakeRpcRemote_1.INTERLEAVE_REQUEST_TIMEOUT });
29
+ this.options.rpcCommunicator.registerRpcMethod(NetworkRpc_1.StreamPartHandshakeRequest, NetworkRpc_1.StreamPartHandshakeResponse, 'handshake', (req, context) => this.rpcLocal.handshake(req, context));
30
30
  }
31
31
  async attemptHandshakesOnContacts(excludedIds) {
32
- // TODO use config option or named constant? or why the value 2?
33
- if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount - 2) {
32
+ // TODO use options option or named constant? or why the value 2?
33
+ if (this.options.neighbors.size() + this.options.ongoingHandshakes.size < this.options.maxNeighborCount - 2) {
34
34
  logger.trace(`Attempting parallel handshakes with ${PARALLEL_HANDSHAKE_COUNT} targets`);
35
35
  return this.selectParallelTargetsAndHandshake(excludedIds);
36
36
  }
37
- else if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount) {
37
+ else if (this.options.neighbors.size() + this.options.ongoingHandshakes.size < this.options.maxNeighborCount) {
38
38
  logger.trace(`Attempting handshake with new target`);
39
39
  return this.selectNewTargetAndHandshake(excludedIds);
40
40
  }
41
41
  return excludedIds;
42
42
  }
43
43
  async selectParallelTargetsAndHandshake(excludedIds) {
44
- const exclude = excludedIds.concat(this.config.neighbors.getIds());
44
+ const exclude = excludedIds.concat(this.options.neighbors.getIds());
45
45
  const neighbors = this.selectParallelTargets(exclude);
46
- neighbors.forEach((contact) => this.config.ongoingHandshakes.add((0, dht_1.getNodeIdFromPeerDescriptor)(contact.getPeerDescriptor())));
46
+ neighbors.forEach((contact) => this.options.ongoingHandshakes.add((0, dht_1.getNodeIdFromPeerDescriptor)(contact.getPeerDescriptor())));
47
47
  return this.doParallelHandshakes(neighbors, exclude);
48
48
  }
49
49
  selectParallelTargets(excludedIds) {
50
50
  const neighbors = new Map();
51
51
  // First add the closest left and then right contacts from the ring if possible.
52
- const left = this.config.leftNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
53
- const right = this.config.rightNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
52
+ const left = this.options.leftNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
53
+ const right = this.options.rightNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
54
54
  if (left) {
55
55
  neighbors.set((0, dht_1.getNodeIdFromPeerDescriptor)(left.getPeerDescriptor()), left);
56
56
  }
@@ -59,7 +59,7 @@ class Handshaker {
59
59
  }
60
60
  // If there is still room add the closest contact based on the kademlia metric
61
61
  if (neighbors.size < PARALLEL_HANDSHAKE_COUNT) {
62
- const first = this.config.nearbyNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
62
+ const first = this.options.nearbyNodeView.getFirst([...excludedIds, ...Array.from(neighbors.keys())]);
63
63
  if (first) {
64
64
  neighbors.set((0, dht_1.getNodeIdFromPeerDescriptor)(first.getPeerDescriptor()), first);
65
65
  }
@@ -70,8 +70,8 @@ class Handshaker {
70
70
  ];
71
71
  // If there is still room add a random contact until PARALLEL_HANDSHAKE_COUNT is reached
72
72
  while (neighbors.size < PARALLEL_HANDSHAKE_COUNT
73
- && this.config.randomNodeView.size(getExcludedFromRandomView()) > 0) {
74
- const random = this.config.randomNodeView.getRandom([...excludedIds, ...Array.from(neighbors.keys())]);
73
+ && this.options.randomNodeView.size(getExcludedFromRandomView()) > 0) {
74
+ const random = this.options.randomNodeView.getRandom([...excludedIds, ...Array.from(neighbors.keys())]);
75
75
  if (random) {
76
76
  neighbors.set((0, dht_1.getNodeIdFromPeerDescriptor)(random.getPeerDescriptor()), random);
77
77
  }
@@ -93,11 +93,11 @@ class Handshaker {
93
93
  return excludedIds;
94
94
  }
95
95
  async selectNewTargetAndHandshake(excludedIds) {
96
- const exclude = excludedIds.concat(this.config.neighbors.getIds());
97
- const neighbor = this.config.leftNodeView.getFirst(exclude)
98
- ?? this.config.rightNodeView.getFirst(exclude)
99
- ?? this.config.nearbyNodeView.getFirst(exclude)
100
- ?? this.config.randomNodeView.getRandom(exclude);
96
+ const exclude = excludedIds.concat(this.options.neighbors.getIds());
97
+ const neighbor = this.options.leftNodeView.getFirst(exclude)
98
+ ?? this.options.rightNodeView.getFirst(exclude)
99
+ ?? this.options.nearbyNodeView.getFirst(exclude)
100
+ ?? this.options.randomNodeView.getRandom(exclude);
101
101
  if (neighbor) {
102
102
  const accepted = await this.handshakeWithTarget(this.createRpcRemote(neighbor.getPeerDescriptor()));
103
103
  if (!accepted) {
@@ -108,36 +108,36 @@ class Handshaker {
108
108
  }
109
109
  async handshakeWithTarget(neighbor, concurrentNodeId) {
110
110
  const targetNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor());
111
- this.config.ongoingHandshakes.add(targetNodeId);
112
- const result = await neighbor.handshake(this.config.streamPartId, this.config.neighbors.getIds(), concurrentNodeId);
111
+ this.options.ongoingHandshakes.add(targetNodeId);
112
+ const result = await neighbor.handshake(this.options.streamPartId, this.options.neighbors.getIds(), concurrentNodeId);
113
113
  if (result.accepted) {
114
- this.config.neighbors.add(this.createContentDeliveryRpcRemote(neighbor.getPeerDescriptor()));
114
+ this.options.neighbors.add(this.createContentDeliveryRpcRemote(neighbor.getPeerDescriptor()));
115
115
  }
116
116
  if (result.interleaveTargetDescriptor) {
117
117
  await this.handshakeWithInterleaving(result.interleaveTargetDescriptor, targetNodeId);
118
118
  }
119
- this.config.ongoingHandshakes.delete(targetNodeId);
119
+ this.options.ongoingHandshakes.delete(targetNodeId);
120
120
  return result.accepted;
121
121
  }
122
- async handshakeWithInterleaving(target, interleaveSourceId) {
122
+ async handshakeWithInterleaving(target, remoteNodeId) {
123
123
  const neighbor = this.createRpcRemote(target);
124
124
  const targetNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor());
125
- this.config.ongoingHandshakes.add(targetNodeId);
126
- const result = await neighbor.handshake(this.config.streamPartId, this.config.neighbors.getIds(), undefined, interleaveSourceId);
125
+ this.options.ongoingHandshakes.add(targetNodeId);
126
+ const result = await neighbor.handshake(this.options.streamPartId, this.options.neighbors.getIds(), undefined, remoteNodeId);
127
127
  if (result.accepted) {
128
- this.config.neighbors.add(this.createContentDeliveryRpcRemote(neighbor.getPeerDescriptor()));
128
+ this.options.neighbors.add(this.createContentDeliveryRpcRemote(neighbor.getPeerDescriptor()));
129
129
  }
130
- this.config.ongoingHandshakes.delete(targetNodeId);
130
+ this.options.ongoingHandshakes.delete(targetNodeId);
131
131
  return result.accepted;
132
132
  }
133
133
  createRpcRemote(targetPeerDescriptor) {
134
- return new HandshakeRpcRemote_1.HandshakeRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, this.config.rpcCommunicator, NetworkRpc_client_1.HandshakeRpcClient, this.config.rpcRequestTimeout);
134
+ return new HandshakeRpcRemote_1.HandshakeRpcRemote(this.options.localPeerDescriptor, targetPeerDescriptor, this.options.rpcCommunicator, NetworkRpc_client_1.HandshakeRpcClient, this.options.rpcRequestTimeout);
135
135
  }
136
136
  createContentDeliveryRpcRemote(targetPeerDescriptor) {
137
- return new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, this.config.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient, this.config.rpcRequestTimeout);
137
+ return new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.options.localPeerDescriptor, targetPeerDescriptor, this.options.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient, this.options.rpcRequestTimeout);
138
138
  }
139
139
  getOngoingHandshakes() {
140
- return this.config.ongoingHandshakes;
140
+ return this.options.ongoingHandshakes;
141
141
  }
142
142
  }
143
143
  exports.Handshaker = Handshaker;
@@ -1 +1 @@
1
- {"version":3,"file":"Handshaker.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/Handshaker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Handshaker.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/Handshaker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { NodeList } from '../NodeList';
2
2
  import { DhtAddress } from '@streamr/dht';
3
- interface FindNeighborsSessionConfig {
3
+ interface FindNeighborsSessionOptions {
4
4
  neighbors: NodeList;
5
5
  nearbyNodeView: NodeList;
6
6
  leftNodeView: NodeList;
@@ -11,9 +11,9 @@ interface FindNeighborsSessionConfig {
11
11
  }
12
12
  export declare class NeighborFinder {
13
13
  private readonly abortController;
14
- private readonly config;
14
+ private readonly options;
15
15
  private running;
16
- constructor(config: FindNeighborsSessionConfig);
16
+ constructor(options: FindNeighborsSessionOptions);
17
17
  private findNeighbors;
18
18
  isRunning(): boolean;
19
19
  start(excluded?: DhtAddress[]): void;
@@ -6,24 +6,24 @@ const INITIAL_WAIT = 100;
6
6
  const INTERVAL = 250;
7
7
  class NeighborFinder {
8
8
  abortController;
9
- config;
9
+ options;
10
10
  running = false;
11
- constructor(config) {
12
- this.config = config;
11
+ constructor(options) {
12
+ this.options = options;
13
13
  this.abortController = new AbortController();
14
14
  }
15
15
  async findNeighbors(excluded) {
16
16
  if (!this.running) {
17
17
  return;
18
18
  }
19
- const newExcludes = await this.config.doFindNeighbors(excluded);
19
+ const newExcludes = await this.options.doFindNeighbors(excluded);
20
20
  const uniqueContactCount = new Set([
21
- ...this.config.nearbyNodeView.getIds(),
22
- ...this.config.leftNodeView.getIds(),
23
- ...this.config.rightNodeView.getIds(),
24
- ...this.config.randomNodeView.getIds()
21
+ ...this.options.nearbyNodeView.getIds(),
22
+ ...this.options.leftNodeView.getIds(),
23
+ ...this.options.rightNodeView.getIds(),
24
+ ...this.options.randomNodeView.getIds()
25
25
  ]).size;
26
- if (this.config.neighbors.size() < this.config.minCount && newExcludes.length < uniqueContactCount) {
26
+ if (this.options.neighbors.size() < this.options.minCount && newExcludes.length < uniqueContactCount) {
27
27
  // TODO should we catch possible promise rejection?
28
28
  (0, utils_1.setAbortableTimeout)(() => this.findNeighbors(newExcludes), INTERVAL, this.abortController.signal);
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NeighborFinder.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborFinder.ts"],"names":[],"mappings":";;;AAAA,0CAAoD;AAcpD,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,QAAQ,GAAG,GAAG,CAAA;AAEpB,MAAa,cAAc;IACN,eAAe,CAAiB;IAChC,MAAM,CAA4B;IAC3C,OAAO,GAAG,KAAK,CAAA;IAEvB,YAAY,MAAkC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAsB;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAM;QACV,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAC/D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;YAC/B,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;YACtC,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;YACpC,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;YACrC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;SACzC,CAAC,CAAC,IAAI,CAAA;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACjG,mDAAmD;YACnD,IAAA,2BAAmB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QACrG,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACxB,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,WAAyB,EAAE;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAM;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,mDAAmD;QACnD,IAAA,2BAAmB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACtG,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAM;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;CACJ;AAjDD,wCAiDC"}
1
+ {"version":3,"file":"NeighborFinder.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborFinder.ts"],"names":[],"mappings":";;;AAAA,0CAAoD;AAcpD,MAAM,YAAY,GAAG,GAAG,CAAA;AACxB,MAAM,QAAQ,GAAG,GAAG,CAAA;AAEpB,MAAa,cAAc;IACN,eAAe,CAAiB;IAChC,OAAO,CAA6B;IAC7C,OAAO,GAAG,KAAK,CAAA;IAEvB,YAAY,OAAoC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAsB;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAM;QACV,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA;QAChE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;YAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE;YACvC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;YACrC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE;YACtC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE;SAC1C,CAAC,CAAC,IAAI,CAAA;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACnG,mDAAmD;YACnD,IAAA,2BAAmB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QACrG,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACxB,CAAC;IACL,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,WAAyB,EAAE;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAM;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,mDAAmD;QACnD,IAAA,2BAAmB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACtG,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAM;QACV,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;CACJ;AAjDD,wCAiDC"}
@@ -2,7 +2,7 @@ import { DhtAddress, ListeningRpcCommunicator, PeerDescriptor } from '@streamr/d
2
2
  import { NeighborFinder } from './NeighborFinder';
3
3
  import { NodeList } from '../NodeList';
4
4
  import { StreamPartID } from '@streamr/protocol';
5
- interface NeighborUpdateManagerConfig {
5
+ interface NeighborUpdateManagerOptions {
6
6
  localPeerDescriptor: PeerDescriptor;
7
7
  neighbors: NodeList;
8
8
  nearbyNodeView: NodeList;
@@ -15,9 +15,9 @@ interface NeighborUpdateManagerConfig {
15
15
  }
16
16
  export declare class NeighborUpdateManager {
17
17
  private readonly abortController;
18
- private readonly config;
18
+ private readonly options;
19
19
  private readonly rpcLocal;
20
- constructor(config: NeighborUpdateManagerConfig);
20
+ constructor(options: NeighborUpdateManagerOptions);
21
21
  start(): Promise<void>;
22
22
  stop(): void;
23
23
  private updateNeighborInfo;
@@ -10,34 +10,34 @@ const NeighborUpdateRpcLocal_1 = require("./NeighborUpdateRpcLocal");
10
10
  const logger = new utils_1.Logger(module);
11
11
  class NeighborUpdateManager {
12
12
  abortController;
13
- config;
13
+ options;
14
14
  rpcLocal;
15
- constructor(config) {
15
+ constructor(options) {
16
16
  this.abortController = new AbortController();
17
- this.rpcLocal = new NeighborUpdateRpcLocal_1.NeighborUpdateRpcLocal(config);
18
- this.config = config;
19
- this.config.rpcCommunicator.registerRpcMethod(NetworkRpc_1.NeighborUpdate, NetworkRpc_1.NeighborUpdate, 'neighborUpdate', (req, context) => this.rpcLocal.neighborUpdate(req, context));
17
+ this.rpcLocal = new NeighborUpdateRpcLocal_1.NeighborUpdateRpcLocal(options);
18
+ this.options = options;
19
+ this.options.rpcCommunicator.registerRpcMethod(NetworkRpc_1.NeighborUpdate, NetworkRpc_1.NeighborUpdate, 'neighborUpdate', (req, context) => this.rpcLocal.neighborUpdate(req, context));
20
20
  }
21
21
  async start() {
22
- await (0, utils_1.scheduleAtInterval)(() => this.updateNeighborInfo(), this.config.neighborUpdateInterval, false, this.abortController.signal);
22
+ await (0, utils_1.scheduleAtInterval)(() => this.updateNeighborInfo(), this.options.neighborUpdateInterval, false, this.abortController.signal);
23
23
  }
24
24
  stop() {
25
25
  this.abortController.abort();
26
26
  }
27
27
  async updateNeighborInfo() {
28
28
  logger.trace(`Updating neighbor info to nodes`);
29
- const neighborDescriptors = this.config.neighbors.getAll().map((neighbor) => neighbor.getPeerDescriptor());
30
- await Promise.allSettled(this.config.neighbors.getAll().map(async (neighbor) => {
31
- const res = await this.createRemote(neighbor.getPeerDescriptor()).updateNeighbors(this.config.streamPartId, neighborDescriptors);
29
+ const neighborDescriptors = this.options.neighbors.getAll().map((neighbor) => neighbor.getPeerDescriptor());
30
+ await Promise.allSettled(this.options.neighbors.getAll().map(async (neighbor) => {
31
+ const res = await this.createRemote(neighbor.getPeerDescriptor()).updateNeighbors(this.options.streamPartId, neighborDescriptors);
32
32
  if (res.removeMe) {
33
33
  const nodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor());
34
- this.config.neighbors.remove(nodeId);
35
- this.config.neighborFinder.start([nodeId]);
34
+ this.options.neighbors.remove(nodeId);
35
+ this.options.neighborFinder.start([nodeId]);
36
36
  }
37
37
  }));
38
38
  }
39
39
  createRemote(targetPeerDescriptor) {
40
- return new NeighborUpdateRpcRemote_1.NeighborUpdateRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, this.config.rpcCommunicator, NetworkRpc_client_1.NeighborUpdateRpcClient);
40
+ return new NeighborUpdateRpcRemote_1.NeighborUpdateRpcRemote(this.options.localPeerDescriptor, targetPeerDescriptor, this.options.rpcCommunicator, NetworkRpc_client_1.NeighborUpdateRpcClient);
41
41
  }
42
42
  }
43
43
  exports.NeighborUpdateManager = NeighborUpdateManager;
@@ -1 +1 @@
1
- {"version":3,"file":"NeighborUpdateManager.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateManager.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC3F,sCAAgH;AAChH,yGAA2G;AAC3G,0CAA2D;AAG3D,uEAAmE;AACnE,qEAAiE;AAejE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,qBAAqB;IAEb,eAAe,CAAiB;IAChC,MAAM,CAA6B;IACnC,QAAQ,CAAwB;IAEjD,YAAY,MAAmC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAsB,CAAC,MAAM,CAAC,CAAA;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,iBAAiB,CAAC,2BAAc,EAAE,2BAAc,EAAE,gBAAgB,EAC1F,CAAC,GAAmB,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAA,0BAAkB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACrI,CAAC;IAED,IAAI;QACA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC1G,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC3E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;YAChI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,IAAA,iCAA2B,EAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;gBACxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAC9C,CAAC;QACL,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAEO,YAAY,CAAC,oBAAoC;QACrD,OAAO,IAAI,iDAAuB,CAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,oBAAoB,EACpB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,2CAAuB,CAC1B,CAAA;IACL,CAAC;CACJ;AA3CD,sDA2CC"}
1
+ {"version":3,"file":"NeighborUpdateManager.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateManager.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC3F,sCAAgH;AAChH,yGAA2G;AAC3G,0CAA2D;AAG3D,uEAAmE;AACnE,qEAAiE;AAejE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,qBAAqB;IAEb,eAAe,CAAiB;IAChC,OAAO,CAA8B;IACrC,QAAQ,CAAwB;IAEjD,YAAY,OAAqC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,+CAAsB,CAAC,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,2BAAc,EAAE,2BAAc,EAAE,gBAAgB,EAC3F,CAAC,GAAmB,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;IACrF,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAA,0BAAkB,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IACtI,CAAC;IAED,IAAI;QACA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC5B,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;QAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAC3G,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;YACjI,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,IAAA,iCAA2B,EAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAA;gBACxE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAEO,YAAY,CAAC,oBAAoC;QACrD,OAAO,IAAI,iDAAuB,CAC9B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAChC,oBAAoB,EACpB,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,2CAAuB,CAC1B,CAAA;IACL,CAAC;CACJ;AA3CD,sDA2CC"}
@@ -5,7 +5,7 @@ import { INeighborUpdateRpc } from '../../proto/packages/trackerless-network/pro
5
5
  import { NodeList } from '../NodeList';
6
6
  import { NeighborFinder } from './NeighborFinder';
7
7
  import { StreamPartID } from '@streamr/protocol';
8
- interface NeighborUpdateRpcLocalConfig {
8
+ interface NeighborUpdateRpcLocalOptions {
9
9
  localPeerDescriptor: PeerDescriptor;
10
10
  streamPartId: StreamPartID;
11
11
  neighbors: NodeList;
@@ -16,8 +16,8 @@ interface NeighborUpdateRpcLocalConfig {
16
16
  ongoingHandshakes: Set<DhtAddress>;
17
17
  }
18
18
  export declare class NeighborUpdateRpcLocal implements INeighborUpdateRpc {
19
- private readonly config;
20
- constructor(config: NeighborUpdateRpcLocalConfig);
19
+ private readonly options;
20
+ constructor(options: NeighborUpdateRpcLocalOptions);
21
21
  private updateContacts;
22
22
  private createResponse;
23
23
  neighborUpdate(message: NeighborUpdate, context: ServerCallContext): Promise<NeighborUpdate>;