@streamr/trackerless-network 100.0.0-testnet-two.3 → 100.0.0-testnet-three.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 (176) hide show
  1. package/dist/src/NetworkNode.d.ts +2 -1
  2. package/dist/src/NetworkNode.js +6 -2
  3. package/dist/src/NetworkNode.js.map +1 -1
  4. package/dist/src/NetworkStack.d.ts +6 -2
  5. package/dist/src/NetworkStack.js +21 -1
  6. package/dist/src/NetworkStack.js.map +1 -1
  7. package/dist/src/exports.d.ts +1 -0
  8. package/dist/src/exports.js +4 -1
  9. package/dist/src/exports.js.map +1 -1
  10. package/dist/src/logic/DeliveryRpcLocal.js +1 -0
  11. package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
  12. package/dist/src/logic/DuplicateMessageDetector.d.ts +3 -3
  13. package/dist/src/logic/DuplicateMessageDetector.js +10 -6
  14. package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
  15. package/dist/src/logic/EntryPointDiscovery.js +8 -5
  16. package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
  17. package/dist/src/logic/Layer0Node.d.ts +2 -0
  18. package/dist/src/logic/Layer1Node.d.ts +4 -4
  19. package/dist/src/logic/NodeList.d.ts +6 -8
  20. package/dist/src/logic/NodeList.js +10 -12
  21. package/dist/src/logic/NodeList.js.map +1 -1
  22. package/dist/src/logic/RandomGraphNode.d.ts +5 -5
  23. package/dist/src/logic/RandomGraphNode.js +26 -22
  24. package/dist/src/logic/RandomGraphNode.js.map +1 -1
  25. package/dist/src/logic/StreamrNode.d.ts +3 -2
  26. package/dist/src/logic/StreamrNode.js +25 -6
  27. package/dist/src/logic/StreamrNode.js.map +1 -1
  28. package/dist/src/logic/createRandomGraphNode.d.ts +2 -2
  29. package/dist/src/logic/createRandomGraphNode.js +14 -14
  30. package/dist/src/logic/createRandomGraphNode.js.map +1 -1
  31. package/dist/src/logic/inspect/InspectSession.js +3 -2
  32. package/dist/src/logic/inspect/InspectSession.js.map +1 -1
  33. package/dist/src/logic/inspect/Inspector.d.ts +2 -3
  34. package/dist/src/logic/inspect/Inspector.js +7 -1
  35. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  36. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +1 -1
  37. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +18 -17
  38. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
  39. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
  40. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +3 -4
  41. package/dist/src/logic/neighbor-discovery/Handshaker.js +29 -27
  42. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  43. package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +1 -1
  44. package/dist/src/logic/neighbor-discovery/NeighborFinder.js +4 -2
  45. package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
  46. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +1 -1
  47. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +8 -4
  48. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  49. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +1 -1
  50. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +5 -4
  51. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  52. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
  53. package/dist/src/logic/node-info/NodeInfoClient.d.ts +9 -0
  54. package/dist/src/logic/node-info/NodeInfoClient.js +19 -0
  55. package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -0
  56. package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +12 -0
  57. package/dist/src/logic/node-info/NodeInfoRpcLocal.js +29 -0
  58. package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -0
  59. package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +6 -0
  60. package/dist/src/logic/node-info/NodeInfoRpcRemote.js +11 -0
  61. package/dist/src/logic/node-info/NodeInfoRpcRemote.js.map +1 -0
  62. package/dist/src/logic/propagation/FifoMapWithTTL.js +7 -3
  63. package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -1
  64. package/dist/src/logic/propagation/Propagation.js +3 -0
  65. package/dist/src/logic/propagation/Propagation.js.map +1 -1
  66. package/dist/src/logic/propagation/PropagationTaskStore.js +1 -0
  67. package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -1
  68. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +1 -1
  69. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -1
  70. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +1 -1
  71. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -1
  72. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +43 -15
  73. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
  74. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.d.ts +3 -0
  75. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js +14 -0
  76. package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js.map +1 -0
  77. package/dist/src/logic/proxy/ProxyClient.d.ts +1 -1
  78. package/dist/src/logic/proxy/ProxyClient.js +18 -11
  79. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  80. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +2 -1
  81. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
  82. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
  83. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +2 -2
  84. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +4 -2
  85. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  86. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
  87. package/dist/src/logic/utils.js.map +1 -1
  88. package/dist/src/proto/google/protobuf/any.js.map +1 -1
  89. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
  90. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +4 -5
  91. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +38 -29
  92. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  93. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +22 -12
  94. package/dist/src/proto/packages/dht/protos/DhtRpc.js +11 -16
  95. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  96. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -3
  97. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  98. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +27 -0
  99. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +43 -17
  100. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
  101. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +106 -5
  102. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +79 -7
  103. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
  104. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +11 -0
  105. package/dist/test/benchmark/first-message.js +7 -5
  106. package/dist/test/benchmark/first-message.js.map +1 -1
  107. package/dist/test/utils/utils.js +2 -1
  108. package/dist/test/utils/utils.js.map +1 -1
  109. package/jest.config.js +3 -38
  110. package/package.json +7 -7
  111. package/protos/NetworkRpc.proto +34 -5
  112. package/src/NetworkNode.ts +5 -1
  113. package/src/NetworkStack.ts +23 -2
  114. package/src/exports.ts +4 -0
  115. package/src/logic/DuplicateMessageDetector.ts +7 -7
  116. package/src/logic/EntryPointDiscovery.ts +3 -3
  117. package/src/logic/Layer0Node.ts +2 -0
  118. package/src/logic/Layer1Node.ts +4 -4
  119. package/src/logic/NodeList.ts +9 -15
  120. package/src/logic/RandomGraphNode.ts +24 -23
  121. package/src/logic/StreamrNode.ts +18 -4
  122. package/src/logic/createRandomGraphNode.ts +17 -17
  123. package/src/logic/inspect/Inspector.ts +3 -4
  124. package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +18 -18
  125. package/src/logic/neighbor-discovery/Handshaker.ts +31 -32
  126. package/src/logic/neighbor-discovery/NeighborFinder.ts +2 -2
  127. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +6 -5
  128. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +5 -5
  129. package/src/logic/node-info/NodeInfoClient.ts +21 -0
  130. package/src/logic/node-info/NodeInfoRpcLocal.ts +35 -0
  131. package/src/logic/node-info/NodeInfoRpcRemote.ts +11 -0
  132. package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +1 -1
  133. package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +1 -1
  134. package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +56 -27
  135. package/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts +11 -0
  136. package/src/logic/proxy/ProxyClient.ts +10 -10
  137. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +3 -3
  138. package/src/proto/packages/dht/protos/DhtRpc.client.ts +6 -7
  139. package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -4
  140. package/src/proto/packages/dht/protos/DhtRpc.ts +32 -20
  141. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  142. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +30 -1
  143. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +12 -1
  144. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +138 -11
  145. package/test/benchmark/first-message.ts +28 -8
  146. package/test/end-to-end/inspect.test.ts +13 -1
  147. package/test/end-to-end/proxy-and-full-node.test.ts +14 -1
  148. package/test/end-to-end/proxy-connections.test.ts +14 -2
  149. package/test/end-to-end/proxy-key-exchange.test.ts +15 -8
  150. package/test/end-to-end/random-graph-with-real-connections.test.ts +21 -21
  151. package/test/end-to-end/webrtc-full-node-network.test.ts +3 -3
  152. package/test/end-to-end/websocket-full-node-network.test.ts +3 -3
  153. package/test/integration/Handshakes.test.ts +8 -8
  154. package/test/integration/NetworkNode.test.ts +19 -1
  155. package/test/integration/NetworkRpc.test.ts +3 -2
  156. package/test/integration/NodeInfoRpc.test.ts +103 -0
  157. package/test/integration/Propagation.test.ts +2 -2
  158. package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +20 -21
  159. package/test/integration/RandomGraphNode-Layer1Node.test.ts +22 -19
  160. package/test/integration/stream-without-default-entrypoints.test.ts +17 -11
  161. package/test/unit/HandshakeRpcLocal.test.ts +15 -15
  162. package/test/unit/Handshaker.test.ts +3 -3
  163. package/test/unit/NeighborFinder.test.ts +5 -5
  164. package/test/unit/NodeList.test.ts +56 -57
  165. package/test/unit/Propagation.test.ts +4 -2
  166. package/test/unit/RandomGraphNode.test.ts +7 -8
  167. package/test/unit/StreamMessageTranslator.test.ts +7 -4
  168. package/test/unit/StreamrNode.test.ts +2 -0
  169. package/test/unit/oldStreamMessageBinaryUtils.test.ts +39 -0
  170. package/test/utils/mock/MockLayer0Node.ts +6 -1
  171. package/test/utils/mock/MockLayer1Node.ts +2 -2
  172. package/test/utils/mock/Transport.ts +1 -1
  173. package/test/utils/utils.ts +3 -1
  174. package/tsconfig.jest.json +3 -3
  175. package/tsconfig.node.json +0 -1
  176. package/dist/package.json +0 -55
