@streamr/trackerless-network 100.0.0-testnet-three.3 → 100.0.0-testnet-three.4
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/README.md +57 -0
- package/dist/package.json +55 -0
- package/dist/src/NetworkStack.js +7 -2
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +2 -1
- package/dist/src/exports.js +4 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.js +5 -2
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.js +17 -15
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +2 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +2 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js +3 -1
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +4 -0
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +2 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/package.json +6 -6
- package/protos/NetworkRpc.proto +1 -0
- package/src/NetworkStack.ts +9 -3
- package/src/exports.ts +2 -1
- package/src/logic/createRandomGraphNode.ts +5 -2
- package/src/logic/neighbor-discovery/Handshaker.ts +20 -15
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +2 -1
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +3 -2
- package/src/logic/node-info/NodeInfoRpcLocal.ts +3 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +6 -1
- package/test/end-to-end/proxy-key-exchange.test.ts +2 -2
- package/test/integration/Handshakes.test.ts +2 -1
- package/test/integration/NodeInfoRpc.test.ts +2 -1
- package/test/unit/Handshaker.test.ts +2 -1
- package/test/unit/NeighborUpdateRpcLocal.test.ts +16 -2
- package/tsconfig.jest.json +2 -1
- package/tsconfig.node.json +2 -1
package/README.md
CHANGED
|
@@ -1,6 +1,63 @@
|
|
|
1
1
|
# Trackerless Network
|
|
2
2
|
|
|
3
|
+
A P2P topic publish-subscribe network.
|
|
4
|
+
|
|
3
5
|
The Trackerless Network package is a reimplementation of the old (Corea-Brubeck) network package.
|
|
4
6
|
The package is reimplemented to use the network and transport stacks of the proto-rpc and DHT packages.
|
|
5
7
|
The main change to the network is that the `d-regular random graph` stream topologies are now generated
|
|
6
8
|
using a decentralized algorithm based on peer discovery from the DHT.
|
|
9
|
+
|
|
10
|
+
## Running a node
|
|
11
|
+
|
|
12
|
+
Running a network node requires a DhtNode from the `@streamr/dht` to use as control layer. For more details on how to configure the DHT node go [here](packages/dht/README.md) The control layer node is configured as follows:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
const networkNode = new NetworkNode({
|
|
16
|
+
// Give all control layer DHT configs here.
|
|
17
|
+
layer0: {
|
|
18
|
+
|
|
19
|
+
},
|
|
20
|
+
// Content layer specific configurations:
|
|
21
|
+
networkNode: {
|
|
22
|
+
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
await networkNode.start()
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### Publishing messages
|
|
29
|
+
|
|
30
|
+
```js
|
|
31
|
+
const streamPartId = StreamPartIDUtils.parse('test#0')
|
|
32
|
+
const message = new StreamMessage({
|
|
33
|
+
messageId: new MessageID(
|
|
34
|
+
StreamPartIDUtils.getStreamID(streamPartId),
|
|
35
|
+
StreamPartIDUtils.getStreamPartition(streamPartId),
|
|
36
|
+
666,
|
|
37
|
+
0,
|
|
38
|
+
'0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' as EthereumAddress,
|
|
39
|
+
'msgChainId'
|
|
40
|
+
),
|
|
41
|
+
prevMsgRef: new MessageRef(665, 0),
|
|
42
|
+
content: utf8ToBinary(JSON.stringify({
|
|
43
|
+
hello: 'world'
|
|
44
|
+
})),
|
|
45
|
+
contentType: ContentType.JSON,
|
|
46
|
+
messageType: StreamMessageType.MESSAGE,
|
|
47
|
+
encryptionType: EncryptionType.NONE,
|
|
48
|
+
signatureType: SignatureType.SECP256K1,
|
|
49
|
+
signature: hexToBinary('0x1234')
|
|
50
|
+
})
|
|
51
|
+
await networkNode.broadcast(streamMessage)
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Subscribing to messages
|
|
56
|
+
|
|
57
|
+
```js
|
|
58
|
+
const streamPartId = StreamPartIDUtils.parse('test#0')
|
|
59
|
+
networkNode.addMessageListener((msg) => {
|
|
60
|
+
console.log(msg)
|
|
61
|
+
})
|
|
62
|
+
await networkNode.join(streamPartId)
|
|
63
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@streamr/trackerless-network",
|
|
3
|
+
"version": "100.0.0-testnet-three.4",
|
|
4
|
+
"description": "Minimal and extendable implementation of the Streamr Network node.",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/streamr-dev/network-monorepo.git",
|
|
8
|
+
"directory": "packages/trackerless-network"
|
|
9
|
+
},
|
|
10
|
+
"main": "dist/src/exports.js",
|
|
11
|
+
"types": "dist/src/exports.d.ts",
|
|
12
|
+
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
|
|
13
|
+
"author": "Streamr Network AG <contact@streamr.network>",
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -b tsconfig.node.json",
|
|
16
|
+
"build-browser": "webpack --mode=development --progress",
|
|
17
|
+
"generate-protoc-code": "./proto.sh",
|
|
18
|
+
"check": "tsc -p ./tsconfig.jest.json --noEmit",
|
|
19
|
+
"clean": "jest --clearCache || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true",
|
|
20
|
+
"coverage": "jest --coverage",
|
|
21
|
+
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'",
|
|
22
|
+
"test": "npm run test-unit && npm run test-integration && npm run test-end-to-end",
|
|
23
|
+
"test-browser": "karma start karma.config.js",
|
|
24
|
+
"test-unit": "jest test/unit",
|
|
25
|
+
"test-integration": "jest --bail test/integration",
|
|
26
|
+
"test-end-to-end": "jest --bail test/end-to-end",
|
|
27
|
+
"network": "ts-node bin/network",
|
|
28
|
+
"run-joining-benchmark": "node --max-old-space-size=24288 dist/test/benchmark/first-message.js"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@protobuf-ts/runtime": "^2.8.2",
|
|
32
|
+
"@protobuf-ts/runtime-rpc": "^2.8.2",
|
|
33
|
+
"@streamr/dht": "100.0.0-testnet-three.4",
|
|
34
|
+
"@streamr/proto-rpc": "100.0.0-testnet-three.4",
|
|
35
|
+
"@streamr/protocol": "100.0.0-testnet-three.4",
|
|
36
|
+
"@streamr/test-utils": "100.0.0-testnet-three.4",
|
|
37
|
+
"@streamr/utils": "100.0.0-testnet-three.4",
|
|
38
|
+
"eventemitter3": "^5.0.0",
|
|
39
|
+
"lodash": "^4.17.21",
|
|
40
|
+
"uuid": "^9.0.1",
|
|
41
|
+
"yallist": "^4.0.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@streamr/browser-test-runner": "^0.0.1",
|
|
45
|
+
"@types/lodash": "^4.14.202",
|
|
46
|
+
"@types/uuid": "^9.0.7",
|
|
47
|
+
"@types/yallist": "^4.0.1",
|
|
48
|
+
"commander": "^11.1.0",
|
|
49
|
+
"expect": "^29.6.2",
|
|
50
|
+
"express": "^4.17.1",
|
|
51
|
+
"ts-essentials": "^9.4.1",
|
|
52
|
+
"ts-loader": "^9.5.1",
|
|
53
|
+
"ts-node": "^10.9.2"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/dist/src/NetworkStack.js
CHANGED
|
@@ -9,6 +9,7 @@ const NetworkRpc_1 = require("./proto/packages/trackerless-network/protos/Networ
|
|
|
9
9
|
const lodash_1 = require("lodash");
|
|
10
10
|
const NodeInfoRpcLocal_1 = require("./logic/node-info/NodeInfoRpcLocal");
|
|
11
11
|
const NodeInfoClient_1 = require("./logic/node-info/NodeInfoClient");
|
|
12
|
+
const logger = new utils_1.Logger(module);
|
|
12
13
|
const instances = [];
|
|
13
14
|
const stopInstances = async () => {
|
|
14
15
|
// make a clone so that it is ok for each instance.stop() to remove itself from the list (at line 139)
|
|
@@ -18,9 +19,13 @@ const stopInstances = async () => {
|
|
|
18
19
|
};
|
|
19
20
|
const EXIT_EVENTS = [`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `uncaughtException`, `unhandledRejection`, `SIGTERM`];
|
|
20
21
|
EXIT_EVENTS.forEach((event) => {
|
|
21
|
-
process.on(event, async () => {
|
|
22
|
+
process.on(event, async (eventArg) => {
|
|
23
|
+
const isError = (event === 'uncaughtException') || (event === 'unhandledRejection');
|
|
24
|
+
if (isError) {
|
|
25
|
+
logger.error(`exit event: ${event}`, eventArg);
|
|
26
|
+
}
|
|
22
27
|
await stopInstances();
|
|
23
|
-
process.exit();
|
|
28
|
+
process.exit(isError ? 1 : 0);
|
|
24
29
|
});
|
|
25
30
|
});
|
|
26
31
|
if (typeof window === 'object') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":";;;AAAA,sCAA4I;AAC5I,qDAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"NetworkStack.js","sourceRoot":"","sources":["../../src/NetworkStack.ts"],"names":[],"mappings":"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"}
|
package/dist/src/exports.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { NetworkStack, NetworkOptions } from './NetworkStack';
|
|
2
2
|
export { NetworkNode, createNetworkNode } from './NetworkNode';
|
|
3
3
|
export { StreamrNodeConfig } from './logic/StreamrNode';
|
|
4
|
-
export { ProxyDirection } from './proto/packages/trackerless-network/protos/NetworkRpc';
|
|
4
|
+
export { ProxyDirection, NodeInfoResponse } from './proto/packages/trackerless-network/protos/NetworkRpc';
|
|
5
|
+
export { streamPartIdToDataKey } from './logic/EntryPointDiscovery';
|
|
5
6
|
export { convertStreamMessageToBytes, convertBytesToStreamMessage } from './logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils';
|
package/dist/src/exports.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertBytesToStreamMessage = exports.convertStreamMessageToBytes = exports.ProxyDirection = exports.createNetworkNode = exports.NetworkNode = exports.NetworkStack = void 0;
|
|
3
|
+
exports.convertBytesToStreamMessage = exports.convertStreamMessageToBytes = exports.streamPartIdToDataKey = exports.NodeInfoResponse = 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,6 +8,9 @@ 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
|
+
Object.defineProperty(exports, "NodeInfoResponse", { enumerable: true, get: function () { return NetworkRpc_1.NodeInfoResponse; } });
|
|
12
|
+
var EntryPointDiscovery_1 = require("./logic/EntryPointDiscovery");
|
|
13
|
+
Object.defineProperty(exports, "streamPartIdToDataKey", { enumerable: true, get: function () { return EntryPointDiscovery_1.streamPartIdToDataKey; } });
|
|
11
14
|
var oldStreamMessageBinaryUtils_1 = require("./logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils");
|
|
12
15
|
Object.defineProperty(exports, "convertStreamMessageToBytes", { enumerable: true, get: function () { return oldStreamMessageBinaryUtils_1.convertStreamMessageToBytes; } });
|
|
13
16
|
Object.defineProperty(exports, "convertBytesToStreamMessage", { enumerable: true, get: function () { return oldStreamMessageBinaryUtils_1.convertBytesToStreamMessage; } });
|
package/dist/src/exports.js.map
CHANGED
|
@@ -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,
|
|
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,qFAAyG;AAAhG,4GAAA,cAAc,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AACzC,mEAAmE;AAA1D,4HAAA,qBAAqB,OAAA;AAC9B,uHAGgF;AAF5E,0IAAA,2BAA2B,OAAA;AAC3B,0IAAA,2BAA2B,OAAA"}
|
|
@@ -23,6 +23,7 @@ const createConfigWithDefaults = (config) => {
|
|
|
23
23
|
const nearbyNodeView = config.nearbyNodeView ?? new NodeList_1.NodeList(ownNodeId, maxContactCount);
|
|
24
24
|
const randomNodeView = config.randomNodeView ?? new NodeList_1.NodeList(ownNodeId, maxContactCount);
|
|
25
25
|
const neighbors = config.neighbors ?? new NodeList_1.NodeList(ownNodeId, maxContactCount);
|
|
26
|
+
const ongoingHandshakes = new Set();
|
|
26
27
|
const temporaryConnectionRpcLocal = new TemporaryConnectionRpcLocal_1.TemporaryConnectionRpcLocal({
|
|
27
28
|
rpcCommunicator,
|
|
28
29
|
localPeerDescriptor: config.localPeerDescriptor
|
|
@@ -57,7 +58,8 @@ const createConfigWithDefaults = (config) => {
|
|
|
57
58
|
randomNodeView,
|
|
58
59
|
neighbors,
|
|
59
60
|
maxNeighborCount: neighborTargetCount,
|
|
60
|
-
rpcRequestTimeout: config.rpcRequestTimeout
|
|
61
|
+
rpcRequestTimeout: config.rpcRequestTimeout,
|
|
62
|
+
ongoingHandshakes
|
|
61
63
|
});
|
|
62
64
|
const neighborFinder = config.neighborFinder ?? new NeighborFinder_1.NeighborFinder({
|
|
63
65
|
neighbors,
|
|
@@ -74,7 +76,8 @@ const createConfigWithDefaults = (config) => {
|
|
|
74
76
|
rpcCommunicator,
|
|
75
77
|
neighborUpdateInterval,
|
|
76
78
|
neighborTargetCount,
|
|
77
|
-
connectionLocker: config.connectionLocker
|
|
79
|
+
connectionLocker: config.connectionLocker,
|
|
80
|
+
ongoingHandshakes
|
|
78
81
|
});
|
|
79
82
|
const inspector = config.inspector ?? new Inspector_1.Inspector({
|
|
80
83
|
localPeerDescriptor: config.localPeerDescriptor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/createRandomGraphNode.ts"],"names":[],"mappings":";;;AAAA,sCAAgG;AAChG,gEAA4D;AAC5D,wEAAoE;AACpE,sFAAkF;AAClF,uDAAgF;AAChF,yCAAqC;AACrC,2DAAuD;AAGvD,6EAAyE;AACzE,mDAA+C;AAC/C,oGAAgG;AAChG,uFAAmF;AAanF,MAAM,wBAAwB,GAAG,CAAC,MAA6B,EAA+B,EAAE;IAC5F,MAAM,SAAS,GAAG,IAAA,iCAA2B,EAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IACzE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,8BAAwB,CAC1E,IAAA,iEAA+B,EAAC,MAAM,CAAC,YAAY,CAAC,EACpD,MAAM,CAAC,SAAS,CACnB,CAAA;IACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAA;IACpD,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAA;IAC/D,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,KAAK,CAAA;IACrE,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,IAAI,KAAK,CAAA;IACrE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,mBAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACxF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,mBAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;IACxF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,mBAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"createRandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/createRandomGraphNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,10 @@ interface HandshakerConfig {
|
|
|
10
10
|
randomNodeView: NodeList;
|
|
11
11
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
12
12
|
maxNeighborCount: number;
|
|
13
|
+
ongoingHandshakes: Set<DhtAddress>;
|
|
13
14
|
rpcRequestTimeout?: number;
|
|
14
15
|
}
|
|
15
16
|
export declare class Handshaker {
|
|
16
|
-
private readonly ongoingHandshakes;
|
|
17
17
|
private config;
|
|
18
18
|
private readonly rpcLocal;
|
|
19
19
|
constructor(config: HandshakerConfig);
|
|
@@ -11,7 +11,6 @@ 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
|
-
ongoingHandshakes = new Set();
|
|
15
14
|
config;
|
|
16
15
|
rpcLocal;
|
|
17
16
|
constructor(config) {
|
|
@@ -20,7 +19,7 @@ class Handshaker {
|
|
|
20
19
|
streamPartId: this.config.streamPartId,
|
|
21
20
|
neighbors: this.config.neighbors,
|
|
22
21
|
connectionLocker: this.config.connectionLocker,
|
|
23
|
-
ongoingHandshakes: this.ongoingHandshakes,
|
|
22
|
+
ongoingHandshakes: this.config.ongoingHandshakes,
|
|
24
23
|
ongoingInterleaves: new Set(),
|
|
25
24
|
maxNeighborCount: this.config.maxNeighborCount,
|
|
26
25
|
handshakeWithInterleaving: (target, senderId) => this.handshakeWithInterleaving(target, senderId),
|
|
@@ -32,11 +31,11 @@ class Handshaker {
|
|
|
32
31
|
}
|
|
33
32
|
async attemptHandshakesOnContacts(excludedIds) {
|
|
34
33
|
// TODO use config option or named constant? or why the value 2?
|
|
35
|
-
if (this.config.neighbors.size() + this.ongoingHandshakes.size < this.config.maxNeighborCount - 2) {
|
|
34
|
+
if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount - 2) {
|
|
36
35
|
logger.trace(`Attempting parallel handshakes with ${PARALLEL_HANDSHAKE_COUNT} targets`);
|
|
37
36
|
return this.selectParallelTargetsAndHandshake(excludedIds);
|
|
38
37
|
}
|
|
39
|
-
else if (this.config.neighbors.size() + this.ongoingHandshakes.size < this.config.maxNeighborCount) {
|
|
38
|
+
else if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount) {
|
|
40
39
|
logger.trace(`Attempting handshake with new target`);
|
|
41
40
|
return this.selectNewTargetAndHandshake(excludedIds);
|
|
42
41
|
}
|
|
@@ -45,16 +44,19 @@ class Handshaker {
|
|
|
45
44
|
async selectParallelTargetsAndHandshake(excludedIds) {
|
|
46
45
|
const exclude = excludedIds.concat(this.config.neighbors.getIds());
|
|
47
46
|
const neighbors = this.selectParallelTargets(exclude);
|
|
48
|
-
neighbors.forEach((contact) => this.ongoingHandshakes.add((0, dht_1.getNodeIdFromPeerDescriptor)(contact.getPeerDescriptor())));
|
|
47
|
+
neighbors.forEach((contact) => this.config.ongoingHandshakes.add((0, dht_1.getNodeIdFromPeerDescriptor)(contact.getPeerDescriptor())));
|
|
49
48
|
return this.doParallelHandshakes(neighbors, exclude);
|
|
50
49
|
}
|
|
51
50
|
selectParallelTargets(excludedIds) {
|
|
52
51
|
const neighbors = this.config.nearbyNodeView.getFirstAndLast(excludedIds);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
const getExcludedFromRandomView = () => [
|
|
53
|
+
...excludedIds,
|
|
54
|
+
...neighbors.map((neighbor) => (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor()))
|
|
55
|
+
];
|
|
56
|
+
while (neighbors.length < PARALLEL_HANDSHAKE_COUNT
|
|
57
|
+
&& this.config.randomNodeView.size(getExcludedFromRandomView()) > 0) {
|
|
58
|
+
const random = this.config.randomNodeView.getRandom(getExcludedFromRandomView());
|
|
59
|
+
neighbors.push(random);
|
|
58
60
|
}
|
|
59
61
|
return neighbors.map((neighbor) => this.createRpcRemote(neighbor.getPeerDescriptor()));
|
|
60
62
|
}
|
|
@@ -85,7 +87,7 @@ class Handshaker {
|
|
|
85
87
|
}
|
|
86
88
|
async handshakeWithTarget(neighbor, concurrentNodeId) {
|
|
87
89
|
const targetNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor());
|
|
88
|
-
this.ongoingHandshakes.add(targetNodeId);
|
|
90
|
+
this.config.ongoingHandshakes.add(targetNodeId);
|
|
89
91
|
const result = await neighbor.handshake(this.config.streamPartId, this.config.neighbors.getIds(), concurrentNodeId);
|
|
90
92
|
if (result.accepted) {
|
|
91
93
|
this.config.neighbors.add(this.createDeliveryRpcRemote(neighbor.getPeerDescriptor()));
|
|
@@ -94,19 +96,19 @@ class Handshaker {
|
|
|
94
96
|
if (result.interleaveTargetDescriptor) {
|
|
95
97
|
await this.handshakeWithInterleaving(result.interleaveTargetDescriptor, targetNodeId);
|
|
96
98
|
}
|
|
97
|
-
this.ongoingHandshakes.delete(targetNodeId);
|
|
99
|
+
this.config.ongoingHandshakes.delete(targetNodeId);
|
|
98
100
|
return result.accepted;
|
|
99
101
|
}
|
|
100
102
|
async handshakeWithInterleaving(target, interleaveSourceId) {
|
|
101
103
|
const neighbor = this.createRpcRemote(target);
|
|
102
104
|
const targetNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(neighbor.getPeerDescriptor());
|
|
103
|
-
this.ongoingHandshakes.add(targetNodeId);
|
|
105
|
+
this.config.ongoingHandshakes.add(targetNodeId);
|
|
104
106
|
const result = await neighbor.handshake(this.config.streamPartId, this.config.neighbors.getIds(), undefined, interleaveSourceId);
|
|
105
107
|
if (result.accepted) {
|
|
106
108
|
this.config.neighbors.add(this.createDeliveryRpcRemote(neighbor.getPeerDescriptor()));
|
|
107
109
|
this.config.connectionLocker.lockConnection(neighbor.getPeerDescriptor(), this.config.streamPartId);
|
|
108
110
|
}
|
|
109
|
-
this.ongoingHandshakes.delete(targetNodeId);
|
|
111
|
+
this.config.ongoingHandshakes.delete(targetNodeId);
|
|
110
112
|
return result.accepted;
|
|
111
113
|
}
|
|
112
114
|
createRpcRemote(targetPeerDescriptor) {
|
|
@@ -116,7 +118,7 @@ class Handshaker {
|
|
|
116
118
|
return new DeliveryRpcRemote_1.DeliveryRpcRemote(this.config.localPeerDescriptor, targetPeerDescriptor, this.config.rpcCommunicator, NetworkRpc_client_1.DeliveryRpcClient, this.config.rpcRequestTimeout);
|
|
117
119
|
}
|
|
118
120
|
getOngoingHandshakes() {
|
|
119
|
-
return this.ongoingHandshakes;
|
|
121
|
+
return this.config.ongoingHandshakes;
|
|
120
122
|
}
|
|
121
123
|
}
|
|
122
124
|
exports.Handshaker = Handshaker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Handshaker.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/Handshaker.ts"],"names":[],"mappings":";;;AAAA,sCAAkI;AAElI,4DAAwD;AACxD,yGAE0E;AAC1E,2FAKmE;AACnE,0CAAuC;AAEvC,6DAAqF;AACrF,2DAAuD;
|
|
1
|
+
{"version":3,"file":"Handshaker.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/Handshaker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConnectionLocker, ListeningRpcCommunicator, PeerDescriptor } from '@streamr/dht';
|
|
1
|
+
import { ConnectionLocker, DhtAddress, ListeningRpcCommunicator, PeerDescriptor } from '@streamr/dht';
|
|
2
2
|
import { NeighborFinder } from './NeighborFinder';
|
|
3
3
|
import { NodeList } from '../NodeList';
|
|
4
4
|
import { StreamPartID } from '@streamr/protocol';
|
|
@@ -12,6 +12,7 @@ interface NeighborUpdateManagerConfig {
|
|
|
12
12
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
13
13
|
neighborUpdateInterval: number;
|
|
14
14
|
neighborTargetCount: number;
|
|
15
|
+
ongoingHandshakes: Set<DhtAddress>;
|
|
15
16
|
}
|
|
16
17
|
export declare class NeighborUpdateManager {
|
|
17
18
|
private readonly abortController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeighborUpdateManager.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateManager.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"NeighborUpdateManager.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateManager.ts"],"names":[],"mappings":";;;AAAA,2FAA2F;AAC3F,sCAAkI;AAClI,yGAA2G;AAC3G,0CAA2D;AAG3D,uEAAmE;AACnE,qEAAiE;AAgBjE,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,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBACrG,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;AA5CD,sDA4CC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
|
|
2
|
-
import { ConnectionLocker, ListeningRpcCommunicator, PeerDescriptor } from '@streamr/dht';
|
|
2
|
+
import { ConnectionLocker, DhtAddress, ListeningRpcCommunicator, PeerDescriptor } from '@streamr/dht';
|
|
3
3
|
import { NeighborUpdate } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
4
4
|
import { INeighborUpdateRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server';
|
|
5
5
|
import { NodeList } from '../NodeList';
|
|
@@ -14,6 +14,7 @@ interface NeighborUpdateRpcLocalConfig {
|
|
|
14
14
|
connectionLocker: ConnectionLocker;
|
|
15
15
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
16
16
|
neighborTargetCount: number;
|
|
17
|
+
ongoingHandshakes: Set<DhtAddress>;
|
|
17
18
|
}
|
|
18
19
|
export declare class NeighborUpdateRpcLocal implements INeighborUpdateRpc {
|
|
19
20
|
private readonly config;
|
|
@@ -29,7 +29,7 @@ class NeighborUpdateRpcLocal {
|
|
|
29
29
|
const senderPeerDescriptor = context.incomingSourceDescriptor;
|
|
30
30
|
const senderId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor);
|
|
31
31
|
this.updateContacts(message.neighborDescriptors);
|
|
32
|
-
if (!this.config.neighbors.has(senderId)) {
|
|
32
|
+
if (!this.config.neighbors.has(senderId) && !this.config.ongoingHandshakes.has(senderId)) {
|
|
33
33
|
return this.createResponse(true);
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeighborUpdateRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"NeighborUpdateRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts"],"names":[],"mappings":";;;AACA,sCAAkJ;AAElJ,yGAAqG;AAGrG,4DAAwD;AAgBxD,MAAa,sBAAsB;IAEd,MAAM,CAA8B;IAErD,YAAY,MAAoC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEO,cAAc,CAAC,mBAAqC;QACxD,MAAM,SAAS,GAAG,IAAA,iCAA2B,EAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC9E,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE;YACrE,MAAM,MAAM,GAAG,IAAA,iCAA2B,EAAC,cAAc,CAAC,CAAA;YAC1D,OAAO,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACnF,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CACzE,IAAI,qCAAiB,CACjB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,cAAc,EACd,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,qCAAiB,CACpB,CAAC,CACL,CAAA;IACL,CAAC;IAEO,cAAc,CAAC,QAAiB;QACpC,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACnG,QAAQ;SACX,CAAA;IACL,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,cAAc,CAAC,OAAuB,EAAE,OAA0B;QACpE,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,MAAM,QAAQ,GAAG,IAAA,iCAA2B,EAAC,oBAAoB,CAAC,CAAA;QAClE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBACtF,0GAA0G;gBAC1G,yGAAyG;gBACzG,WAAW;mBACR,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAA;YAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACtC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YACjG,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;CACJ;AAtDD,wDAsDC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NodeInfoRpcLocal = exports.NODE_INFO_RPC_SERVICE_ID = void 0;
|
|
4
4
|
const NetworkRpc_1 = require("../../proto/packages/trackerless-network/protos/NetworkRpc");
|
|
5
|
+
const package_json_1 = require("../../../package.json");
|
|
5
6
|
exports.NODE_INFO_RPC_SERVICE_ID = 'system/node-info-rpc';
|
|
6
7
|
class NodeInfoRpcLocal {
|
|
7
8
|
stack;
|
|
@@ -21,7 +22,8 @@ class NodeInfoRpcLocal {
|
|
|
21
22
|
connections: this.stack.getLayer0Node().getConnections(),
|
|
22
23
|
neighbors: this.stack.getLayer0Node().getNeighbors()
|
|
23
24
|
},
|
|
24
|
-
streamPartitions: this.stack.getStreamrNode().getNodeInfo()
|
|
25
|
+
streamPartitions: this.stack.getStreamrNode().getNodeInfo(),
|
|
26
|
+
version: package_json_1.version
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeInfoRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/node-info/NodeInfoRpcLocal.ts"],"names":[],"mappings":";;;AAAA,2FAA8G;
|
|
1
|
+
{"version":3,"file":"NodeInfoRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/node-info/NodeInfoRpcLocal.ts"],"names":[],"mappings":";;;AAAA,2FAA8G;AAI9G,wDAA+D;AAElD,QAAA,wBAAwB,GAAG,sBAAsB,CAAA;AAE9D,MAAa,gBAAgB;IAER,KAAK,CAAc;IACnB,eAAe,CAA0B;IAE1D,YAAY,KAAmB,EAAE,eAAyC;QACtE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,4BAA4B,EAAE,CAAA;IACvC,CAAC;IAEO,4BAA4B;QAChC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,4BAAe,EAAE,6BAAgB,EAAE,SAAS,EAC/E,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACT,OAAO;YACH,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,sBAAsB,EAAE;YACnE,YAAY,EAAE;gBACV,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,cAAc,EAAE;gBACxD,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE;aACvD;YACD,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE;YAC3D,OAAO,EAAE,sBAAY;SACxB,CAAA;IACL,CAAC;CAEJ;AA5BD,4CA4BC"}
|
|
@@ -325,6 +325,10 @@ export interface NodeInfoResponse {
|
|
|
325
325
|
* @generated from protobuf field: optional ControlLayerInfo controlLayer = 3;
|
|
326
326
|
*/
|
|
327
327
|
controlLayer?: ControlLayerInfo;
|
|
328
|
+
/**
|
|
329
|
+
* @generated from protobuf field: string version = 4;
|
|
330
|
+
*/
|
|
331
|
+
version: string;
|
|
328
332
|
}
|
|
329
333
|
/**
|
|
330
334
|
* @generated from protobuf enum StreamMessageType
|
|
@@ -356,7 +356,8 @@ class NodeInfoResponse$Type extends runtime_1.MessageType {
|
|
|
356
356
|
super("NodeInfoResponse", [
|
|
357
357
|
{ no: 1, name: "peerDescriptor", kind: "message", T: () => DhtRpc_1.PeerDescriptor },
|
|
358
358
|
{ no: 2, name: "streamPartitions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.StreamPartitionInfo },
|
|
359
|
-
{ no: 3, name: "controlLayer", kind: "message", T: () => exports.ControlLayerInfo }
|
|
359
|
+
{ no: 3, name: "controlLayer", kind: "message", T: () => exports.ControlLayerInfo },
|
|
360
|
+
{ no: 4, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
360
361
|
]);
|
|
361
362
|
}
|
|
362
363
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NetworkRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/trackerless-network/protos/NetworkRpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NetworkRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/trackerless-network/protos/NetworkRpc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamr/trackerless-network",
|
|
3
|
-
"version": "100.0.0-testnet-three.
|
|
3
|
+
"version": "100.0.0-testnet-three.4",
|
|
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-three.
|
|
34
|
-
"@streamr/proto-rpc": "100.0.0-testnet-three.
|
|
35
|
-
"@streamr/protocol": "100.0.0-testnet-three.
|
|
36
|
-
"@streamr/test-utils": "100.0.0-testnet-three.
|
|
37
|
-
"@streamr/utils": "100.0.0-testnet-three.
|
|
33
|
+
"@streamr/dht": "100.0.0-testnet-three.4",
|
|
34
|
+
"@streamr/proto-rpc": "100.0.0-testnet-three.4",
|
|
35
|
+
"@streamr/protocol": "100.0.0-testnet-three.4",
|
|
36
|
+
"@streamr/test-utils": "100.0.0-testnet-three.4",
|
|
37
|
+
"@streamr/utils": "100.0.0-testnet-three.4",
|
|
38
38
|
"eventemitter3": "^5.0.0",
|
|
39
39
|
"lodash": "^4.17.21",
|
|
40
40
|
"uuid": "^9.0.1",
|
package/protos/NetworkRpc.proto
CHANGED
package/src/NetworkStack.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConnectionManager, DhtNode, DhtNodeOptions, ListeningRpcCommunicator, PeerDescriptor, areEqualPeerDescriptors } from '@streamr/dht'
|
|
2
2
|
import { StreamrNode, StreamrNodeConfig } from './logic/StreamrNode'
|
|
3
|
-
import { MetricsContext, waitForCondition } from '@streamr/utils'
|
|
3
|
+
import { Logger, MetricsContext, waitForCondition } from '@streamr/utils'
|
|
4
4
|
import { StreamID, StreamPartID, toStreamPartID } from '@streamr/protocol'
|
|
5
5
|
import { NodeInfoResponse, ProxyDirection, StreamMessage, StreamMessageType } from './proto/packages/trackerless-network/protos/NetworkRpc'
|
|
6
6
|
import { Layer0Node } from './logic/Layer0Node'
|
|
@@ -14,6 +14,8 @@ export interface NetworkOptions {
|
|
|
14
14
|
metricsContext?: MetricsContext
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
const logger = new Logger(module)
|
|
18
|
+
|
|
17
19
|
const instances: NetworkStack[] = []
|
|
18
20
|
const stopInstances = async () => {
|
|
19
21
|
// make a clone so that it is ok for each instance.stop() to remove itself from the list (at line 139)
|
|
@@ -23,9 +25,13 @@ const stopInstances = async () => {
|
|
|
23
25
|
}
|
|
24
26
|
const EXIT_EVENTS = [`exit`, `SIGINT`, `SIGUSR1`, `SIGUSR2`, `uncaughtException`, `unhandledRejection`, `SIGTERM`]
|
|
25
27
|
EXIT_EVENTS.forEach((event) => {
|
|
26
|
-
process.on(event, async () => {
|
|
28
|
+
process.on(event, async (eventArg) => {
|
|
29
|
+
const isError = (event === 'uncaughtException') || (event === 'unhandledRejection')
|
|
30
|
+
if (isError) {
|
|
31
|
+
logger.error(`exit event: ${event}`, eventArg)
|
|
32
|
+
}
|
|
27
33
|
await stopInstances()
|
|
28
|
-
process.exit()
|
|
34
|
+
process.exit(isError ? 1 : 0)
|
|
29
35
|
})
|
|
30
36
|
})
|
|
31
37
|
declare let window: any
|
package/src/exports.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export { NetworkStack, NetworkOptions } from './NetworkStack'
|
|
2
2
|
export { NetworkNode, createNetworkNode } from './NetworkNode'
|
|
3
3
|
export { StreamrNodeConfig } from './logic/StreamrNode'
|
|
4
|
-
export { ProxyDirection } from './proto/packages/trackerless-network/protos/NetworkRpc'
|
|
4
|
+
export { ProxyDirection, NodeInfoResponse } from './proto/packages/trackerless-network/protos/NetworkRpc'
|
|
5
|
+
export { streamPartIdToDataKey } from './logic/EntryPointDiscovery'
|
|
5
6
|
export {
|
|
6
7
|
convertStreamMessageToBytes,
|
|
7
8
|
convertBytesToStreamMessage
|
|
@@ -37,6 +37,7 @@ const createConfigWithDefaults = (config: RandomGraphNodeConfig): StrictRandomGr
|
|
|
37
37
|
const nearbyNodeView = config.nearbyNodeView ?? new NodeList(ownNodeId, maxContactCount)
|
|
38
38
|
const randomNodeView = config.randomNodeView ?? new NodeList(ownNodeId, maxContactCount)
|
|
39
39
|
const neighbors = config.neighbors ?? new NodeList(ownNodeId, maxContactCount)
|
|
40
|
+
const ongoingHandshakes = new Set<DhtAddress>()
|
|
40
41
|
|
|
41
42
|
const temporaryConnectionRpcLocal = new TemporaryConnectionRpcLocal({
|
|
42
43
|
rpcCommunicator,
|
|
@@ -70,7 +71,8 @@ const createConfigWithDefaults = (config: RandomGraphNodeConfig): StrictRandomGr
|
|
|
70
71
|
randomNodeView,
|
|
71
72
|
neighbors,
|
|
72
73
|
maxNeighborCount: neighborTargetCount,
|
|
73
|
-
rpcRequestTimeout: config.rpcRequestTimeout
|
|
74
|
+
rpcRequestTimeout: config.rpcRequestTimeout,
|
|
75
|
+
ongoingHandshakes
|
|
74
76
|
})
|
|
75
77
|
const neighborFinder = config.neighborFinder ?? new NeighborFinder({
|
|
76
78
|
neighbors,
|
|
@@ -87,7 +89,8 @@ const createConfigWithDefaults = (config: RandomGraphNodeConfig): StrictRandomGr
|
|
|
87
89
|
rpcCommunicator,
|
|
88
90
|
neighborUpdateInterval,
|
|
89
91
|
neighborTargetCount,
|
|
90
|
-
connectionLocker: config.connectionLocker
|
|
92
|
+
connectionLocker: config.connectionLocker,
|
|
93
|
+
ongoingHandshakes
|
|
91
94
|
})
|
|
92
95
|
const inspector = config.inspector ?? new Inspector({
|
|
93
96
|
localPeerDescriptor: config.localPeerDescriptor,
|
|
@@ -25,6 +25,7 @@ interface HandshakerConfig {
|
|
|
25
25
|
randomNodeView: NodeList
|
|
26
26
|
rpcCommunicator: ListeningRpcCommunicator
|
|
27
27
|
maxNeighborCount: number
|
|
28
|
+
ongoingHandshakes: Set<DhtAddress>
|
|
28
29
|
rpcRequestTimeout?: number
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -34,7 +35,6 @@ const PARALLEL_HANDSHAKE_COUNT = 2
|
|
|
34
35
|
|
|
35
36
|
export class Handshaker {
|
|
36
37
|
|
|
37
|
-
private readonly ongoingHandshakes: Set<DhtAddress> = new Set()
|
|
38
38
|
private config: HandshakerConfig
|
|
39
39
|
private readonly rpcLocal: IHandshakeRpc
|
|
40
40
|
|
|
@@ -44,7 +44,7 @@ export class Handshaker {
|
|
|
44
44
|
streamPartId: this.config.streamPartId,
|
|
45
45
|
neighbors: this.config.neighbors,
|
|
46
46
|
connectionLocker: this.config.connectionLocker,
|
|
47
|
-
ongoingHandshakes: this.ongoingHandshakes,
|
|
47
|
+
ongoingHandshakes: this.config.ongoingHandshakes,
|
|
48
48
|
ongoingInterleaves: new Set(),
|
|
49
49
|
maxNeighborCount: this.config.maxNeighborCount,
|
|
50
50
|
handshakeWithInterleaving: (target: PeerDescriptor, senderId: DhtAddress) => this.handshakeWithInterleaving(target, senderId),
|
|
@@ -59,10 +59,10 @@ export class Handshaker {
|
|
|
59
59
|
|
|
60
60
|
async attemptHandshakesOnContacts(excludedIds: DhtAddress[]): Promise<DhtAddress[]> {
|
|
61
61
|
// TODO use config option or named constant? or why the value 2?
|
|
62
|
-
if (this.config.neighbors.size() + this.ongoingHandshakes.size < this.config.maxNeighborCount - 2) {
|
|
62
|
+
if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount - 2) {
|
|
63
63
|
logger.trace(`Attempting parallel handshakes with ${PARALLEL_HANDSHAKE_COUNT} targets`)
|
|
64
64
|
return this.selectParallelTargetsAndHandshake(excludedIds)
|
|
65
|
-
} else if (this.config.neighbors.size() + this.ongoingHandshakes.size < this.config.maxNeighborCount) {
|
|
65
|
+
} else if (this.config.neighbors.size() + this.config.ongoingHandshakes.size < this.config.maxNeighborCount) {
|
|
66
66
|
logger.trace(`Attempting handshake with new target`)
|
|
67
67
|
return this.selectNewTargetAndHandshake(excludedIds)
|
|
68
68
|
}
|
|
@@ -72,17 +72,22 @@ export class Handshaker {
|
|
|
72
72
|
private async selectParallelTargetsAndHandshake(excludedIds: DhtAddress[]): Promise<DhtAddress[]> {
|
|
73
73
|
const exclude = excludedIds.concat(this.config.neighbors.getIds())
|
|
74
74
|
const neighbors = this.selectParallelTargets(exclude)
|
|
75
|
-
neighbors.forEach((contact) => this.ongoingHandshakes.add(getNodeIdFromPeerDescriptor(contact.getPeerDescriptor())))
|
|
75
|
+
neighbors.forEach((contact) => this.config.ongoingHandshakes.add(getNodeIdFromPeerDescriptor(contact.getPeerDescriptor())))
|
|
76
76
|
return this.doParallelHandshakes(neighbors, exclude)
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
private selectParallelTargets(excludedIds: DhtAddress[]): HandshakeRpcRemote[] {
|
|
80
80
|
const neighbors = this.config.nearbyNodeView.getFirstAndLast(excludedIds)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
const getExcludedFromRandomView = () => [
|
|
82
|
+
...excludedIds,
|
|
83
|
+
...neighbors.map((neighbor) => getNodeIdFromPeerDescriptor(neighbor.getPeerDescriptor()))
|
|
84
|
+
]
|
|
85
|
+
while (
|
|
86
|
+
neighbors.length < PARALLEL_HANDSHAKE_COUNT
|
|
87
|
+
&& this.config.randomNodeView.size(getExcludedFromRandomView()) > 0
|
|
88
|
+
) {
|
|
89
|
+
const random = this.config.randomNodeView.getRandom(getExcludedFromRandomView())!
|
|
90
|
+
neighbors.push(random)
|
|
86
91
|
}
|
|
87
92
|
return neighbors.map((neighbor) => this.createRpcRemote(neighbor.getPeerDescriptor()))
|
|
88
93
|
}
|
|
@@ -118,7 +123,7 @@ export class Handshaker {
|
|
|
118
123
|
|
|
119
124
|
private async handshakeWithTarget(neighbor: HandshakeRpcRemote, concurrentNodeId?: DhtAddress): Promise<boolean> {
|
|
120
125
|
const targetNodeId = getNodeIdFromPeerDescriptor(neighbor.getPeerDescriptor())
|
|
121
|
-
this.ongoingHandshakes.add(targetNodeId)
|
|
126
|
+
this.config.ongoingHandshakes.add(targetNodeId)
|
|
122
127
|
const result = await neighbor.handshake(
|
|
123
128
|
this.config.streamPartId,
|
|
124
129
|
this.config.neighbors.getIds(),
|
|
@@ -131,14 +136,14 @@ export class Handshaker {
|
|
|
131
136
|
if (result.interleaveTargetDescriptor) {
|
|
132
137
|
await this.handshakeWithInterleaving(result.interleaveTargetDescriptor, targetNodeId)
|
|
133
138
|
}
|
|
134
|
-
this.ongoingHandshakes.delete(targetNodeId)
|
|
139
|
+
this.config.ongoingHandshakes.delete(targetNodeId)
|
|
135
140
|
return result.accepted
|
|
136
141
|
}
|
|
137
142
|
|
|
138
143
|
private async handshakeWithInterleaving(target: PeerDescriptor, interleaveSourceId: DhtAddress): Promise<boolean> {
|
|
139
144
|
const neighbor = this.createRpcRemote(target)
|
|
140
145
|
const targetNodeId = getNodeIdFromPeerDescriptor(neighbor.getPeerDescriptor())
|
|
141
|
-
this.ongoingHandshakes.add(targetNodeId)
|
|
146
|
+
this.config.ongoingHandshakes.add(targetNodeId)
|
|
142
147
|
const result = await neighbor.handshake(
|
|
143
148
|
this.config.streamPartId,
|
|
144
149
|
this.config.neighbors.getIds(),
|
|
@@ -149,7 +154,7 @@ export class Handshaker {
|
|
|
149
154
|
this.config.neighbors.add(this.createDeliveryRpcRemote(neighbor.getPeerDescriptor()))
|
|
150
155
|
this.config.connectionLocker.lockConnection(neighbor.getPeerDescriptor(), this.config.streamPartId)
|
|
151
156
|
}
|
|
152
|
-
this.ongoingHandshakes.delete(targetNodeId)
|
|
157
|
+
this.config.ongoingHandshakes.delete(targetNodeId)
|
|
153
158
|
return result.accepted
|
|
154
159
|
}
|
|
155
160
|
|
|
@@ -174,7 +179,7 @@ export class Handshaker {
|
|
|
174
179
|
}
|
|
175
180
|
|
|
176
181
|
getOngoingHandshakes(): Set<DhtAddress> {
|
|
177
|
-
return this.ongoingHandshakes
|
|
182
|
+
return this.config.ongoingHandshakes
|
|
178
183
|
}
|
|
179
184
|
|
|
180
185
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NeighborUpdate } from '../../proto/packages/trackerless-network/protos/NetworkRpc'
|
|
2
|
-
import { ConnectionLocker, ListeningRpcCommunicator, PeerDescriptor, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
2
|
+
import { ConnectionLocker, DhtAddress, ListeningRpcCommunicator, PeerDescriptor, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
3
3
|
import { NeighborUpdateRpcClient } from '../../proto/packages/trackerless-network/protos/NetworkRpc.client'
|
|
4
4
|
import { Logger, scheduleAtInterval } from '@streamr/utils'
|
|
5
5
|
import { NeighborFinder } from './NeighborFinder'
|
|
@@ -18,6 +18,7 @@ interface NeighborUpdateManagerConfig {
|
|
|
18
18
|
rpcCommunicator: ListeningRpcCommunicator
|
|
19
19
|
neighborUpdateInterval: number
|
|
20
20
|
neighborTargetCount: number
|
|
21
|
+
ongoingHandshakes: Set<DhtAddress>
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
const logger = new Logger(module)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ServerCallContext } from '@protobuf-ts/runtime-rpc'
|
|
2
|
-
import { ConnectionLocker, DhtCallContext, ListeningRpcCommunicator, PeerDescriptor, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
2
|
+
import { ConnectionLocker, DhtAddress, DhtCallContext, ListeningRpcCommunicator, PeerDescriptor, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
3
3
|
import { NeighborUpdate } from '../../proto/packages/trackerless-network/protos/NetworkRpc'
|
|
4
4
|
import { DeliveryRpcClient } from '../../proto/packages/trackerless-network/protos/NetworkRpc.client'
|
|
5
5
|
import { INeighborUpdateRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server'
|
|
@@ -17,6 +17,7 @@ interface NeighborUpdateRpcLocalConfig {
|
|
|
17
17
|
connectionLocker: ConnectionLocker
|
|
18
18
|
rpcCommunicator: ListeningRpcCommunicator
|
|
19
19
|
neighborTargetCount: number
|
|
20
|
+
ongoingHandshakes: Set<DhtAddress>
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export class NeighborUpdateRpcLocal implements INeighborUpdateRpc {
|
|
@@ -56,7 +57,7 @@ export class NeighborUpdateRpcLocal implements INeighborUpdateRpc {
|
|
|
56
57
|
const senderPeerDescriptor = (context as DhtCallContext).incomingSourceDescriptor!
|
|
57
58
|
const senderId = getNodeIdFromPeerDescriptor(senderPeerDescriptor)
|
|
58
59
|
this.updateContacts(message.neighborDescriptors)
|
|
59
|
-
if (!this.config.neighbors.has(senderId)) {
|
|
60
|
+
if (!this.config.neighbors.has(senderId) && !this.config.ongoingHandshakes.has(senderId)) {
|
|
60
61
|
return this.createResponse(true)
|
|
61
62
|
} else {
|
|
62
63
|
const isOverNeighborCount = this.config.neighbors.size() > this.config.neighborTargetCount
|
|
@@ -2,6 +2,7 @@ import { NodeInfoRequest, NodeInfoResponse } from '../../proto/packages/trackerl
|
|
|
2
2
|
import { INodeInfoRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server'
|
|
3
3
|
import { NetworkStack } from '../../NetworkStack'
|
|
4
4
|
import { ListeningRpcCommunicator } from '@streamr/dht'
|
|
5
|
+
import { version as localVersion } from '../../../package.json'
|
|
5
6
|
|
|
6
7
|
export const NODE_INFO_RPC_SERVICE_ID = 'system/node-info-rpc'
|
|
7
8
|
|
|
@@ -28,7 +29,8 @@ export class NodeInfoRpcLocal implements INodeInfoRpc {
|
|
|
28
29
|
connections: this.stack.getLayer0Node().getConnections(),
|
|
29
30
|
neighbors: this.stack.getLayer0Node().getNeighbors()
|
|
30
31
|
},
|
|
31
|
-
streamPartitions: this.stack.getStreamrNode().getNodeInfo()
|
|
32
|
+
streamPartitions: this.stack.getStreamrNode().getNodeInfo(),
|
|
33
|
+
version: localVersion
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
|
|
@@ -329,6 +329,10 @@ export interface NodeInfoResponse {
|
|
|
329
329
|
* @generated from protobuf field: optional ControlLayerInfo controlLayer = 3;
|
|
330
330
|
*/
|
|
331
331
|
controlLayer?: ControlLayerInfo;
|
|
332
|
+
/**
|
|
333
|
+
* @generated from protobuf field: string version = 4;
|
|
334
|
+
*/
|
|
335
|
+
version: string;
|
|
332
336
|
}
|
|
333
337
|
/**
|
|
334
338
|
* @generated from protobuf enum StreamMessageType
|
|
@@ -673,7 +677,8 @@ class NodeInfoResponse$Type extends MessageType<NodeInfoResponse> {
|
|
|
673
677
|
super("NodeInfoResponse", [
|
|
674
678
|
{ no: 1, name: "peerDescriptor", kind: "message", T: () => PeerDescriptor },
|
|
675
679
|
{ no: 2, name: "streamPartitions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => StreamPartitionInfo },
|
|
676
|
-
{ no: 3, name: "controlLayer", kind: "message", T: () => ControlLayerInfo }
|
|
680
|
+
{ no: 3, name: "controlLayer", kind: "message", T: () => ControlLayerInfo },
|
|
681
|
+
{ no: 4, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
677
682
|
]);
|
|
678
683
|
}
|
|
679
684
|
}
|
|
@@ -47,7 +47,7 @@ describe('proxy group key exchange', () => {
|
|
|
47
47
|
proxyNode.stack.getStreamrNode()!.joinStreamPart(STREAM_PART_ID)
|
|
48
48
|
publisher = createNetworkNode({
|
|
49
49
|
layer0: {
|
|
50
|
-
entryPoints: [
|
|
50
|
+
entryPoints: [proxyNodeDescriptor],
|
|
51
51
|
peerDescriptor: publisherDescriptor,
|
|
52
52
|
}
|
|
53
53
|
})
|
|
@@ -55,7 +55,7 @@ describe('proxy group key exchange', () => {
|
|
|
55
55
|
|
|
56
56
|
subscriber = createNetworkNode({
|
|
57
57
|
layer0: {
|
|
58
|
-
entryPoints: [
|
|
58
|
+
entryPoints: [proxyNodeDescriptor],
|
|
59
59
|
peerDescriptor: subscriberDescriptor,
|
|
60
60
|
}
|
|
61
61
|
})
|
|
@@ -95,7 +95,8 @@ describe('NetworkStack NodeInfoRpc', () => {
|
|
|
95
95
|
controlLayerNeighbors: [normalizePeerDescriptor(otherPeerDescriptor)],
|
|
96
96
|
deliveryLayerNeighbors: [normalizePeerDescriptor(otherPeerDescriptor)]
|
|
97
97
|
}
|
|
98
|
-
]
|
|
98
|
+
],
|
|
99
|
+
version: expect.any(String)
|
|
99
100
|
})
|
|
100
101
|
expect(result.streamPartitions.length).toEqual(2)
|
|
101
102
|
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ListeningRpcCommunicator, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
1
|
+
import { DhtAddress, ListeningRpcCommunicator, getNodeIdFromPeerDescriptor } from '@streamr/dht'
|
|
2
2
|
import { NeighborFinder } from '../../src/logic/neighbor-discovery/NeighborFinder'
|
|
3
3
|
import { NeighborUpdateRpcLocal } from '../../src/logic/neighbor-discovery/NeighborUpdateRpcLocal'
|
|
4
4
|
import { createMockPeerDescriptor } from '../utils/utils'
|
|
@@ -20,6 +20,7 @@ describe('NeighborUpdateRpcLocal', () => {
|
|
|
20
20
|
let nearbyNodeView: NodeList
|
|
21
21
|
let neighborFinder: NeighborFinder
|
|
22
22
|
let rpcCommunicator: ListeningRpcCommunicator
|
|
23
|
+
let ongoingHandshakes: Set<DhtAddress>
|
|
23
24
|
|
|
24
25
|
const addNeighbors = (count: number) => {
|
|
25
26
|
for (let i = 0; i < count; i++) {
|
|
@@ -42,6 +43,7 @@ describe('NeighborUpdateRpcLocal', () => {
|
|
|
42
43
|
const connectionLocker = {
|
|
43
44
|
unlockConnection: jest.fn()
|
|
44
45
|
} as any
|
|
46
|
+
ongoingHandshakes = new Set()
|
|
45
47
|
|
|
46
48
|
rpcLocal = new NeighborUpdateRpcLocal({
|
|
47
49
|
localPeerDescriptor,
|
|
@@ -51,7 +53,8 @@ describe('NeighborUpdateRpcLocal', () => {
|
|
|
51
53
|
streamPartId,
|
|
52
54
|
rpcCommunicator,
|
|
53
55
|
neighborTargetCount,
|
|
54
|
-
connectionLocker
|
|
56
|
+
connectionLocker,
|
|
57
|
+
ongoingHandshakes
|
|
55
58
|
})
|
|
56
59
|
})
|
|
57
60
|
|
|
@@ -126,4 +129,15 @@ describe('NeighborUpdateRpcLocal', () => {
|
|
|
126
129
|
expect(neighbors.has(getNodeIdFromPeerDescriptor(caller))).toEqual(false)
|
|
127
130
|
})
|
|
128
131
|
|
|
132
|
+
it('does not ask to be removed if there is an ongoing handshake to the caller', async () => {
|
|
133
|
+
const caller = createMockPeerDescriptor()
|
|
134
|
+
ongoingHandshakes.add(getNodeIdFromPeerDescriptor(caller))
|
|
135
|
+
const res = await rpcLocal.neighborUpdate({
|
|
136
|
+
streamPartId,
|
|
137
|
+
neighborDescriptors: [localPeerDescriptor],
|
|
138
|
+
removeMe: false
|
|
139
|
+
}, { incomingSourceDescriptor: caller } as any)
|
|
140
|
+
expect(res.removeMe).toEqual(false)
|
|
141
|
+
})
|
|
142
|
+
|
|
129
143
|
})
|
package/tsconfig.jest.json
CHANGED