@streamr/dht 100.0.0-testnet-one.0 → 100.0.0-testnet-one.2
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/src/connection/ConnectionLockRpcRemote.js +1 -25
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
- package/dist/src/connection/ConnectionManager.d.ts +0 -1
- package/dist/src/connection/ConnectionManager.js +7 -6
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectorFacade.d.ts +2 -2
- package/dist/src/connection/ConnectorFacade.js +2 -3
- package/dist/src/connection/ConnectorFacade.js.map +1 -1
- package/dist/src/connection/ManagedConnection.d.ts +1 -0
- package/dist/src/connection/ManagedConnection.js +11 -1
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/connectivityChecker.js +3 -2
- package/dist/src/connection/connectivityChecker.js.map +1 -1
- package/dist/src/connection/websocket/ClientWebsocket.d.ts +1 -0
- package/dist/src/connection/websocket/ClientWebsocket.js +6 -3
- package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/ServerWebsocket.d.ts +4 -0
- package/dist/src/connection/websocket/ServerWebsocket.js +32 -21
- package/dist/src/connection/websocket/ServerWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnector.d.ts +0 -1
- package/dist/src/connection/websocket/WebsocketConnector.js +21 -10
- package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +8 -11
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +2 -2
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +3 -37
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketServer.js +21 -4
- package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +4 -4
- package/dist/src/dht/DhtNode.js +31 -20
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.d.ts +1 -4
- package/dist/src/dht/DhtNodeRpcLocal.js +1 -5
- package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
- package/dist/src/dht/PeerManager.d.ts +10 -6
- package/dist/src/dht/PeerManager.js +95 -30
- package/dist/src/dht/PeerManager.js.map +1 -1
- package/dist/src/dht/contact/SortedContactList.d.ts +20 -6
- package/dist/src/dht/contact/SortedContactList.js +55 -24
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/discovery/DiscoverySession.d.ts +3 -5
- package/dist/src/dht/discovery/DiscoverySession.js +11 -9
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +4 -2
- package/dist/src/dht/discovery/PeerDiscovery.js +17 -16
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/find/FindSession.js +6 -1
- package/dist/src/dht/find/FindSession.js.map +1 -1
- package/dist/src/dht/find/Finder.js +6 -1
- package/dist/src/dht/find/Finder.js.map +1 -1
- package/dist/src/dht/routing/Router.d.ts +1 -1
- package/dist/src/dht/routing/Router.js +8 -4
- package/dist/src/dht/routing/Router.js.map +1 -1
- package/dist/src/dht/routing/RoutingSession.js +8 -1
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/store/StoreRpcLocal.js +19 -5
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
- package/dist/src/helpers/PeerID.d.ts +1 -0
- package/dist/src/helpers/PeerID.js +7 -2
- package/dist/src/helpers/PeerID.js.map +1 -1
- package/dist/src/helpers/peerIdFromPeerDescriptor.js +2 -2
- package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
- package/package.json +5 -5
- package/src/connection/ConnectionLockRpcRemote.ts +1 -2
- package/src/connection/ConnectionManager.ts +16 -17
- package/src/connection/ConnectorFacade.ts +1 -4
- package/src/connection/ManagedConnection.ts +12 -1
- package/src/connection/connectivityChecker.ts +3 -2
- package/src/connection/websocket/ClientWebsocket.ts +5 -2
- package/src/connection/websocket/ServerWebsocket.ts +40 -25
- package/src/connection/websocket/WebsocketConnector.ts +23 -12
- package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +9 -11
- package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +5 -14
- package/src/connection/websocket/WebsocketServer.ts +20 -5
- package/src/dht/DhtNode.ts +32 -24
- package/src/dht/DhtNodeRpcLocal.ts +2 -9
- package/src/dht/PeerManager.ts +110 -36
- package/src/dht/contact/SortedContactList.ts +87 -44
- package/src/dht/discovery/DiscoverySession.ts +15 -14
- package/src/dht/discovery/PeerDiscovery.ts +37 -22
- package/src/dht/find/FindSession.ts +6 -1
- package/src/dht/find/Finder.ts +6 -7
- package/src/dht/routing/Router.ts +8 -4
- package/src/dht/routing/RoutingSession.ts +8 -8
- package/src/dht/store/StoreRpcLocal.ts +19 -7
- package/src/helpers/PeerID.ts +6 -2
- package/src/helpers/peerIdFromPeerDescriptor.ts +4 -4
- package/test/benchmark/Find.test.ts +1 -1
- package/test/benchmark/KademliaCorrectness.test.ts +1 -1
- package/test/benchmark/SortedContactListBenchmark.test.ts +150 -0
- package/test/benchmark/WebsocketServerMemoryLeak.test.ts +41 -0
- package/test/benchmark/kademlia-simulation/SimulationNode.ts +6 -1
- package/test/end-to-end/Layer0.test.ts +4 -4
- package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +10 -10
- package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +4 -4
- package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +2 -2
- package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +2 -2
- package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +1 -1
- package/test/end-to-end/memory-leak.test.ts +1 -0
- package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
- package/test/integration/Layer1-scale.test.ts +1 -1
- package/test/integration/Mock-Layer1-Layer0.test.ts +15 -15
- package/test/integration/MultipleEntryPointJoining.test.ts +7 -7
- package/test/integration/ReplicateData.test.ts +6 -1
- package/test/integration/SimultaneousConnections.test.ts +81 -49
- package/test/integration/Store.test.ts +1 -1
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +1 -1
- package/test/integration/WebrtcConnectionManagement.test.ts +29 -0
- package/test/integration/WebsocketConnectionManagement.test.ts +65 -4
- package/test/integration/WebsocketConnectorRpc.test.ts +3 -5
- package/test/unit/SortedContactList.test.ts +15 -10
|
@@ -77,8 +77,18 @@ class WebsocketConnector {
|
|
|
77
77
|
}
|
|
78
78
|
registerLocalRpcMethods(config) {
|
|
79
79
|
const rpcLocal = new WebsocketConnectorRpcLocal_1.WebsocketConnectorRpcLocal({
|
|
80
|
-
canConnect: (peerDescriptor) => config.canConnect(peerDescriptor),
|
|
81
80
|
connect: (targetPeerDescriptor) => this.connect(targetPeerDescriptor),
|
|
81
|
+
hasConnection: (targetPeerDescriptor) => {
|
|
82
|
+
const peerKey = (0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(targetPeerDescriptor);
|
|
83
|
+
if (this.connectingConnections.has(peerKey)
|
|
84
|
+
|| this.connectingConnections.has(peerKey)
|
|
85
|
+
|| this.ongoingConnectRequests.has(peerKey)) {
|
|
86
|
+
return true;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
},
|
|
82
92
|
onNewConnection: (connection) => config.onNewConnection(connection),
|
|
83
93
|
abortSignal: this.abortController.signal
|
|
84
94
|
});
|
|
@@ -222,8 +232,14 @@ class WebsocketConnector {
|
|
|
222
232
|
requestConnectionFromPeer(localPeerDescriptor, targetPeerDescriptor) {
|
|
223
233
|
setImmediate(() => {
|
|
224
234
|
const remoteConnector = new WebsocketConnectorRpcRemote_1.WebsocketConnectorRpcRemote(localPeerDescriptor, targetPeerDescriptor, (0, proto_rpc_1.toProtoRpcClient)(new DhtRpc_client_1.WebsocketConnectorRpcClient(this.rpcCommunicator.getRpcClientTransport())));
|
|
225
|
-
|
|
226
|
-
|
|
235
|
+
remoteConnector.requestConnection().then((_response) => {
|
|
236
|
+
logger.trace('Sent WebsocketConnectionRequest request to peer', { targetPeerDescriptor });
|
|
237
|
+
return;
|
|
238
|
+
}, (err) => {
|
|
239
|
+
logger.debug('Failed to send WebsocketConnectionRequest request to peer of failed to get the response ', {
|
|
240
|
+
error: err, targetPeerDescriptor
|
|
241
|
+
});
|
|
242
|
+
});
|
|
227
243
|
});
|
|
228
244
|
const managedConnection = new ManagedConnection_1.ManagedConnection(this.localPeerDescriptor, IConnection_1.ConnectionType.WEBSOCKET_SERVER, undefined, undefined, targetPeerDescriptor);
|
|
229
245
|
managedConnection.on('disconnected', () => this.ongoingConnectRequests.delete((0, peerIdFromPeerDescriptor_1.keyFromPeerDescriptor)(targetPeerDescriptor)));
|
|
@@ -236,13 +252,8 @@ class WebsocketConnector {
|
|
|
236
252
|
if (this.ongoingConnectRequests.has(peerId.toKey())) {
|
|
237
253
|
const ongoingConnectRequest = this.ongoingConnectRequests.get(peerId.toKey());
|
|
238
254
|
ongoingConnectRequest.attachImplementation(serverWebsocket);
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
else {
|
|
243
|
-
ongoingConnectRequest.acceptHandshake();
|
|
244
|
-
this.ongoingConnectRequests.delete(peerId.toKey());
|
|
245
|
-
}
|
|
255
|
+
ongoingConnectRequest.acceptHandshake();
|
|
256
|
+
this.ongoingConnectRequests.delete(peerId.toKey());
|
|
246
257
|
}
|
|
247
258
|
else {
|
|
248
259
|
const managedConnection = new ManagedConnection_1.ManagedConnection(this.localPeerDescriptor, IConnection_1.ConnectionType.WEBSOCKET_SERVER, undefined, serverWebsocket, targetPeerDescriptor);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketConnector.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAmD;AACnD,gDAA4D;AAE5D,uFAAmF;AACnF,6EAAyE;AACzE,+EAA2E;AAC3E,mEAO+C;AAC/C,iFAA2F;AAC3F,0CAA0D;AAC1D,4DAAwD;AACxD,uDAAmD;AACnD,gEAAgE;AAChE,4DAAyE;AAGzE,kDAAqD;AACrD,8CAA0C;AAC1C,qFAAiI;AAEjI,mCAAsC;AAEtC,6DAAmE;AACnE,iDAAgE;AAChE,2EAAuE;AACvE,8EAAgF;AAChF,0DAA2C;AAE3C,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAI1B,MAAM,gCAAgC,GAAG,CAAC,EAAsB,EAAE,MAAe,EAAU,EAAE;IAChG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACxH,CAAC,CAAA;AAFY,QAAA,gCAAgC,oCAE5C;AAED,MAAM,+BAA+B,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"WebsocketConnector.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { PeerDescriptor, WebsocketConnectionRequest, WebsocketConnectionResponse
|
|
|
4
4
|
import { IWebsocketConnectorRpc } from '../../proto/packages/dht/protos/DhtRpc.server';
|
|
5
5
|
import { ManagedConnection } from '../ManagedConnection';
|
|
6
6
|
interface WebsocketConnectorRpcLocalConfig {
|
|
7
|
-
canConnect: (peerDescriptor: PeerDescriptor) => boolean;
|
|
8
7
|
connect: (targetPeerDescriptor: PeerDescriptor) => ManagedConnection;
|
|
8
|
+
hasConnection: (targetPeerDescriptor: PeerDescriptor) => boolean;
|
|
9
9
|
onNewConnection: (connection: ManagedConnection) => boolean;
|
|
10
10
|
abortSignal: AbortSignal;
|
|
11
11
|
}
|
|
@@ -7,19 +7,16 @@ class WebsocketConnectorRpcLocal {
|
|
|
7
7
|
}
|
|
8
8
|
async requestConnection(_request, context) {
|
|
9
9
|
const senderPeerDescriptor = context.incomingSourceDescriptor;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
setImmediate(() => {
|
|
11
|
+
if (this.config.abortSignal.aborted) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
if (!this.config.hasConnection(senderPeerDescriptor)) {
|
|
15
15
|
const connection = this.config.connect(senderPeerDescriptor);
|
|
16
16
|
this.config.onNewConnection(connection);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
return { accepted: false };
|
|
22
|
-
}
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return { accepted: true };
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
exports.WebsocketConnectorRpcLocal = WebsocketConnectorRpcLocal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnectorRpcLocal.ts"],"names":[],"mappings":";;;AAiBA,MAAa,0BAA0B;IAInC,YAAY,MAAwC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,QAAoC,EAAE,OAA0B;QAC3F,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,IAAI,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"WebsocketConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnectorRpcLocal.ts"],"names":[],"mappings":";;;AAiBA,MAAa,0BAA0B;IAInC,YAAY,MAAwC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,QAAoC,EAAE,OAA0B;QAC3F,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;gBACjC,OAAM;aACT;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;gBAC5D,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;aAC1C;QACL,CAAC,CAAC,CAAA;QACF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC;CACJ;AArBD,gEAqBC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
|
|
1
|
+
import { PeerDescriptor, WebsocketConnectionResponse } from '../../proto/packages/dht/protos/DhtRpc';
|
|
2
2
|
import { IWebsocketConnectorRpcClient } from '../../proto/packages/dht/protos/DhtRpc.client';
|
|
3
3
|
import { ProtoRpcClient } from '@streamr/proto-rpc';
|
|
4
4
|
import { RpcRemote } from '../../dht/contact/RpcRemote';
|
|
5
5
|
export declare class WebsocketConnectorRpcRemote extends RpcRemote<IWebsocketConnectorRpcClient> {
|
|
6
6
|
constructor(localPeerDescriptor: PeerDescriptor, remotePeerDescriptor: PeerDescriptor, client: ProtoRpcClient<IWebsocketConnectorRpcClient>);
|
|
7
|
-
requestConnection(
|
|
7
|
+
requestConnection(): Promise<WebsocketConnectionResponse>;
|
|
8
8
|
}
|
|
@@ -1,31 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.WebsocketConnectorRpcRemote = void 0;
|
|
27
4
|
const utils_1 = require("@streamr/utils");
|
|
28
|
-
const Err = __importStar(require("../../helpers/errors"));
|
|
29
5
|
const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
|
|
30
6
|
const RpcRemote_1 = require("../../dht/contact/RpcRemote");
|
|
31
7
|
const logger = new utils_1.Logger(module);
|
|
@@ -33,21 +9,11 @@ class WebsocketConnectorRpcRemote extends RpcRemote_1.RpcRemote {
|
|
|
33
9
|
constructor(localPeerDescriptor, remotePeerDescriptor, client) {
|
|
34
10
|
super(localPeerDescriptor, remotePeerDescriptor, 'DUMMY', client);
|
|
35
11
|
}
|
|
36
|
-
async requestConnection(
|
|
12
|
+
async requestConnection() {
|
|
37
13
|
logger.trace(`Requesting WebSocket connection from ${(0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(this.getLocalPeerDescriptor())}`);
|
|
38
|
-
const request = {
|
|
39
|
-
ip,
|
|
40
|
-
port
|
|
41
|
-
};
|
|
14
|
+
const request = {};
|
|
42
15
|
const options = this.formDhtRpcOptions();
|
|
43
|
-
|
|
44
|
-
const res = await this.getClient().requestConnection(request, options);
|
|
45
|
-
return res.accepted;
|
|
46
|
-
}
|
|
47
|
-
catch (err) {
|
|
48
|
-
logger.debug(new Err.WebsocketConnectionRequestRejected('WebsocketConnectionRequest rejected', err).stack);
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
16
|
+
return this.getClient().requestConnection(request, options);
|
|
51
17
|
}
|
|
52
18
|
}
|
|
53
19
|
exports.WebsocketConnectorRpcRemote = WebsocketConnectorRpcRemote;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketConnectorRpcRemote.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnectorRpcRemote.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebsocketConnectorRpcRemote.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketConnectorRpcRemote.ts"],"names":[],"mappings":";;;AAMA,0CAAuC;AAEvC,qFAAoF;AACpF,2DAAuD;AAEvD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,2BAA4B,SAAQ,qBAAuC;IAEpF,YACI,mBAAmC,EACnC,oBAAoC,EACpC,MAAoD;QAEpD,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,CAAC,KAAK,CAAC,wCAAwC,IAAA,sDAA2B,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAA;QAClH,MAAM,OAAO,GAA+B,EAAE,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;CACJ;AAhBD,kEAgBC"}
|
|
@@ -79,9 +79,17 @@ class WebsocketServer extends eventemitter3_1.default {
|
|
|
79
79
|
logger.trace('IConnection from origin ' + request.origin + ' rejected.');
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
let connection;
|
|
83
|
+
try {
|
|
84
|
+
connection = request.accept(undefined, request.origin);
|
|
85
|
+
logger.trace('Connection accepted.', { remoteAddress: request.remoteAddress });
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
logger.debug('Accepting websocket connection failed', { remoteAddress: request.remoteAddress, err });
|
|
89
|
+
}
|
|
90
|
+
if (connection) {
|
|
91
|
+
this.emit('connected', new ServerWebsocket_1.ServerWebsocket(connection, request.resourceURL));
|
|
92
|
+
}
|
|
85
93
|
});
|
|
86
94
|
this.httpServer.once('error', (err) => {
|
|
87
95
|
reject(new errors_1.WebsocketServerStartError('Starting Websocket server failed', err));
|
|
@@ -110,9 +118,18 @@ class WebsocketServer extends eventemitter3_1.default {
|
|
|
110
118
|
this.removeAllListeners();
|
|
111
119
|
return new Promise((resolve, _reject) => {
|
|
112
120
|
this.wsServer?.shutDown();
|
|
113
|
-
this.httpServer?.close(
|
|
121
|
+
this.httpServer?.once('close', () => {
|
|
122
|
+
// removeAllListeners is maybe not needed?
|
|
123
|
+
this.httpServer?.removeAllListeners();
|
|
114
124
|
resolve();
|
|
115
125
|
});
|
|
126
|
+
this.httpServer?.close();
|
|
127
|
+
// the close method "Stops the server from accepting new connections and closes all
|
|
128
|
+
// connections connected to this server which are not sending a request or waiting for a
|
|
129
|
+
// response." (https://nodejs.org/api/http.html#serverclosecallback)
|
|
130
|
+
// i.e. we need to call closeAllConnections() to close the rest of the connections
|
|
131
|
+
// (in practice this closes the active websocket connections)
|
|
132
|
+
this.httpServer?.closeAllConnections();
|
|
116
133
|
});
|
|
117
134
|
}
|
|
118
135
|
createWsServer(httpServer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebsocketServer.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketServer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WebsocketServer.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ export declare class DhtNode extends EventEmitter<Events> implements ITransport
|
|
|
64
64
|
private peerManager?;
|
|
65
65
|
connectionManager?: ConnectionManager;
|
|
66
66
|
private started;
|
|
67
|
-
private
|
|
67
|
+
private abortController;
|
|
68
68
|
private entryPointDisconnectTimeout?;
|
|
69
69
|
constructor(conf: DhtNodeOptions);
|
|
70
70
|
start(): Promise<void>;
|
|
@@ -73,9 +73,9 @@ export declare class DhtNode extends EventEmitter<Events> implements ITransport
|
|
|
73
73
|
private isPeerCloserToIdThanSelf;
|
|
74
74
|
private handleMessage;
|
|
75
75
|
private generatePeerDescriptorCallBack;
|
|
76
|
-
getClosestContacts(
|
|
76
|
+
getClosestContacts(limit?: number): PeerDescriptor[];
|
|
77
77
|
getNodeId(): PeerID;
|
|
78
|
-
|
|
78
|
+
getNumberOfNeighbors(): number;
|
|
79
79
|
private connectToEntryPoint;
|
|
80
80
|
removeContact(contact: PeerDescriptor): void;
|
|
81
81
|
send(msg: Message): Promise<void>;
|
|
@@ -89,7 +89,7 @@ export declare class DhtNode extends EventEmitter<Events> implements ITransport
|
|
|
89
89
|
getTransport(): ITransport;
|
|
90
90
|
getLocalPeerDescriptor(): PeerDescriptor;
|
|
91
91
|
getAllConnectionPeerDescriptors(): PeerDescriptor[];
|
|
92
|
-
|
|
92
|
+
getAllNeighborPeerDescriptors(): PeerDescriptor[];
|
|
93
93
|
getNumberOfConnections(): number;
|
|
94
94
|
getNumberOfLocalLockedConnections(): number;
|
|
95
95
|
getNumberOfRemoteLockedConnections(): number;
|
package/dist/src/dht/DhtNode.js
CHANGED
|
@@ -46,7 +46,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
46
46
|
super();
|
|
47
47
|
this.localDataStore = new LocalDataStore_1.LocalDataStore();
|
|
48
48
|
this.started = false;
|
|
49
|
-
this.
|
|
49
|
+
this.abortController = new AbortController();
|
|
50
50
|
this.config = (0, utils_1.merge)({
|
|
51
51
|
serviceId: 'layer0',
|
|
52
52
|
joinParallelism: 3,
|
|
@@ -66,7 +66,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
66
66
|
this.send = this.send.bind(this);
|
|
67
67
|
}
|
|
68
68
|
async start() {
|
|
69
|
-
if (this.started || this.
|
|
69
|
+
if (this.started || this.abortController.signal.aborted) {
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
logger.trace(`Starting new Streamr Network DHT Node with serviceId ${this.config.serviceId}`);
|
|
@@ -168,7 +168,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
168
168
|
localDataStore: this.localDataStore,
|
|
169
169
|
dhtNodeEmitter: this,
|
|
170
170
|
getNodesClosestToIdFromBucket: (id, n) => {
|
|
171
|
-
return this.peerManager.
|
|
171
|
+
return this.peerManager.getClosestNeighborsTo(id, n);
|
|
172
172
|
},
|
|
173
173
|
rpcRequestTimeout: this.config.rpcRequestTimeout
|
|
174
174
|
});
|
|
@@ -181,7 +181,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
181
181
|
initPeerManager() {
|
|
182
182
|
this.peerManager = new PeerManager_1.PeerManager({
|
|
183
183
|
numberOfNodesPerKBucket: this.config.numberOfNodesPerKBucket,
|
|
184
|
-
|
|
184
|
+
maxContactListSize: this.config.maxNeighborListSize,
|
|
185
185
|
ownPeerId: this.getNodeId(),
|
|
186
186
|
connectionManager: this.connectionManager,
|
|
187
187
|
peerDiscoveryQueryBatchSize: this.config.peerDiscoveryQueryBatchSize,
|
|
@@ -217,13 +217,16 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
217
217
|
});
|
|
218
218
|
}
|
|
219
219
|
bindRpcLocalMethods() {
|
|
220
|
-
if (!this.started || this.
|
|
220
|
+
if (!this.started || this.abortController.signal.aborted) {
|
|
221
221
|
return;
|
|
222
222
|
}
|
|
223
223
|
const dhtNodeRpcLocal = new DhtNodeRpcLocal_1.DhtNodeRpcLocal({
|
|
224
|
-
bucket: this.peerManager.bucket,
|
|
225
224
|
serviceId: this.config.serviceId,
|
|
226
225
|
peerDiscoveryQueryBatchSize: this.config.peerDiscoveryQueryBatchSize,
|
|
226
|
+
getClosestPeersTo: (kademliaId, limit) => {
|
|
227
|
+
return this.peerManager.getClosestNeighborsTo(kademliaId, limit)
|
|
228
|
+
.map((dhtPeer) => dhtPeer.getPeerDescriptor());
|
|
229
|
+
},
|
|
227
230
|
addNewContact: (contact) => this.peerManager.handleNewPeers([contact]),
|
|
228
231
|
removeContact: (contact) => this.removeContact(contact)
|
|
229
232
|
});
|
|
@@ -240,8 +243,8 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
240
243
|
this.rpcCommunicator.registerRpcMethod(DhtRpc_1.ExternalStoreDataRequest, DhtRpc_1.ExternalStoreDataResponse, 'externalStoreData', (req, context) => externalApiRpcLocal.externalStoreData(req, context), { timeout: 10000 });
|
|
241
244
|
}
|
|
242
245
|
isPeerCloserToIdThanSelf(peer1, compareToId) {
|
|
243
|
-
const distance1 =
|
|
244
|
-
const distance2 =
|
|
246
|
+
const distance1 = (0, PeerManager_1.getDistance)(peer1.nodeId, compareToId.value);
|
|
247
|
+
const distance2 = (0, PeerManager_1.getDistance)(this.localPeerDescriptor.nodeId, compareToId.value);
|
|
245
248
|
return distance1 < distance2;
|
|
246
249
|
}
|
|
247
250
|
handleMessage(message) {
|
|
@@ -265,14 +268,14 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
265
268
|
}
|
|
266
269
|
return this.localPeerDescriptor;
|
|
267
270
|
}
|
|
268
|
-
getClosestContacts(
|
|
269
|
-
return this.peerManager.
|
|
271
|
+
getClosestContacts(limit) {
|
|
272
|
+
return this.peerManager.getClosestContactsTo(this.localPeerDescriptor.nodeId, limit).map((peer) => peer.getPeerDescriptor());
|
|
270
273
|
}
|
|
271
274
|
getNodeId() {
|
|
272
275
|
return (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
273
276
|
}
|
|
274
|
-
|
|
275
|
-
return this.peerManager.
|
|
277
|
+
getNumberOfNeighbors() {
|
|
278
|
+
return this.peerManager.getNumberOfNeighbors();
|
|
276
279
|
}
|
|
277
280
|
connectToEntryPoint(entryPoint) {
|
|
278
281
|
this.connectionManager.lockConnection(entryPoint, 'temporary-layer0-connection');
|
|
@@ -287,7 +290,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
287
290
|
this.peerManager.handlePeerLeaving(contact);
|
|
288
291
|
}
|
|
289
292
|
async send(msg) {
|
|
290
|
-
if (!this.started || this.
|
|
293
|
+
if (!this.started || this.abortController.signal.aborted) {
|
|
291
294
|
return;
|
|
292
295
|
}
|
|
293
296
|
const reachableThrough = this.peerDiscovery.isJoinOngoing() ? this.config.entryPoints ?? [] : [];
|
|
@@ -297,7 +300,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
297
300
|
if (!this.started) {
|
|
298
301
|
throw new Error('Cannot join DHT before calling start() on DhtNode');
|
|
299
302
|
}
|
|
300
|
-
await
|
|
303
|
+
await this.peerDiscovery.joinDht(entryPointDescriptors, doAdditionalRandomPeerDiscovery, retry);
|
|
301
304
|
}
|
|
302
305
|
async startFind(key, action, excludedPeer) {
|
|
303
306
|
return this.finder.startFind(key, action, excludedPeer);
|
|
@@ -320,7 +323,7 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
320
323
|
return result.dataEntries ?? []; // TODO is this fallback needed?
|
|
321
324
|
}
|
|
322
325
|
async deleteDataFromDht(key, waitForCompletion) {
|
|
323
|
-
if (!this.
|
|
326
|
+
if (!this.abortController.signal.aborted) {
|
|
324
327
|
await this.finder.startFind(key, DhtRpc_1.FindAction.DELETE_DATA, undefined, waitForCompletion);
|
|
325
328
|
}
|
|
326
329
|
}
|
|
@@ -337,8 +340,9 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
337
340
|
getAllConnectionPeerDescriptors() {
|
|
338
341
|
return Array.from(this.peerManager.connections.values()).map((peer) => peer.getPeerDescriptor());
|
|
339
342
|
}
|
|
340
|
-
|
|
341
|
-
|
|
343
|
+
// TODO rename to getNeighbors
|
|
344
|
+
getAllNeighborPeerDescriptors() {
|
|
345
|
+
return this.peerManager.getNeighbors();
|
|
342
346
|
}
|
|
343
347
|
getNumberOfConnections() {
|
|
344
348
|
return this.peerManager.getNumberOfConnections();
|
|
@@ -353,17 +357,24 @@ class DhtNode extends eventemitter3_1.EventEmitter {
|
|
|
353
357
|
return this.connectionManager.getNumberOfWeakLockedConnections();
|
|
354
358
|
}
|
|
355
359
|
async waitForNetworkConnectivity() {
|
|
356
|
-
await (0, utils_1.waitForCondition)(() =>
|
|
360
|
+
await (0, utils_1.waitForCondition)(() => {
|
|
361
|
+
if (!this.peerManager) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
return (this.peerManager.getNumberOfConnections() > 0);
|
|
366
|
+
}
|
|
367
|
+
}, this.config.networkConnectivityTimeout, 100, this.abortController.signal);
|
|
357
368
|
}
|
|
358
369
|
hasJoined() {
|
|
359
370
|
return this.peerDiscovery.isJoinCalled();
|
|
360
371
|
}
|
|
361
372
|
async stop() {
|
|
362
|
-
if (this.
|
|
373
|
+
if (this.abortController.signal.aborted || !this.started) {
|
|
363
374
|
return;
|
|
364
375
|
}
|
|
365
376
|
logger.trace('stop()');
|
|
366
|
-
this.
|
|
377
|
+
this.abortController.abort();
|
|
367
378
|
await this.storeRpcLocal.destroy();
|
|
368
379
|
if (this.entryPointDisconnectTimeout) {
|
|
369
380
|
clearTimeout(this.entryPointDisconnectTimeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DhtNode.js","sourceRoot":"","sources":["../../../src/dht/DhtNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
|
|
2
|
-
import KBucket from 'k-bucket';
|
|
3
2
|
import { Empty } from '../proto/google/protobuf/empty';
|
|
4
3
|
import { ClosestPeersRequest, ClosestPeersResponse, LeaveNotice, PeerDescriptor, PingRequest, PingResponse } from '../proto/packages/dht/protos/DhtRpc';
|
|
5
4
|
import { IDhtNodeRpc } from '../proto/packages/dht/protos/DhtRpc.server';
|
|
6
|
-
import { DhtNodeRpcRemote } from './DhtNodeRpcRemote';
|
|
7
5
|
interface DhtNodeRpcLocalConfig {
|
|
8
|
-
bucket: KBucket<DhtNodeRpcRemote>;
|
|
9
6
|
serviceId: string;
|
|
10
7
|
peerDiscoveryQueryBatchSize: number;
|
|
8
|
+
getClosestPeersTo: (nodeId: Uint8Array, limit: number) => PeerDescriptor[];
|
|
11
9
|
addNewContact: (contact: PeerDescriptor) => void;
|
|
12
10
|
removeContact: (contact: PeerDescriptor) => void;
|
|
13
11
|
}
|
|
@@ -15,7 +13,6 @@ export declare class DhtNodeRpcLocal implements IDhtNodeRpc {
|
|
|
15
13
|
private readonly config;
|
|
16
14
|
constructor(config: DhtNodeRpcLocalConfig);
|
|
17
15
|
getClosestPeers(request: ClosestPeersRequest, context: ServerCallContext): Promise<ClosestPeersResponse>;
|
|
18
|
-
private getClosestPeerDescriptors;
|
|
19
16
|
ping(request: PingRequest, context: ServerCallContext): Promise<PingResponse>;
|
|
20
17
|
leaveNotice(_request: LeaveNotice, context: ServerCallContext): Promise<Empty>;
|
|
21
18
|
}
|
|
@@ -11,15 +11,11 @@ class DhtNodeRpcLocal {
|
|
|
11
11
|
async getClosestPeers(request, context) {
|
|
12
12
|
this.config.addNewContact(context.incomingSourceDescriptor);
|
|
13
13
|
const response = {
|
|
14
|
-
peers: this.
|
|
14
|
+
peers: this.config.getClosestPeersTo(request.nodeId, this.config.peerDiscoveryQueryBatchSize),
|
|
15
15
|
requestId: request.requestId
|
|
16
16
|
};
|
|
17
17
|
return response;
|
|
18
18
|
}
|
|
19
|
-
getClosestPeerDescriptors(nodeId, limit) {
|
|
20
|
-
const closestPeers = this.config.bucket.closest(nodeId, limit);
|
|
21
|
-
return closestPeers.map((rpcRemote) => rpcRemote.getPeerDescriptor());
|
|
22
|
-
}
|
|
23
19
|
async ping(request, context) {
|
|
24
20
|
logger.trace('received ping request: ' + (0, peerIdFromPeerDescriptor_1.getNodeIdFromPeerDescriptor)(context.incomingSourceDescriptor));
|
|
25
21
|
setImmediate(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DhtNodeRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/DhtNodeRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAAuC;
|
|
1
|
+
{"version":3,"file":"DhtNodeRpcLocal.js","sourceRoot":"","sources":["../../../src/dht/DhtNodeRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AACvC,kFAAiF;AAqBjF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,eAAe;IAIxB,YAAY,MAA6B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA4B,EAAE,OAA0B;QAC1E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QAChF,MAAM,QAAQ,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC;YAC7F,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB,EAAE,OAA0B;QACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAA,sDAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAC,CAAA;QAC5H,YAAY,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;QACF,MAAM,QAAQ,GAAiB;YAC3B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAA;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAqB,EAAE,OAA0B;QAC/D,yBAAyB;QACzB,MAAM,MAAM,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QACpE,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,IAAA,sDAA2B,EAAC,MAAM,CAAC,CAAC,CAAA;QAC7E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAnCD,0CAmCC"}
|