@@ -2,7 +2,7 @@ import { StreamMessage, StreamPartID } from '@streamr/protocol';
2
2
  import { DhtAddress, PeerDescriptor } from '@streamr/dht';
3
3
  import { NetworkOptions, NetworkStack } from './NetworkStack';
4
4
  import { EthereumAddress, MetricsContext } from '@streamr/utils';
5
- import { ProxyDirection } from './proto/packages/trackerless-network/protos/NetworkRpc';
5
+ import { NodeInfoResponse, ProxyDirection } from './proto/packages/trackerless-network/protos/NetworkRpc';
6
6
  export declare const createNetworkNode: (opts: NetworkOptions) => NetworkNode;
7
7
  /**
8
8
  * Convenience wrapper for building client-facing functionality. Used by client.
@@ -32,5 +32,6 @@ export declare class NetworkNode {
32
32
  getNodeId(): DhtAddress;
33
33
  getOptions(): NetworkOptions;
34
34
  getStreamParts(): StreamPartID[];
35
+ fetchNodeInfo(node: PeerDescriptor): Promise<NodeInfoResponse>;
35
36
  getDiagnosticInfo(): Record<string, unknown>;
36
37
  }
@@ -14,10 +14,11 @@ const logger = new utils_1.Logger(module);
14
14
  * Convenience wrapper for building client-facing functionality. Used by client.
15
15
  */
