@streamr/trackerless-network 100.0.0-testnet-one.4 → 100.0.0-testnet-two.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.
- package/dist/package.json +7 -7
- package/dist/src/NetworkStack.d.ts +1 -5
- package/dist/src/NetworkStack.js +1 -3
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/logic/DeliveryRpcLocal.d.ts +1 -1
- package/dist/src/logic/DeliveryRpcLocal.js +3 -3
- package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/DeliveryRpcRemote.d.ts +3 -3
- package/dist/src/logic/DeliveryRpcRemote.js +3 -2
- package/dist/src/logic/DeliveryRpcRemote.js.map +1 -1
- package/dist/src/logic/EntryPointDiscovery.d.ts +3 -0
- package/dist/src/logic/EntryPointDiscovery.js +11 -5
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +10 -8
- package/dist/src/logic/RandomGraphNode.js +23 -17
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/StreamrNode.js +13 -4
- package/dist/src/logic/StreamrNode.js.map +1 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +2 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +5 -11
- package/dist/src/logic/inspect/Inspector.js +2 -3
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +39 -13
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +5 -3
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +18 -8
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +1 -6
- package/dist/src/logic/neighbor-discovery/Handshaker.js +6 -6
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +1 -6
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -8
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +1 -3
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +2 -2
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +1 -2
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.d.ts +2 -2
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/proxy/ProxyClient.d.ts +4 -1
- package/dist/src/logic/proxy/ProxyClient.js +7 -6
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +2 -3
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.d.ts +2 -2
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +2 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.d.ts +2 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +21 -22
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +18 -18
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +36 -60
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +34 -53
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +11 -12
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +6 -5
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +2 -2
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +26 -10
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +21 -9
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +4 -3
- package/dist/test/benchmark/first-message.js +4 -6
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.d.ts +1 -1
- package/dist/test/utils/utils.js +8 -7
- package/dist/test/utils/utils.js.map +1 -1
- package/package.json +7 -7
- package/protos/NetworkRpc.proto +8 -4
- package/src/NetworkStack.ts +1 -7
- package/src/logic/DeliveryRpcLocal.ts +4 -4
- package/src/logic/DeliveryRpcRemote.ts +5 -4
- package/src/logic/EntryPointDiscovery.ts +10 -6
- package/src/logic/RandomGraphNode.ts +38 -25
- package/src/logic/StreamrNode.ts +22 -5
- package/src/logic/formStreamPartDeliveryServiceId.ts +2 -1
- package/src/logic/inspect/Inspector.ts +15 -16
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +46 -15
- package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +21 -10
- package/src/logic/neighbor-discovery/Handshaker.ts +15 -24
- package/src/logic/neighbor-discovery/NeighborFinder.ts +1 -7
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +10 -12
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +4 -4
- package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +2 -2
- package/src/logic/proxy/ProxyClient.ts +19 -7
- package/src/logic/proxy/ProxyConnectionRpcLocal.ts +3 -3
- package/src/logic/proxy/ProxyConnectionRpcRemote.ts +3 -3
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +3 -2
- package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +2 -2
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +31 -32
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +11 -12
- package/src/proto/packages/dht/protos/DhtRpc.ts +49 -80
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +7 -6
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +4 -3
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +36 -15
- package/test/benchmark/first-message.ts +8 -6
- package/test/end-to-end/random-graph-with-real-connections.test.ts +10 -5
- package/test/end-to-end/webrtc-full-node-network.test.ts +1 -1
- package/test/end-to-end/websocket-full-node-network.test.ts +2 -2
- package/test/integration/DeliveryRpcRemote.test.ts +3 -3
- package/test/integration/HandshakeRpcRemote.test.ts +2 -4
- package/test/integration/Handshakes.test.ts +8 -7
- package/test/integration/Inspect.test.ts +0 -2
- package/test/integration/NeighborUpdateRpcRemote.test.ts +2 -2
- package/test/integration/NetworkNode.test.ts +0 -2
- package/test/integration/NetworkRpc.test.ts +0 -3
- package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +4 -4
- package/test/integration/RandomGraphNode-Layer1Node.test.ts +4 -5
- package/test/integration/stream-without-default-entrypoints.test.ts +4 -7
- package/test/integration/streamEntryPointReplacing.test.ts +94 -0
- package/test/unit/DeliveryRpcLocal.test.ts +2 -1
- package/test/unit/EntrypointDiscovery.test.ts +5 -2
- package/test/unit/HandshakeRpcLocal.test.ts +47 -9
- package/test/unit/NodeList.test.ts +10 -12
- package/test/unit/ProxyConnectionRpcRemote.test.ts +18 -10
- package/test/unit/RandomGraphNode.test.ts +6 -4
- package/test/utils/mock/MockHandshaker.ts +3 -2
- package/test/utils/mock/MockNeighborFinder.ts +3 -2
- package/test/utils/mock/MockNeighborUpdateManager.ts +3 -2
- package/test/utils/utils.ts +16 -8
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamr/trackerless-network",
|
|
3
|
-
"version": "100.0.0-testnet-
|
|
3
|
+
"version": "100.0.0-testnet-two.0",
|
|
4
4
|
"description": "Minimal and extendable implementation of the Streamr Network node.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,11 +30,11 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@protobuf-ts/runtime": "^2.8.2",
|
|
32
32
|
"@protobuf-ts/runtime-rpc": "^2.8.2",
|
|
33
|
-
"@streamr/dht": "100.0.0-testnet-
|
|
34
|
-
"@streamr/proto-rpc": "100.0.0-testnet-
|
|
35
|
-
"@streamr/protocol": "100.0.0-testnet-
|
|
36
|
-
"@streamr/test-utils": "100.0.0-testnet-
|
|
37
|
-
"@streamr/utils": "100.0.0-testnet-
|
|
33
|
+
"@streamr/dht": "100.0.0-testnet-two.0",
|
|
34
|
+
"@streamr/proto-rpc": "100.0.0-testnet-two.0",
|
|
35
|
+
"@streamr/protocol": "100.0.0-testnet-two.0",
|
|
36
|
+
"@streamr/test-utils": "100.0.0-testnet-two.0",
|
|
37
|
+
"@streamr/utils": "100.0.0-testnet-two.0",
|
|
38
38
|
"eventemitter3": "^5.0.0",
|
|
39
39
|
"lodash": "^4.17.21",
|
|
40
40
|
"uuid": "^9.0.1",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@streamr/browser-test-runner": "^0.0.1",
|
|
45
|
-
"@types/lodash": "^4.14.
|
|
45
|
+
"@types/lodash": "^4.14.202",
|
|
46
46
|
"@types/uuid": "^9.0.7",
|
|
47
47
|
"@types/yallist": "^4.0.1",
|
|
48
48
|
"commander": "^11.1.0",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DhtNodeOptions } from '@streamr/dht';
|
|
2
2
|
import { StreamrNode, StreamrNodeConfig } from './logic/StreamrNode';
|
|
3
3
|
import { MetricsContext } from '@streamr/utils';
|
|
4
|
-
import { EventEmitter } from 'eventemitter3';
|
|
5
4
|
import { StreamPartID } from '@streamr/protocol';
|
|
6
5
|
import { StreamMessage } from './proto/packages/trackerless-network/protos/NetworkRpc';
|
|
7
6
|
import { Layer0Node } from './logic/Layer0Node';
|
|
@@ -10,10 +9,7 @@ export interface NetworkOptions {
|
|
|
10
9
|
networkNode?: StreamrNodeConfig;
|
|
11
10
|
metricsContext?: MetricsContext;
|
|
12
11
|
}
|
|
13
|
-
export
|
|
14
|
-
stopped: () => void;
|
|
15
|
-
}
|
|
16
|
-
export declare class NetworkStack extends EventEmitter<NetworkStackEvents> {
|
|
12
|
+
export declare class NetworkStack {
|
|
17
13
|
private layer0Node?;
|
|
18
14
|
private streamrNode?;
|
|
19
15
|
private stopped;
|
package/dist/src/NetworkStack.js
CHANGED
|
@@ -4,7 +4,6 @@ exports.NetworkStack = void 0;
|
|
|
4
4
|
const dht_1 = require("@streamr/dht");
|
|
5
5
|
const StreamrNode_1 = require("./logic/StreamrNode");
|
|
6
6
|
const utils_1 = require("@streamr/utils");
|
|
7
|
-
const eventemitter3_1 = require("eventemitter3");
|
|
8
7
|
const protocol_1 = require("@streamr/protocol");
|
|
9
8
|
const NetworkRpc_1 = require("./proto/packages/trackerless-network/protos/NetworkRpc");
|
|
10
9
|
const lodash_1 = require("lodash");
|
|
@@ -27,9 +26,8 @@ if (typeof window === 'object') {
|
|
|
27
26
|
await stopInstances();
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
|
-
class NetworkStack
|
|
29
|
+
class NetworkStack {
|
|
31
30
|
constructor(options) {
|
|
32
|
-
super();
|
|
33
31
|
this.stopped = false;
|
|
34
32
|
this.options = options;
|
|
35
33
|
this.metricsContext = options.metricsContext ?? new utils_1.MetricsContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":";;;AAAA,sCAAkG;AAClG,qDAAoE;AACpE,0CAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export interface DeliveryRpcLocalConfig {
|
|
|
10
10
|
streamPartId: StreamPartID;
|
|
11
11
|
markAndCheckDuplicate: (messageId: MessageID, previousMessageRef?: MessageRef) => boolean;
|
|
12
12
|
broadcast: (message: StreamMessage, previousNode?: NodeID) => void;
|
|
13
|
-
onLeaveNotice(senderId: NodeID): void;
|
|
13
|
+
onLeaveNotice(senderId: NodeID, isLocalNodeEntryPoint: boolean): void;
|
|
14
14
|
markForInspection(senderId: NodeID, messageId: MessageID): void;
|
|
15
15
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
16
16
|
}
|
|
@@ -17,9 +17,9 @@ class DeliveryRpcLocal {
|
|
|
17
17
|
}
|
|
18
18
|
async leaveStreamPartNotice(message, context) {
|
|
19
19
|
if (message.streamPartId === this.config.streamPartId) {
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
this.config.onLeaveNotice(
|
|
20
|
+
const sourcePeerDescriptor = context.incomingSourceDescriptor;
|
|
21
|
+
const sourceId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(sourcePeerDescriptor);
|
|
22
|
+
this.config.onLeaveNotice(sourceId, message.isEntryPoint);
|
|
23
23
|
}
|
|
24
24
|
return empty_1.Empty;
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeliveryRpcLocal.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcLocal.ts"],"names":[],"mappings":";;;AACA,0DAAsD;AAStD,gDAAoE;AAapE,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,yCAA2B,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,yCAA2B,EAAC,oBAAoB,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"DeliveryRpcLocal.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcLocal.ts"],"names":[],"mappings":";;;AACA,0DAAsD;AAStD,gDAAoE;AAapE,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,yCAA2B,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,yCAA2B,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,7 +1,7 @@
|
|
|
1
1
|
import { RpcRemote } from '@streamr/dht';
|
|
2
2
|
import { StreamMessage } from '../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
3
|
-
import {
|
|
4
|
-
export declare class DeliveryRpcRemote extends RpcRemote<
|
|
3
|
+
import { DeliveryRpcClient } from '../proto/packages/trackerless-network/protos/NetworkRpc.client';
|
|
4
|
+
export declare class DeliveryRpcRemote extends RpcRemote<DeliveryRpcClient> {
|
|
5
5
|
sendStreamMessage(msg: StreamMessage): Promise<void>;
|
|
6
|
-
leaveStreamPartNotice(): void;
|
|
6
|
+
leaveStreamPartNotice(isLocalNodeEntryPoint: boolean): void;
|
|
7
7
|
}
|
|
@@ -13,9 +13,10 @@ class DeliveryRpcRemote extends dht_1.RpcRemote {
|
|
|
13
13
|
logger.trace('Failed to sendStreamMessage');
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
leaveStreamPartNotice() {
|
|
16
|
+
leaveStreamPartNotice(isLocalNodeEntryPoint) {
|
|
17
17
|
const notification = {
|
|
18
|
-
streamPartId: this.getServiceId()
|
|
18
|
+
streamPartId: this.getServiceId(),
|
|
19
|
+
isEntryPoint: isLocalNodeEntryPoint
|
|
19
20
|
};
|
|
20
21
|
const options = this.formDhtRpcOptions({
|
|
21
22
|
notification: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeliveryRpcRemote.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AACxC,0CAAuC;AAOvC,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,iBAAkB,SAAQ,
|
|
1
|
+
{"version":3,"file":"DeliveryRpcRemote.js","sourceRoot":"","sources":["../../../src/logic/DeliveryRpcRemote.ts"],"names":[],"mappings":";;;AAAA,sCAAwC;AACxC,0CAAuC;AAOvC,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,iBAAkB,SAAQ,eAA4B;IAE/D,KAAK,CAAC,iBAAiB,CAAC,GAAkB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACxD,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACN,CAAC;IAED,qBAAqB,CAAC,qBAA8B;QAChD,MAAM,YAAY,GAA0B;YACxC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;YACjC,YAAY,EAAE,qBAAqB;SACtC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,YAAY,EAAE,IAAI;SACrB,CAAC,CAAA;QACF,IAAI,CAAC,SAAS,EAAE,CAAC,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACrE,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;AAvBD,8CAuBC"}
|
|
@@ -7,6 +7,7 @@ interface FindEntryPointsResult {
|
|
|
7
7
|
entryPointsFromDht: boolean;
|
|
8
8
|
discoveredEntryPoints: PeerDescriptor[];
|
|
9
9
|
}
|
|
10
|
+
export declare const ENTRYPOINT_STORE_LIMIT = 8;
|
|
10
11
|
export declare const NETWORK_SPLIT_AVOIDANCE_LIMIT = 4;
|
|
11
12
|
interface EntryPointDiscoveryConfig {
|
|
12
13
|
streamPartId: StreamPartID;
|
|
@@ -22,6 +23,7 @@ export declare class EntryPointDiscovery {
|
|
|
22
23
|
private readonly config;
|
|
23
24
|
private readonly storeInterval;
|
|
24
25
|
private readonly networkSplitAvoidedNodes;
|
|
26
|
+
private isLocalNodeStoredAsEntryPoint;
|
|
25
27
|
constructor(config: EntryPointDiscoveryConfig);
|
|
26
28
|
discoverEntryPointsFromDht(knownEntryPointCount: number): Promise<FindEntryPointsResult>;
|
|
27
29
|
private discoverEntryPoints;
|
|
@@ -30,6 +32,7 @@ export declare class EntryPointDiscovery {
|
|
|
30
32
|
private storeSelfAsEntryPoint;
|
|
31
33
|
private keepSelfAsEntryPoint;
|
|
32
34
|
private avoidNetworkSplit;
|
|
35
|
+
isLocalNodeEntryPoint(): boolean;
|
|
33
36
|
destroy(): Promise<void>;
|
|
34
37
|
}
|
|
35
38
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntryPointDiscovery = exports.NETWORK_SPLIT_AVOIDANCE_LIMIT = exports.streamPartIdToDataKey = void 0;
|
|
3
|
+
exports.EntryPointDiscovery = exports.NETWORK_SPLIT_AVOIDANCE_LIMIT = exports.ENTRYPOINT_STORE_LIMIT = exports.streamPartIdToDataKey = void 0;
|
|
4
4
|
const dht_1 = require("@streamr/dht");
|
|
5
5
|
const utils_1 = require("@streamr/utils");
|
|
6
6
|
const crypto_1 = require("crypto");
|
|
@@ -35,11 +35,12 @@ const exponentialRunOff = async (task, description, abortSignal, baseDelay = 500
|
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
const logger = new utils_1.Logger(module);
|
|
38
|
-
|
|
38
|
+
exports.ENTRYPOINT_STORE_LIMIT = 8;
|
|
39
39
|
exports.NETWORK_SPLIT_AVOIDANCE_LIMIT = 4;
|
|
40
40
|
class EntryPointDiscovery {
|
|
41
41
|
constructor(config) {
|
|
42
42
|
this.networkSplitAvoidedNodes = new Set();
|
|
43
|
+
this.isLocalNodeStoredAsEntryPoint = false;
|
|
43
44
|
this.config = config;
|
|
44
45
|
this.abortController = new AbortController();
|
|
45
46
|
this.storeInterval = this.config.storeInterval ?? 60000;
|
|
@@ -87,7 +88,8 @@ class EntryPointDiscovery {
|
|
|
87
88
|
return;
|
|
88
89
|
}
|
|
89
90
|
const possibleNetworkSplitDetected = this.config.layer1Node.getNumberOfNeighbors() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT;
|
|
90
|
-
if ((currentEntrypointCount < ENTRYPOINT_STORE_LIMIT) || possibleNetworkSplitDetected) {
|
|
91
|
+
if ((currentEntrypointCount < exports.ENTRYPOINT_STORE_LIMIT) || possibleNetworkSplitDetected) {
|
|
92
|
+
this.isLocalNodeStoredAsEntryPoint = true;
|
|
91
93
|
await this.storeSelfAsEntryPoint();
|
|
92
94
|
await this.keepSelfAsEntryPoint();
|
|
93
95
|
}
|
|
@@ -111,7 +113,7 @@ class EntryPointDiscovery {
|
|
|
111
113
|
logger.trace(`Attempting to keep self as entrypoint for ${this.config.streamPartId}`);
|
|
112
114
|
try {
|
|
113
115
|
const discovered = await this.discoverEntryPoints();
|
|
114
|
-
if (discovered.length < ENTRYPOINT_STORE_LIMIT
|
|
116
|
+
if (discovered.length < exports.ENTRYPOINT_STORE_LIMIT
|
|
115
117
|
|| discovered.some((peerDescriptor) => (0, dht_1.areEqualPeerDescriptors)(peerDescriptor, this.config.localPeerDescriptor))) {
|
|
116
118
|
await this.storeSelfAsEntryPoint();
|
|
117
119
|
}
|
|
@@ -128,7 +130,8 @@ class EntryPointDiscovery {
|
|
|
128
130
|
if (this.config.layer1Node.getNumberOfNeighbors() < exports.NETWORK_SPLIT_AVOIDANCE_LIMIT) {
|
|
129
131
|
// Filter out nodes that are not neighbors as those nodes are assumed to be offline
|
|
130
132
|
const nodesToAvoid = rediscoveredEntrypoints
|
|
131
|
-
.filter((peer) => !this.config.layer1Node.getAllNeighborPeerDescriptors()
|
|
133
|
+
.filter((peer) => !this.config.layer1Node.getAllNeighborPeerDescriptors()
|
|
134
|
+
.some((neighbor) => (0, dht_1.areEqualPeerDescriptors)(neighbor, peer)))
|
|
132
135
|
.map((peer) => (0, identifiers_1.getNodeIdFromPeerDescriptor)(peer));
|
|
133
136
|
nodesToAvoid.forEach((node) => this.networkSplitAvoidedNodes.add(node));
|
|
134
137
|
throw new Error(`Network split is still possible`);
|
|
@@ -137,6 +140,9 @@ class EntryPointDiscovery {
|
|
|
137
140
|
this.networkSplitAvoidedNodes.clear();
|
|
138
141
|
logger.trace(`Network split avoided`);
|
|
139
142
|
}
|
|
143
|
+
isLocalNodeEntryPoint() {
|
|
144
|
+
return this.isLocalNodeStoredAsEntryPoint;
|
|
145
|
+
}
|
|
140
146
|
async destroy() {
|
|
141
147
|
this.abortController.abort();
|
|
142
148
|
await this.config.deleteEntryPointData((0, exports.streamPartIdToDataKey)(this.config.streamPartId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntryPointDiscovery.js","sourceRoot":"","sources":["../../../src/logic/EntryPointDiscovery.ts"],"names":[],"mappings":";;;AAAA,sCAIqB;AAErB,0CAAiE;AACjE,mCAAmC;AACnC,gDAAoE;AACpE,sDAAkD;AAG3C,MAAM,qBAAqB,GAAG,CAAC,YAA0B,EAAc,EAAE;IAC5E,OAAO,IAAI,UAAU,CAAC,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;AAC1E,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;QACnC,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,OAAM;SACT;QACD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAA;QACrB,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAA;QAChC,IAAI;YACA,MAAM,IAAI,EAAE,CAAA;SACf;QAAC,OAAO,CAAM,EAAE;YACb,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,wBAAwB,KAAK,KAAK,CAAC,CAAA;SACjE;QACD,IAAI,EAAE,wDAAwD;YAC1D,MAAM,IAAA,YAAI,EAAC,KAAK,EAAE,WAAW,CAAC,CAAA;SACjC;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;SACzB;KACJ;AACL,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"EntryPointDiscovery.js","sourceRoot":"","sources":["../../../src/logic/EntryPointDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,12 @@ import { EventEmitter } from 'eventemitter3';
|
|
|
2
2
|
import { PeerDescriptor, ListeningRpcCommunicator, ITransport, ConnectionLocker } from '@streamr/dht';
|
|
3
3
|
import { StreamMessage } from '../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
4
4
|
import { NodeList } from './NodeList';
|
|
5
|
-
import {
|
|
5
|
+
import { Handshaker } from './neighbor-discovery/Handshaker';
|
|
6
6
|
import { Propagation } from './propagation/Propagation';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { NeighborFinder } from './neighbor-discovery/NeighborFinder';
|
|
8
|
+
import { NeighborUpdateManager } from './neighbor-discovery/NeighborUpdateManager';
|
|
9
9
|
import { ProxyConnectionRpcLocal } from './proxy/ProxyConnectionRpcLocal';
|
|
10
|
-
import {
|
|
10
|
+
import { Inspector } from './inspect/Inspector';
|
|
11
11
|
import { TemporaryConnectionRpcLocal } from './temporary-connection/TemporaryConnectionRpcLocal';
|
|
12
12
|
import { NodeID } from '../identifiers';
|
|
13
13
|
import { Layer1Node } from './Layer1Node';
|
|
@@ -15,6 +15,7 @@ import { StreamPartID } from '@streamr/protocol';
|
|
|
15
15
|
export interface Events {
|
|
16
16
|
message: (message: StreamMessage) => void;
|
|
17
17
|
targetNeighborConnected: (nodeId: NodeID) => void;
|
|
18
|
+
entryPointLeaveDetected: () => void;
|
|
18
19
|
}
|
|
19
20
|
export interface StrictRandomGraphNodeConfig {
|
|
20
21
|
streamPartId: StreamPartID;
|
|
@@ -26,14 +27,15 @@ export interface StrictRandomGraphNodeConfig {
|
|
|
26
27
|
nearbyNodeView: NodeList;
|
|
27
28
|
randomNodeView: NodeList;
|
|
28
29
|
targetNeighbors: NodeList;
|
|
29
|
-
handshaker:
|
|
30
|
-
neighborFinder:
|
|
31
|
-
neighborUpdateManager:
|
|
30
|
+
handshaker: Handshaker;
|
|
31
|
+
neighborFinder: NeighborFinder;
|
|
32
|
+
neighborUpdateManager: NeighborUpdateManager;
|
|
32
33
|
propagation: Propagation;
|
|
33
34
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
34
35
|
numOfTargetNeighbors: number;
|
|
35
|
-
inspector:
|
|
36
|
+
inspector: Inspector;
|
|
36
37
|
temporaryConnectionRpcLocal: TemporaryConnectionRpcLocal;
|
|
38
|
+
isLocalNodeEntryPoint: () => boolean;
|
|
37
39
|
proxyConnectionRpcLocal?: ProxyConnectionRpcLocal;
|
|
38
40
|
rpcRequestTimeout?: number;
|
|
39
41
|
}
|
|
@@ -6,10 +6,10 @@ const NetworkRpc_1 = require("../proto/packages/trackerless-network/protos/Netwo
|
|
|
6
6
|
const NetworkRpc_client_1 = require("../proto/packages/trackerless-network/protos/NetworkRpc.client");
|
|
7
7
|
const DeliveryRpcRemote_1 = require("./DeliveryRpcRemote");
|
|
8
8
|
const utils_1 = require("@streamr/utils");
|
|
9
|
-
const proto_rpc_1 = require("@streamr/proto-rpc");
|
|
10
9
|
const DeliveryRpcLocal_1 = require("./DeliveryRpcLocal");
|
|
11
10
|
const utils_2 = require("./utils");
|
|
12
11
|
const identifiers_1 = require("../identifiers");
|
|
12
|
+
const lodash_1 = require("lodash");
|
|
13
13
|
const logger = new utils_1.Logger(module);
|
|
14
14
|
class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
15
15
|
constructor(config) {
|
|
@@ -24,19 +24,25 @@ class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
|
24
24
|
rpcCommunicator: this.config.rpcCommunicator,
|
|
25
25
|
markAndCheckDuplicate: (msg, prev) => (0, utils_2.markAndCheckDuplicate)(this.duplicateDetectors, msg, prev),
|
|
26
26
|
broadcast: (message, previousNode) => this.broadcast(message, previousNode),
|
|
27
|
-
onLeaveNotice: (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
onLeaveNotice: (sourceId, sourceIsStreamEntryPoint) => {
|
|
28
|
+
if (this.abortController.signal.aborted) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const contact = this.config.nearbyNodeView.get(sourceId)
|
|
32
|
+
|| this.config.randomNodeView.get(sourceId)
|
|
33
|
+
|| this.config.targetNeighbors.get(sourceId)
|
|
34
|
+
|| this.config.proxyConnectionRpcLocal?.getConnection(sourceId)?.remote;
|
|
32
35
|
// TODO: check integrity of notifier?
|
|
33
36
|
if (contact) {
|
|
34
37
|
this.config.layer1Node.removeContact(contact.getPeerDescriptor());
|
|
35
38
|
this.config.targetNeighbors.remove(contact.getPeerDescriptor());
|
|
36
39
|
this.config.nearbyNodeView.remove(contact.getPeerDescriptor());
|
|
37
40
|
this.config.connectionLocker.unlockConnection(contact.getPeerDescriptor(), this.config.streamPartId);
|
|
38
|
-
this.config.neighborFinder.start([
|
|
39
|
-
this.config.proxyConnectionRpcLocal?.removeConnection(
|
|
41
|
+
this.config.neighborFinder.start([sourceId]);
|
|
42
|
+
this.config.proxyConnectionRpcLocal?.removeConnection(sourceId);
|
|
43
|
+
}
|
|
44
|
+
if (sourceIsStreamEntryPoint) {
|
|
45
|
+
this.emit('entryPointLeaveDetected');
|
|
40
46
|
}
|
|
41
47
|
},
|
|
42
48
|
markForInspection: (senderId, messageId) => this.config.inspector.markMessage(senderId, messageId)
|
|
@@ -87,19 +93,19 @@ class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
|
87
93
|
this.updateNearbyNodeView(closestNodes);
|
|
88
94
|
}
|
|
89
95
|
updateNearbyNodeView(nodes) {
|
|
90
|
-
this.config.nearbyNodeView.replaceAll(Array.from(nodes).map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId,
|
|
96
|
+
this.config.nearbyNodeView.replaceAll(Array.from(nodes).map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId, this.config.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient, this.config.rpcRequestTimeout)));
|
|
91
97
|
for (const descriptor of this.config.layer1Node.getAllNeighborPeerDescriptors()) {
|
|
92
98
|
if (this.config.nearbyNodeView.size() >= this.config.nodeViewSize) {
|
|
93
99
|
break;
|
|
94
100
|
}
|
|
95
|
-
this.config.nearbyNodeView.add(new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId,
|
|
101
|
+
this.config.nearbyNodeView.add(new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId, this.config.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient, this.config.rpcRequestTimeout));
|
|
96
102
|
}
|
|
97
103
|
}
|
|
98
104
|
newRandomContact(randomNodes) {
|
|
99
105
|
if (this.isStopped()) {
|
|
100
106
|
return;
|
|
101
107
|
}
|
|
102
|
-
this.config.randomNodeView.replaceAll(randomNodes.map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId,
|
|
108
|
+
this.config.randomNodeView.replaceAll(randomNodes.map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId, this.config.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient, this.config.rpcRequestTimeout)));
|
|
103
109
|
if (this.config.targetNeighbors.size() < this.config.numOfTargetNeighbors) {
|
|
104
110
|
this.config.neighborFinder.start();
|
|
105
111
|
}
|
|
@@ -109,7 +115,7 @@ class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
|
109
115
|
if (this.isStopped()) {
|
|
110
116
|
return;
|
|
111
117
|
}
|
|
112
|
-
this.config.randomNodeView.replaceAll(randomNodes.map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId,
|
|
118
|
+
this.config.randomNodeView.replaceAll(randomNodes.map((descriptor) => new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, descriptor, this.config.streamPartId, this.config.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient, this.config.rpcRequestTimeout)));
|
|
113
119
|
}
|
|
114
120
|
onNodeDisconnected(peerDescriptor) {
|
|
115
121
|
if (this.config.targetNeighbors.hasNode(peerDescriptor)) {
|
|
@@ -120,14 +126,14 @@ class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
|
120
126
|
}
|
|
121
127
|
}
|
|
122
128
|
getNeighborCandidatesFromLayer1() {
|
|
123
|
-
const
|
|
129
|
+
const nodes = [];
|
|
124
130
|
this.config.layer1Node.getClosestContacts(this.config.nodeViewSize).forEach((peer) => {
|
|
125
|
-
|
|
131
|
+
nodes.push(peer);
|
|
126
132
|
});
|
|
127
133
|
this.config.layer1Node.getAllNeighborPeerDescriptors().forEach((peer) => {
|
|
128
|
-
|
|
134
|
+
nodes.push(peer);
|
|
129
135
|
});
|
|
130
|
-
return
|
|
136
|
+
return (0, lodash_1.uniqBy)(nodes, (p) => (0, identifiers_1.getNodeIdFromPeerDescriptor)(p));
|
|
131
137
|
}
|
|
132
138
|
hasProxyConnection(nodeId) {
|
|
133
139
|
if (this.config.proxyConnectionRpcLocal) {
|
|
@@ -141,7 +147,7 @@ class RandomGraphNode extends eventemitter3_1.EventEmitter {
|
|
|
141
147
|
}
|
|
142
148
|
this.abortController.abort();
|
|
143
149
|
this.config.proxyConnectionRpcLocal?.stop();
|
|
144
|
-
this.config.targetNeighbors.getAll().map((remote) => remote.leaveStreamPartNotice());
|
|
150
|
+
this.config.targetNeighbors.getAll().map((remote) => remote.leaveStreamPartNotice(this.config.isLocalNodeEntryPoint()));
|
|
145
151
|
this.config.rpcCommunicator.destroy();
|
|
146
152
|
this.removeAllListeners();
|
|
147
153
|
this.config.nearbyNodeView.stop();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/RandomGraphNode.ts"],"names":[],"mappings":";;;AAAA,iDAA4C;AAO5C,wFAOgE;AAEhE,sGAAkG;AAClG,2DAAuD;AAGvD,0CAAgE;
|
|
1
|
+
{"version":3,"file":"RandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/RandomGraphNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,6 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
|
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const layer1Node = this.createLayer1Node(streamPartId, this.knownStreamPartEntryPoints.get(streamPartId) ?? []);
|
|
74
|
-
const node = this.createRandomGraphNode(streamPartId, layer1Node);
|
|
75
74
|
const entryPointDiscovery = new EntryPointDiscovery_1.EntryPointDiscovery({
|
|
76
75
|
streamPartId,
|
|
77
76
|
localPeerDescriptor: this.getPeerDescriptor(),
|
|
@@ -80,6 +79,7 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
|
|
|
80
79
|
storeEntryPointData: (key, data) => this.layer0Node.storeDataToDht(key, data),
|
|
81
80
|
deleteEntryPointData: async (key) => this.layer0Node.deleteDataFromDht(key, false)
|
|
82
81
|
});
|
|
82
|
+
const node = this.createRandomGraphNode(streamPartId, layer1Node, () => entryPointDiscovery.isLocalNodeEntryPoint());
|
|
83
83
|
streamPart = {
|
|
84
84
|
proxied: false,
|
|
85
85
|
layer1Node,
|
|
@@ -96,6 +96,14 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
|
|
|
96
96
|
node.on('message', (message) => {
|
|
97
97
|
this.emit('newMessage', message);
|
|
98
98
|
});
|
|
99
|
+
const handleEntryPointLeave = async () => {
|
|
100
|
+
if (this.destroyed || entryPointDiscovery.isLocalNodeEntryPoint() || this.knownStreamPartEntryPoints.has(streamPartId)) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const entryPoints = await entryPointDiscovery.discoverEntryPointsFromDht(0);
|
|
104
|
+
await entryPointDiscovery.storeSelfAsEntryPointIfNecessary(entryPoints.discoveredEntryPoints.length);
|
|
105
|
+
};
|
|
106
|
+
node.on('entryPointLeaveDetected', () => handleEntryPointLeave());
|
|
99
107
|
setImmediate(async () => {
|
|
100
108
|
try {
|
|
101
109
|
await this.startLayersAndJoinDht(streamPartId, entryPointDiscovery);
|
|
@@ -130,10 +138,10 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
|
|
|
130
138
|
entryPoints,
|
|
131
139
|
numberOfNodesPerKBucket: 4,
|
|
132
140
|
rpcRequestTimeout: dht_1.EXISTING_CONNECTION_TIMEOUT,
|
|
133
|
-
dhtJoinTimeout: 20000
|
|
141
|
+
dhtJoinTimeout: 20000 // TODO use config option or named constant?
|
|
134
142
|
});
|
|
135
143
|
}
|
|
136
|
-
createRandomGraphNode(streamPartId, layer1Node) {
|
|
144
|
+
createRandomGraphNode(streamPartId, layer1Node, isLocalNodeEntryPoint) {
|
|
137
145
|
return (0, createRandomGraphNode_1.createRandomGraphNode)({
|
|
138
146
|
streamPartId,
|
|
139
147
|
transport: this.transport,
|
|
@@ -143,7 +151,8 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
|
|
|
143
151
|
minPropagationTargets: this.config.streamPartitionMinPropagationTargets,
|
|
144
152
|
numOfTargetNeighbors: this.config.streamPartitionNumOfNeighbors,
|
|
145
153
|
acceptProxyConnections: this.config.acceptProxyConnections,
|
|
146
|
-
rpcRequestTimeout: this.config.rpcRequestTimeout
|
|
154
|
+
rpcRequestTimeout: this.config.rpcRequestTimeout,
|
|
155
|
+
isLocalNodeEntryPoint
|
|
147
156
|
});
|
|
148
157
|
}
|
|
149
158
|
async setProxies(streamPartId, nodes, direction, userId, connectionCount) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamrNode.js","sourceRoot":"","sources":["../../../src/logic/StreamrNode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StreamrNode.js","sourceRoot":"","sources":["../../../src/logic/StreamrNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { ServiceID } from '@streamr/dht';
|
|
1
2
|
import { StreamPartID } from '@streamr/protocol';
|
|
2
|
-
export declare const formStreamPartDeliveryServiceId: (streamPartId: StreamPartID) =>
|
|
3
|
+
export declare const formStreamPartDeliveryServiceId: (streamPartId: StreamPartID) => ServiceID;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formStreamPartDeliveryServiceId.js","sourceRoot":"","sources":["../../../src/logic/formStreamPartDeliveryServiceId.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"formStreamPartDeliveryServiceId.js","sourceRoot":"","sources":["../../../src/logic/formStreamPartDeliveryServiceId.ts"],"names":[],"mappings":";;;AAGO,MAAM,+BAA+B,GAAG,CAAC,YAA0B,EAAa,EAAE;IACrF,OAAO,wBAAwB,YAAY,EAAE,CAAA;AACjD,CAAC,CAAA;AAFY,QAAA,+BAA+B,mCAE3C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PeerDescriptor, ConnectionLocker } from '@streamr/dht';
|
|
1
|
+
import { PeerDescriptor, ConnectionLocker, LockID } from '@streamr/dht';
|
|
2
2
|
import { MessageID } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
3
3
|
import { RpcCommunicator } from '@streamr/proto-rpc';
|
|
4
4
|
import { NodeID } from '../../identifiers';
|
|
@@ -9,24 +9,18 @@ interface InspectorConfig {
|
|
|
9
9
|
rpcCommunicator: RpcCommunicator;
|
|
10
10
|
connectionLocker: ConnectionLocker;
|
|
11
11
|
inspectionTimeout?: number;
|
|
12
|
-
openInspectConnection?: (peerDescriptor: PeerDescriptor, lockId:
|
|
12
|
+
openInspectConnection?: (peerDescriptor: PeerDescriptor, lockId: LockID) => Promise<void>;
|
|
13
13
|
}
|
|
14
|
-
export
|
|
15
|
-
inspect(peerDescriptor: PeerDescriptor): Promise<boolean>;
|
|
16
|
-
markMessage(sender: NodeID, messageId: MessageID): void;
|
|
17
|
-
isInspected(nodeId: NodeID): boolean;
|
|
18
|
-
stop(): void;
|
|
19
|
-
}
|
|
20
|
-
export declare class Inspector implements IInspector {
|
|
14
|
+
export declare class Inspector {
|
|
21
15
|
private readonly sessions;
|
|
22
16
|
private readonly streamPartId;
|
|
23
|
-
private readonly client;
|
|
24
17
|
private readonly localPeerDescriptor;
|
|
18
|
+
private readonly rpcCommunicator;
|
|
25
19
|
private readonly connectionLocker;
|
|
26
20
|
private readonly inspectionTimeout;
|
|
27
21
|
private readonly openInspectConnection;
|
|
28
22
|
constructor(config: InspectorConfig);
|
|
29
|
-
defaultOpenInspectConnection(peerDescriptor: PeerDescriptor, lockId:
|
|
23
|
+
defaultOpenInspectConnection(peerDescriptor: PeerDescriptor, lockId: LockID): Promise<void>;
|
|
30
24
|
inspect(peerDescriptor: PeerDescriptor): Promise<boolean>;
|
|
31
25
|
markMessage(sender: NodeID, messageId: MessageID): void;
|
|
32
26
|
isInspected(nodeId: NodeID): boolean;
|