16
16
  class NetworkNode {
17
+ stack;
18
+ messageListeners = [];
19
+ stopped = false;
17
20
  /** @internal */
18
21
  constructor(stack) {
19
- this.messageListeners = [];
20
- this.stopped = false;
21
22
  this.stack = stack;
22
23
  this.stack.getStreamrNode().on('newMessage', (msg) => {
23
24
  if (this.messageListeners.length > 0) {
@@ -92,6 +93,9 @@ class NetworkNode {
92
93
  getStreamParts() {
93
94
  return this.stack.getStreamrNode().getStreamParts();
94
95
  }
96
+ async fetchNodeInfo(node) {
97
+ return this.stack.fetchNodeInfo(node);
98
+ }
95
99
  // eslint-disable-next-line class-methods-use-this
96
100
  getDiagnosticInfo() {
97
101
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkNode.js","sourceRoot":"","sources":["../../src/NetworkNode.ts"],"names":[],"mappings":";;;AAEA,iHAA6G;AAC7G,iDAA6D;AAC7D,0CAAwE;AAExE,mCAA6B;AAEtB,MAAM,iBAAiB,GAAG,CAAC,IAAoB,EAAe,EAAE;IACnE,OAAO,IAAI,WAAW,CAAC,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAED,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AACjC;;GAEG;AACH,MAAa,WAAW;IAMpB,gBAAgB;IAChB,YAAY,KAAmB;QAJd,qBAAgB,GAAqC,EAAE,CAAA;QAChE,YAAO,GAAG,KAAK,CAAA;QAInB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,IAAI;oBACA,MAAM,UAAU,GAAG,iDAAuB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;oBAChE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;wBAC1C,QAAQ,CAAC,UAAU,CAAC,CAAA;qBACvB;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACV,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAA;iBACtD;aACJ;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAgB;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,YAA0B;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAA4B;QACxC,MAAM,GAAG,GAAG,iDAAuB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAA0B,EAAE,mBAA2D;QAC9F,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,YAA0B,EAC1B,KAAuB,EACvB,SAAyB,EACzB,MAAuB,EACvB,eAAwB;QAExB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IACzG,CAAC;IAED,mBAAmB,CAAC,YAA0B;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;IACxE,CAAC;IAED,kBAAkB,CAAC,EAAgC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,wBAAwB,CAAC,YAA0B,EAAE,sBAAwC;QACzF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAG,CAAC,wBAAwB,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAA;IAC/F,CAAC;IAED,qBAAqB,CAAC,EAAgC;QAClD,IAAA,aAAI,EAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAA0B;QAClC,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAM;SACT;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;IACnE,CAAC;IAED,YAAY,CAAC,YAA0B;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;IACjE,CAAC;IAED,aAAa,CAAC,YAA0B;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC3B,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,sBAAsB,EAAE,CAAA;IAC9D,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAA;IACzC,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,CAAA;IAClD,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAA;IAClC,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAA;IACvD,CAAC;IAED,kDAAkD;IAClD,iBAAiB;QACb,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AA9GD,kCA8GC"}
1
+ {"version":3,"file":"NetworkNode.js","sourceRoot":"","sources":["../../src/NetworkNode.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { DhtNodeOptions } from '@streamr/dht';
1
+ import { DhtNodeOptions, PeerDescriptor } from '@streamr/dht';
2
2
  import { StreamrNode, StreamrNodeConfig } from './logic/StreamrNode';
3
3
  import { MetricsContext } from '@streamr/utils';
4
4
  import { StreamPartID } from '@streamr/protocol';
5
- import { StreamMessage } from './proto/packages/trackerless-network/protos/NetworkRpc';
5
+ import { NodeInfoResponse, StreamMessage } from './proto/packages/trackerless-network/protos/NetworkRpc';
6
6
  import { Layer0Node } from './logic/Layer0Node';
7
7
  export interface NetworkOptions {
8
8
  layer0?: DhtNodeOptions;
@@ -15,6 +15,8 @@ export declare class NetworkStack {
15
15
  private stopped;
16
16
  private readonly metricsContext;
17
17
  private readonly options;
18
+ private nodeInfoRpcLocal?;
19
+ private nodeInfoClient?;
18
20
  constructor(options: NetworkOptions);
19
21
  joinStreamPart(streamPartId: StreamPartID, neighborRequirement?: {
20
22
  minCount: number;
@@ -26,6 +28,8 @@ export declare class NetworkStack {
26
28
  getStreamrNode(): StreamrNode;
27
29
  getLayer0Node(): Layer0Node;
28
30
  getMetricsContext(): MetricsContext;
31
+ fetchNodeInfo(node: PeerDescriptor): Promise<NodeInfoResponse>;
29
32
  getOptions(): NetworkOptions;
33
+ private getConnectionManager;
30
34
  stop(): Promise<void>;
31
35
  }
@@ -7,6 +7,8 @@ const utils_1 = require("@streamr/utils");
7
7
  const protocol_1 = require("@streamr/protocol");
8
8
  const NetworkRpc_1 = require("./proto/packages/trackerless-network/protos/NetworkRpc");
9
9
  const lodash_1 = require("lodash");
10
+ const NodeInfoRpcLocal_1 = require("./logic/node-info/NodeInfoRpcLocal");
11
+ const NodeInfoClient_1 = require("./logic/node-info/NodeInfoClient");
10
12
  const instances = [];
11
13
  const stopInstances = async () => {
12
14
  // make a clone so that it is ok for each instance.stop() to remove itself from the list (at line 139)
@@ -27,8 +29,14 @@ if (typeof window === 'object') {
27
29
  });
28
30
  }
29
31
  class NetworkStack {
32
+ layer0Node;
33
+ streamrNode;
34
+ stopped = false;
35
+ metricsContext;
36
+ options;
37
+ nodeInfoRpcLocal;
38
+ nodeInfoClient;
30
39
  constructor(options) {
31
- this.stopped = false;
32
40
  this.options = options;
33
41
  this.metricsContext = options.metricsContext ?? new utils_1.MetricsContext();
34
42
  this.layer0Node = new dht_1.DhtNode({
@@ -76,7 +84,13 @@ class NetworkStack {
76
84
  await this.ensureConnectedToControlLayer();
77
85
  }
78
86
  }
87
+ // TODO: remove undefined checks here. Assume that start is approproately awaited before stop is called.
79
88
  await this.streamrNode?.start(this.layer0Node, connectionManager, connectionManager);
89
+ if (this.streamrNode) {
90
+ const infoRpcCommunicator = new dht_1.ListeningRpcCommunicator(NodeInfoRpcLocal_1.NODE_INFO_RPC_SERVICE_ID, this.getConnectionManager());
91
+ this.nodeInfoRpcLocal = new NodeInfoRpcLocal_1.NodeInfoRpcLocal(this, infoRpcCommunicator);
92
+ this.nodeInfoClient = new NodeInfoClient_1.NodeInfoClient(this.layer0Node.getLocalPeerDescriptor(), infoRpcCommunicator);
93
+ }
80
94
  }
81
95
  async ensureConnectedToControlLayer() {
82
96
  // TODO we could wrap joinDht with pOnce and call it here (no else-if needed in that case)
@@ -101,9 +115,15 @@ class NetworkStack {
101
115
  getMetricsContext() {
102
116
  return this.metricsContext;
103
117
  }
118
+ async fetchNodeInfo(node) {
119
+ return this.nodeInfoClient.getInfo(node);
120
+ }
104
121
  getOptions() {
105
122
  return this.options;
106
123
  }
124
+ getConnectionManager() {
125
+ return this.layer0Node.getTransport();
126
+ }
107
127
  async stop() {
108
128
  if (!this.stopped) {
109
129
  this.stopped = true;
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export { NetworkStack, NetworkOptions } from './NetworkStack';
2
2
  export { NetworkNode, createNetworkNode } from './NetworkNode';
3
3
  export { StreamrNodeConfig } from './logic/StreamrNode';
4
4
  export { ProxyDirection } from './proto/packages/trackerless-network/protos/NetworkRpc';
5
+ export { convertStreamMessageToBytes, convertBytesToStreamMessage } from './logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProxyDirection = exports.createNetworkNode = exports.NetworkNode = exports.NetworkStack = void 0;
3
+ exports.convertBytesToStreamMessage = exports.convertStreamMessageToBytes = exports.ProxyDirection = exports.createNetworkNode = exports.NetworkNode = exports.NetworkStack = void 0;
4
4
  var NetworkStack_1 = require("./NetworkStack");
5
5
  Object.defineProperty(exports, "NetworkStack", { enumerable: true, get: function () { return NetworkStack_1.NetworkStack; } });
6
6
  var NetworkNode_1 = require("./NetworkNode");
@@ -8,4 +8,7 @@ Object.defineProperty(exports, "NetworkNode", { enumerable: true, get: function
8
8
  Object.defineProperty(exports, "createNetworkNode", { enumerable: true, get: function () { return NetworkNode_1.createNetworkNode; } });
9
9
  var NetworkRpc_1 = require("./proto/packages/trackerless-network/protos/NetworkRpc");
10
10
  Object.defineProperty(exports, "ProxyDirection", { enumerable: true, get: function () { return NetworkRpc_1.ProxyDirection; } });
11
+ var oldStreamMessageBinaryUtils_1 = require("./logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils");
12
+ Object.defineProperty(exports, "convertStreamMessageToBytes", { enumerable: true, get: function () { return oldStreamMessageBinaryUtils_1.convertStreamMessageToBytes; } });
13
+ Object.defineProperty(exports, "convertBytesToStreamMessage", { enumerable: true, get: function () { return oldStreamMessageBinaryUtils_1.convertBytesToStreamMessage; } });
11
14
  //# sourceMappingURL=exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,+CAA6D;AAApD,4GAAA,YAAY,OAAA;AACrB,6CAA8D;AAArD,0GAAA,WAAW,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAEvC,qFAAuF;AAA9E,4GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,+CAA6D;AAApD,4GAAA,YAAY,OAAA;AACrB,6CAA8D;AAArD,0GAAA,WAAW,OAAA;AAAE,gHAAA,iBAAiB,OAAA;AAEvC,qFAAuF;AAA9E,4GAAA,cAAc,OAAA;AACvB,uHAGgF;AAF5E,0IAAA,2BAA2B,OAAA;AAC3B,0IAAA,2BAA2B,OAAA"}
@@ -4,6 +4,7 @@ exports.DeliveryRpcLocal = void 0;
4
4
  const dht_1 = require("@streamr/dht");
5
5
  const empty_1 = require("../proto/google/protobuf/empty");
6
6
  class DeliveryRpcLocal {
7
+ config;
7
8
  constructor(config) {
8
9
  this.config = config;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryRpcLocal.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcLocal.ts"],"names":[],"mappings":";;;AAAA,sCAAgI;AAChI,0DAAsD;AAqBtD,MAAa,gBAAgB;IAIzB,YAAY,MAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAsB,EAAE,OAA0B;QACtE,MAAM,YAAY,GAAG,IAAA,iCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACvG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAU,CAAC,CAAA;QAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE;YACnF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;SAC/C;QACD,OAAO,aAAK,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAA8B,EAAE,OAA0B;QAClF,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YACnD,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;YAClF,MAAM,QAAQ,GAAG,IAAA,iCAA2B,EAAC,oBAAoB,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;SAC5D;QACD,OAAO,aAAK,CAAA;IAChB,CAAC;CACJ;AAzBD,4CAyBC"}
1
+ {"version":3,"file":"DeliveryRpcLocal.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcLocal.ts"],"names":[],"mappings":";;;AAAA,sCAAgI;AAChI,0DAAsD;AAqBtD,MAAa,gBAAgB;IAER,MAAM,CAAwB;IAE/C,YAAY,MAA8B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAsB,EAAE,OAA0B;QACtE,MAAM,YAAY,GAAG,IAAA,iCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACvG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAU,CAAC,CAAA;QAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,aAAK,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAA8B,EAAE,OAA0B;QAClF,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpD,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;YAClF,MAAM,QAAQ,GAAG,IAAA,iCAA2B,EAAC,oBAAoB,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAC7D,CAAC;QACD,OAAO,aAAK,CAAA;IAChB,CAAC;CACJ;AAzBD,4CAyBC"}
@@ -43,13 +43,13 @@ export declare class GapMisMatchError extends Error {
43
43
  *
44
44
  */
45
45
  export declare class DuplicateMessageDetector {
46
- private readonly maxNumberOfGaps;
46
+ private readonly maxGapCount;
47
47
  private readonly gaps;
48
- constructor(maxNumberOfGaps?: number);
48
+ constructor(maxGapCount?: number);
49
49
  /**
50
50
  * returns true if number has not yet been seen (i.e. is not a duplicate)
51
51
  */
52
52
  markAndCheck(previousNumber: NumberPair | null, number: NumberPair): boolean | never;
53
- private dropLowestGapIfOverMaxNumberOfGaps;
53
+ private dropLowestGapIfOverMaxGapCount;
54
54
  toString(): string;
55
55
  }
@@ -7,6 +7,8 @@ exports.DuplicateMessageDetector = exports.GapMisMatchError = exports.InvalidNum
7
7
  * equal.
8
8
  */
9
9
  class NumberPair {
10
+ a;
11
+ b;
10
12
  constructor(a, b) {
11
13
  this.a = a;
12
14
  this.b = b;
@@ -77,8 +79,10 @@ exports.GapMisMatchError = GapMisMatchError;
77
79
  *
78
80
  */
79
81
  class DuplicateMessageDetector {
80
- constructor(maxNumberOfGaps = 10000) {
81
- this.maxNumberOfGaps = maxNumberOfGaps;
82
+ maxGapCount;
83
+ gaps;
84
+ constructor(maxGapCount = 10000) {
85
+ this.maxGapCount = maxGapCount;
82
86
  this.gaps = []; // ascending order of half-closed intervals (x,y] representing gaps that contain unseen message(s)
83
87
  }
84
88
  /**
@@ -132,7 +136,7 @@ class DuplicateMessageDetector {
132
136
  // - there are no gaps that define the empty set
133
137
  // - last gap is [n, Infinity]
134
138
  // - anything not covered by a gap is considered seen
135
- this.dropLowestGapIfOverMaxNumberOfGaps();
139
+ this.dropLowestGapIfOverMaxGapCount();
136
140
  return true;
137
141
  }
138
142
  if (number.greaterThan(lowerBound)) {
@@ -141,9 +145,9 @@ class DuplicateMessageDetector {
141
145
  }
142
146
  return false;
143
147
  }
144
- dropLowestGapIfOverMaxNumberOfGaps() {
145
- // invariant: this.gaps.length <= this.maxNumberOfGaps + 1
146
- if (this.gaps.length > this.maxNumberOfGaps) {
148
+ dropLowestGapIfOverMaxGapCount() {
149
+ // invariant: this.gaps.length <= this.maxGapCount + 1
150
+ if (this.gaps.length > this.maxGapCount) {
147
151
  this.gaps.shift();
148
152
  }
149
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DuplicateMessageDetector.js","sourceRoot":"","sources":["../../../src/logic/DuplicateMessageDetector.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,UAAU;IAInB,YAAY,CAAS,EAAE,CAAS;QAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,kBAAkB,CAAC,SAAqB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACjE,CAAC;IAED,WAAW,CAAC,SAAqB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,CAAC,SAAqB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAEO,SAAS,CAAC,SAAqB;QACnC,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAA;SACX;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAC,CAAA;SACZ;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAA;SACX;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE;YACtB,OAAO,CAAC,CAAC,CAAA;SACZ;QACD,OAAO,CAAC,CAAA;IACZ,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;CACJ;AAxCD,gCAwCC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC5C;QACI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACnD,CAAC;CACJ;AAJD,sDAIC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IACvC,YAAY,KAAa,EAAE,cAA0B,EAAE,MAAkB;QACrE,KAAK,CAAC,8CAA8C;cAC9C,mBAAmB,cAAc,YAAY,MAAM,WAAW,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;CACJ;AALD,4CAKC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,wBAAwB;IAIjC,YAAY,eAAe,GAAG,KAAK;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,kGAAkG;IACrH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,cAAiC,EAAE,MAAkB;QAC9D,IAAI,cAAc,IAAI,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC7D,MAAM,IAAI,qBAAqB,EAAE,CAAA;SACpC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAA;SACd;QAED,iEAAiE;QACjE,oEAAoE;QACpE,yBAAyB;QACzB,IAAI,cAAc,KAAK,IAAI,EAAE;YACzB,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;gBAC3C,OAAO,IAAI,CAAA;aACd;YACD,OAAO,KAAK,CAAA;SACf;QAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE;YAC5C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,qCAAqC;YAEnF,0FAA0F;YAC1F,IAAI,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;gBAC/C,OAAO,KAAK,CAAA;aACf;YACD,IAAI,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;gBAC/C,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;oBAChC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;iBACtE;gBACD,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACpC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;qBACzB;yBAAM;wBACH,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;qBACtC;iBACJ;qBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACnC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;iBAC9C;qBAAM;oBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;iBAC7E;gBAED,oBAAoB;gBACpB,kCAAkC;gBAClC,qDAAqD;gBACrD,kDAAkD;gBAClD,gCAAgC;gBAChC,uDAAuD;gBAEvD,IAAI,CAAC,kCAAkC,EAAE,CAAA;gBACzC,OAAO,IAAI,CAAA;aACd;YACD,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE;gBAChC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;aACtE;SACJ;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,kCAAkC;QACtC,0DAA0D;QAC1D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;SACpB;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/E,CAAC;CACJ;AAnFD,4DAmFC"}
1
+ {"version":3,"file":"DuplicateMessageDetector.js","sourceRoot":"","sources":["../../../src/logic/DuplicateMessageDetector.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,UAAU;IACF,CAAC,CAAA;IACD,CAAC,CAAA;IAElB,YAAY,CAAS,EAAE,CAAS;QAC5B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,kBAAkB,CAAC,SAAqB;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACjE,CAAC;IAED,WAAW,CAAC,SAAqB;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO,CAAC,SAAqB;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC;IAEO,SAAS,CAAC,SAAqB;QACnC,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,CAAA;QACb,CAAC;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,CAAA;QACb,CAAC;QACD,OAAO,CAAC,CAAA;IACZ,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAA;IAChC,CAAC;CACJ;AAxCD,gCAwCC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC5C;QACI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IACnD,CAAC;CACJ;AAJD,sDAIC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IACvC,YAAY,KAAa,EAAE,cAA0B,EAAE,MAAkB;QACrE,KAAK,CAAC,8CAA8C;cAC9C,mBAAmB,cAAc,YAAY,MAAM,WAAW,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;CACJ;AALD,4CAKC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,wBAAwB;IAChB,WAAW,CAAQ;IACnB,IAAI,CAAiC;IAEtD,YAAY,WAAW,GAAG,KAAK;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA,CAAC,kGAAkG;IACrH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,cAAiC,EAAE,MAAkB;QAC9D,IAAI,cAAc,IAAI,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,qBAAqB,EAAE,CAAA;QACrC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAA;QACf,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,yBAAyB;QACzB,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;gBAC3C,OAAO,IAAI,CAAA;YACf,CAAC;YACD,OAAO,KAAK,CAAA;QAChB,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,qCAAqC;YAEnF,0FAA0F;YAC1F,IAAI,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,OAAO,KAAK,CAAA;YAChB,CAAC;YACD,IAAI,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChD,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;gBACvE,CAAC;gBACD,IAAI,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC1B,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;oBACvC,CAAC;gBACL,CAAC;qBAAM,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;gBAC9E,CAAC;gBAED,oBAAoB;gBACpB,kCAAkC;gBAClC,qDAAqD;gBACrD,kDAAkD;gBAClD,gCAAgC;gBAChC,uDAAuD;gBAEvD,IAAI,CAAC,8BAA8B,EAAE,CAAA;gBACrC,OAAO,IAAI,CAAA;YACf,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;YACvE,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,8BAA8B;QAClC,sDAAsD;QACtD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACrB,CAAC;IACL,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/E,CAAC;CACJ;AAnFD,4DAmFC"}
@@ -37,9 +37,12 @@ const logger = new utils_1.Logger(module);
37
37
  exports.ENTRYPOINT_STORE_LIMIT = 8;
38
38
  exports.NETWORK_SPLIT_AVOIDANCE_LIMIT = 4;
39
39
  class EntryPointDiscovery {
40
+ abortController;
41
+ config;
42
+ storeInterval;
43
+ networkSplitAvoidedNodes = new Set();
44
+ isLocalNodeStoredAsEntryPoint = false;
40
45
  constructor(config) {
41
- this.networkSplitAvoidedNodes = new Set();
42
- this.isLocalNodeStoredAsEntryPoint = false;
43
46
  this.config = config;
44
47
  this.abortController = new AbortController();
45
48
  this.storeInterval = this.config.storeInterval ?? 60000;
@@ -86,7 +89,7 @@ class EntryPointDiscovery {
86
89
  if (this.abortController.signal.aborted) {
87
90
  return;
88
91
  }
89
- const possibleNetworkSplitDetected = this.config.layer1Node.getNumberOfNeighbors() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT;
92
+ const possibleNetworkSplitDetected = this.config.layer1Node.getNeighborCount() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT;
90
93
  if ((currentEntrypointCount < exports.ENTRYPOINT_STORE_LIMIT) || possibleNetworkSplitDetected) {
91
94
  this.isLocalNodeStoredAsEntryPoint = true;
92
95
  await this.storeSelfAsEntryPoint();
@@ -126,10 +129,10 @@ class EntryPointDiscovery {
126
129
  await exponentialRunOff(async () => {
127
130
  const rediscoveredEntrypoints = await this.discoverEntryPoints();
128
131
  await this.config.layer1Node.joinDht(rediscoveredEntrypoints, false, false);
129
- if (this.config.layer1Node.getNumberOfNeighbors() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT) {
132
+ if (this.config.layer1Node.getNeighborCount() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT) {
130
133
  // Filter out nodes that are not neighbors as those nodes are assumed to be offline
131
134
  const nodesToAvoid = rediscoveredEntrypoints
132
- .filter((peer) => !this.config.layer1Node.getAllNeighborPeerDescriptors()
135
+ .filter((peer) => !this.config.layer1Node.getNeighbors()
133
136
  .some((neighbor) => (0, dht_1.areEqualPeerDescriptors)(neighbor, peer)))
134
137
  .map((peer) => (0, dht_1.getNodeIdFromPeerDescriptor)(peer));
135
138
  nodesToAvoid.forEach((node) => this.networkSplitAvoidedNodes.add(node));
@@ -1 +1 @@
1
- {"version":3,"file":"EntryPointDiscovery.js","sourceRoot":"","sources":["../../../src/logic/EntryPointDiscovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntryPointDiscovery.js","sourceRoot":"","sources":["../../../src/logic/EntryPointDiscovery.ts"],"names":[],"mappings":";;;AAAA,sCAOqB;AAErB,0CAAiE;AACjE,mCAAmC;AACnC,sDAAkD;AAG3C,MAAM,qBAAqB,GAAG,CAAC,YAA0B,EAAc,EAAE;IAC5E,OAAO,IAAA,0BAAoB,EAAC,IAAI,UAAU,CAAC,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAChG,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAED,MAAM,mBAAmB,GAAG,CAAC,WAAwB,EAAoB,EAAE;IACvE,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAK,EAAE,oBAAc,CAAC,CAAC,CAAA;AAChH,CAAC,CAAA;AAOD,MAAM,iBAAiB,GAAG,KAAK,EAC3B,IAAyB,EACzB,WAAmB,EACnB,WAAwB,EACxB,SAAS,GAAG,GAAG,EACf,WAAW,GAAG,CAAC,EACF,EAAE;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACtB,OAAM;QACV,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QACrB,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;QAChC,IAAI,CAAC;YACD,MAAM,IAAI,EAAE,CAAA;QAChB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,wBAAwB,KAAK,KAAK,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,CAAC,wDAAwD;YAC1D,MAAM,IAAA,YAAI,EAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;QAC1B,CAAC;IACL,CAAC;AACL,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEpB,QAAA,sBAAsB,GAAG,CAAC,CAAA;AAC1B,QAAA,6BAA6B,GAAG,CAAC,CAAA;AAY9C,MAAa,mBAAmB;IACX,eAAe,CAAiB;IAChC,MAAM,CAA2B;IACjC,aAAa,CAAQ;IACrB,wBAAwB,GAAoB,IAAI,GAAG,EAAE,CAAA;IAC9D,6BAA6B,GAAG,KAAK,CAAA;IAC7C,YAAY,MAAiC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,oBAA4B;QACzD,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACH,kBAAkB,EAAE,KAAK;gBACzB,qBAAqB,EAAE,EAAE;aAC5B,CAAA;QACL,CAAC;QACD,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC9D,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO;YACH,qBAAqB;YACrB,kBAAkB,EAAE,IAAI;SAC3B,CAAA;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC7B,MAAM,OAAO,GAAG,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC/D,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAClE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACnD,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAA,iCAA2B,EAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1E,qFAAqF;QACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAA;QACnB,CAAC;aAAM,CAAC;YACJ,OAAO,qBAAqB,CAAA;QAChC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,GAAe;QAC1C,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAA,iCAA2B,EAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAC1G,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;YACvD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,sBAA8B;QACjE,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtC,OAAM;QACV,CAAC;QACD,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,qCAA6B,CAAA;QAC9G,IAAI,CAAC,sBAAsB,GAAG,8BAAsB,CAAC,IAAI,4BAA4B,EAAE,CAAC;YACpF,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAA;YACzC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAClC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACrC,CAAC;QACD,IAAI,4BAA4B,EAAE,CAAC;YAC/B,mDAAmD;YACnD,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;QAChD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB;QAC/B,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA;QAC3D,MAAM,WAAW,GAAG,SAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,oBAAc,CAAC,CAAA;QACjE,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAA;QACvG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QACrF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAC9B,MAAM,IAAA,0BAAkB,EAAC,KAAK,IAAI,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;YACrF,IAAI,CAAC;gBACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBACnD,IAAI,UAAU,CAAC,MAAM,GAAG,8BAAsB;uBACvC,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAA,6BAAuB,EAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;oBACnH,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAA;gBACtC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;YACrF,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,MAAM,iBAAiB,CAAC,KAAK,IAAI,EAAE;YAC/B,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAChE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,qCAA6B,EAAE,CAAC;gBAC5E,mFAAmF;gBACnF,MAAM,YAAY,GAAG,uBAAuB;qBACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE;qBACnD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,6BAAuB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;qBAChE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iCAA2B,EAAC,IAAI,CAAC,CAAC,CAAA;gBACrD,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACvE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YACtD,CAAC;QACL,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;QACtD,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAA;QACrC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACzC,CAAC;IAEM,qBAAqB;QACxB,OAAO,IAAI,CAAC,6BAA6B,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC3F,CAAC;CACJ;AAvHD,kDAuHC"}
@@ -9,6 +9,8 @@ export interface Layer0Node extends ITransport {
9
9
  deleteDataFromDht(key: DhtAddress, waitForCompletion: boolean): Promise<void>;
10
10
  waitForNetworkConnectivity(): Promise<void>;
11
11
  getTransport(): ITransport;
12
+ getNeighbors(): PeerDescriptor[];
13
+ getConnections(): PeerDescriptor[];
12
14
  start(): Promise<void>;
13
15
  stop(): Promise<void>;
14
16
  }
@@ -1,4 +1,4 @@
1
- import { PeerDescriptor } from '@streamr/dht';
1
+ import { DhtAddress, PeerDescriptor } from '@streamr/dht';
2
2
  export interface Layer1NodeEvents {
3
3
  newContact: (peerDescriptor: PeerDescriptor, closestPeers: PeerDescriptor[]) => void;
4
4
  contactRemoved: (peerDescriptor: PeerDescriptor, closestPeers: PeerDescriptor[]) => void;
@@ -9,10 +9,10 @@ export interface Layer1Node {
9
9
  on<T extends keyof Layer1NodeEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, peers: PeerDescriptor[]) => void): void;
10
10
  once<T extends keyof Layer1NodeEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, peers: PeerDescriptor[]) => void): void;
11
11
  off<T extends keyof Layer1NodeEvents>(eventName: T, listener: (peerDescriptor: PeerDescriptor, peers: PeerDescriptor[]) => void): void;
12
- removeContact: (peerDescriptor: PeerDescriptor) => void;
12
+ removeContact: (nodeId: DhtAddress) => void;
13
13
  getClosestContacts: (maxCount?: number) => PeerDescriptor[];
14
- getAllNeighborPeerDescriptors: () => PeerDescriptor[];
15
- getNumberOfNeighbors(): number;
14
+ getNeighbors: () => PeerDescriptor[];
15
+ getNeighborCount(): number;
16
16
  joinDht: (entryPoints: PeerDescriptor[], doRandomJoin?: boolean, retry?: boolean) => Promise<void>;
17
17
  start: () => Promise<void>;
18
18
  stop: () => Promise<void>;
@@ -1,4 +1,4 @@
1
- import { DhtAddress, PeerDescriptor } from '@streamr/dht';
1
+ import { DhtAddress } from '@streamr/dht';
2
2
  import { DeliveryRpcRemote } from './DeliveryRpcRemote';
3
3
  import { EventEmitter } from 'eventemitter3';
4
4
  export interface Events {
@@ -10,18 +10,16 @@ export declare class NodeList extends EventEmitter<Events> {
10
10
  private ownId;
11
11
  constructor(ownId: DhtAddress, limit: number);
12
12
  add(remote: DeliveryRpcRemote): void;
13
- remove(peerDescriptor: PeerDescriptor): void;
14
- removeById(nodeId: DhtAddress): void;
15
- hasNode(peerDescriptor: PeerDescriptor): boolean;
16
- hasNodeById(nodeId: DhtAddress): boolean;
13
+ remove(nodeId: DhtAddress): void;
14
+ has(nodeId: DhtAddress): boolean;
17
15
  replaceAll(neighbors: DeliveryRpcRemote[]): void;
18
16
  getIds(): DhtAddress[];
19
17
  get(id: DhtAddress): DeliveryRpcRemote | undefined;
20
18
  size(exclude?: DhtAddress[]): number;
21
19
  getRandom(exclude: DhtAddress[]): DeliveryRpcRemote | undefined;
22
- getClosest(exclude: DhtAddress[]): DeliveryRpcRemote | undefined;
23
- getClosestAndFurthest(exclude: DhtAddress[]): DeliveryRpcRemote[];
24
- getFurthest(exclude: DhtAddress[]): DeliveryRpcRemote | undefined;
20
+ getFirst(exclude: DhtAddress[]): DeliveryRpcRemote | undefined;
21
+ getFirstAndLast(exclude: DhtAddress[]): DeliveryRpcRemote[];
22
+ getLast(exclude: DhtAddress[]): DeliveryRpcRemote | undefined;
25
23
  getAll(): DeliveryRpcRemote[];
26
24
  stop(): void;
27
25
  }
@@ -9,7 +9,11 @@ const getValuesOfIncludedKeys = (nodes, exclude) => {
9
9
  .filter(([id, _node]) => !exclude.includes(id))
10
10
  .map(([_id, node]) => node);
11
11
  };
12
+ // The items in the list are in the insertion order
12
13
  class NodeList extends eventemitter3_1.EventEmitter {
14
+ nodes;
15
+ limit;
16
+ ownId;
13
17
  constructor(ownId, limit) {
14
18
  super();
15
19
  this.nodes = new Map();
@@ -26,16 +30,10 @@ class NodeList extends eventemitter3_1.EventEmitter {
26
30
  }
27
31
  }
28
32
  }
29
- remove(peerDescriptor) {
30
- this.nodes.delete((0, dht_1.getNodeIdFromPeerDescriptor)(peerDescriptor));
31
- }
32
- removeById(nodeId) {
33
+ remove(nodeId) {
33
34
  this.nodes.delete(nodeId);
34
35
  }
35
- hasNode(peerDescriptor) {
36
- return this.nodes.has((0, dht_1.getNodeIdFromPeerDescriptor)(peerDescriptor));
37
- }
38
- hasNodeById(nodeId) {
36
+ has(nodeId) {
39
37
  return this.nodes.has(nodeId);
40
38
  }
41
39
  replaceAll(neighbors) {
@@ -57,18 +55,18 @@ class NodeList extends eventemitter3_1.EventEmitter {
57
55
  getRandom(exclude) {
58
56
  return (0, lodash_1.sample)(getValuesOfIncludedKeys(this.nodes, exclude));
59
57
  }
60
- getClosest(exclude) {
58
+ getFirst(exclude) {
61
59
  const included = getValuesOfIncludedKeys(this.nodes, exclude);
62
60
  return included[0];
63
61
  }
64
- getClosestAndFurthest(exclude) {
62
+ getFirstAndLast(exclude) {
65
63
  const included = getValuesOfIncludedKeys(this.nodes, exclude);
66
64
  if (included.length === 0) {
67
65
  return [];
68
66
  }
69
- return included.length > 1 ? [this.getClosest(exclude), this.getFurthest(exclude)] : [this.getClosest(exclude)];
67
+ return included.length > 1 ? [this.getFirst(exclude), this.getLast(exclude)] : [this.getFirst(exclude)];
70
68
  }
71
- getFurthest(exclude) {
69
+ getLast(exclude) {
72
70
  const included = getValuesOfIncludedKeys(this.nodes, exclude);
73
71
  return included[included.length - 1];
74
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeList.js","sourceRoot":"","sources":["../../../src/logic/NodeList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeList.js","sourceRoot":"","sources":["../../../src/logic/NodeList.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { Layer1Node } from './Layer1Node';
13
13
  import { StreamPartID } from '@streamr/protocol';
14
14
  export interface Events {
15
15
  message: (message: StreamMessage) => void;
16
- targetNeighborConnected: (nodeId: DhtAddress) => void;
16
+ neighborConnected: (nodeId: DhtAddress) => void;
17
17
  entryPointLeaveDetected: () => void;
18
18
  }
19
19
  export interface StrictRandomGraphNodeConfig {
@@ -25,13 +25,13 @@ export interface StrictRandomGraphNodeConfig {
25
25
  nodeViewSize: number;
26
26
  nearbyNodeView: NodeList;
27
27
  randomNodeView: NodeList;
28
- targetNeighbors: NodeList;
28
+ neighbors: NodeList;
29
29
  handshaker: Handshaker;
30
30
  neighborFinder: NeighborFinder;
31
31
  neighborUpdateManager: NeighborUpdateManager;
32
32
  propagation: Propagation;
33
33
  rpcCommunicator: ListeningRpcCommunicator;
34
- numOfTargetNeighbors: number;
34
+ neighborCount: number;
35
35
  inspector: Inspector;
36
36
  temporaryConnectionRpcLocal: TemporaryConnectionRpcLocal;
37
37
  isLocalNodeEntryPoint: () => boolean;
@@ -60,8 +60,8 @@ export declare class RandomGraphNode extends EventEmitter<Events> {
60
60
  inspect(peerDescriptor: PeerDescriptor): Promise<boolean>;
61
61
  private getPropagationTargets;
62
62
  getOwnNodeId(): DhtAddress;
63
- getNumberOfOutgoingHandshakes(): number;
64
- getTargetNeighborIds(): DhtAddress[];
63
+ getOutgoingHandshakeCount(): number;
64
+ getNeighbors(): PeerDescriptor[];
65
65
  getNearbyNodeView(): NodeList;
66
66
  private isStopped;
67
67
  }