@streamr/dht 102.0.0-beta.0 → 102.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +15 -16
- package/dist/src/connection/ConnectionManager.js +18 -8
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/Handshaker.d.ts +1 -1
- package/dist/src/connection/Handshaker.js +9 -5
- package/dist/src/connection/Handshaker.js.map +1 -1
- package/dist/src/connection/ManagedConnection.js +17 -7
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/connectivityChecker.js +20 -10
- package/dist/src/connection/connectivityChecker.js.map +1 -1
- package/dist/src/connection/connectivityRequestHandler.js +3 -3
- package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
- package/dist/src/connection/simulator/Simulator.js +3 -2
- package/dist/src/connection/simulator/Simulator.js.map +1 -1
- package/dist/src/connection/simulator/pings.d.ts +1 -1
- package/dist/src/connection/simulator/pings.js +3 -3
- package/dist/src/connection/simulator/pings.js.map +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js +0 -2
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.js +19 -9
- package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js +1 -2
- package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
- package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +0 -2
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +0 -1
- package/dist/src/connection/websocket/WebsocketServerConnection.d.ts +0 -1
- package/dist/src/connection/websocket/WebsocketServerConnector.js +28 -18
- package/dist/src/connection/websocket/WebsocketServerConnector.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +1 -0
- package/dist/src/dht/DhtNode.js +3 -2
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.d.ts +1 -1
- package/dist/src/dht/PeerManager.d.ts +2 -1
- package/dist/src/dht/PeerManager.js +2 -1
- package/dist/src/dht/PeerManager.js.map +1 -1
- package/dist/src/dht/contact/SortedContactList.js +1 -1
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/discovery/DiscoverySession.d.ts +0 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +0 -1
- package/dist/src/dht/discovery/RingDiscoverySession.d.ts +0 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +2 -2
- package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
- package/dist/src/dht/routing/RoutingSession.js +2 -2
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/routing/RoutingTablesCache.d.ts +1 -1
- package/dist/src/dht/store/LocalDataStore.js +1 -1
- package/dist/src/dht/store/LocalDataStore.js.map +1 -1
- package/dist/src/dht/store/StoreManager.d.ts +1 -1
- package/dist/src/dht/store/StoreRpcLocal.d.ts +1 -1
- package/dist/src/helpers/AddressTools.js +2 -3
- package/dist/src/helpers/AddressTools.js.map +1 -1
- package/dist/src/helpers/debugHelpers.js +2 -2
- package/dist/src/helpers/debugHelpers.js.map +1 -1
- package/dist/src/helpers/protoClasses.d.ts +1 -1
- package/dist/src/helpers/protoClasses.js.map +1 -1
- package/dist/src/helpers/protoToString.js +1 -2
- package/dist/src/helpers/protoToString.js.map +1 -1
- package/dist/src/helpers/version.d.ts +1 -1
- package/dist/src/helpers/version.js +4 -4
- package/dist/src/helpers/version.js.map +1 -1
- package/eslint.config.mjs +12 -0
- package/jest.config.ts +12 -0
- package/package.json +15 -16
- package/protos/DhtRpc.proto +6 -4
- package/src/connection/ConnectionManager.ts +2 -2
- package/src/connection/Handshaker.ts +15 -11
- package/src/connection/connectivityChecker.ts +4 -4
- package/src/connection/connectivityRequestHandler.ts +3 -3
- package/src/connection/simulator/Simulator.ts +4 -3
- package/src/connection/simulator/pings.ts +1 -1
- package/src/connection/webrtc/NodeWebrtcConnection.ts +0 -2
- package/src/connection/webrtc/WebrtcConnector.ts +3 -3
- package/src/connection/websocket/WebsocketServerConnector.ts +17 -13
- package/src/dht/DhtNode.ts +8 -3
- package/src/dht/DhtNodeRpcLocal.ts +1 -1
- package/src/dht/PeerManager.ts +4 -2
- package/src/dht/contact/SortedContactList.ts +1 -1
- package/src/dht/recursive-operation/RecursiveOperationManager.ts +1 -1
- package/src/dht/routing/DuplicateDetector.ts +1 -1
- package/src/dht/routing/RoutingSession.ts +2 -2
- package/src/dht/routing/RoutingTablesCache.ts +1 -1
- package/src/dht/store/LocalDataStore.ts +1 -1
- package/src/dht/store/StoreManager.ts +1 -1
- package/src/dht/store/StoreRpcLocal.ts +1 -1
- package/src/helpers/protoClasses.ts +1 -1
- package/src/helpers/version.ts +2 -2
- package/test/benchmark/Find.test.ts +3 -3
- package/test/benchmark/KademliaCorrectness.test.ts +2 -2
- package/test/benchmark/RingCorrectness.test.ts +3 -3
- package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +2 -2
- package/test/end-to-end/WebsocketConnectionRequest.test.ts +2 -2
- package/test/end-to-end/memory-leak.test.ts +2 -2
- package/test/integration/ConnectionLocking.test.ts +32 -22
- package/test/integration/ConnectionManager.test.ts +3 -3
- package/test/integration/ConnectivityChecking.test.ts +1 -1
- package/test/integration/DhtNode.test.ts +2 -2
- package/test/integration/GeoIpConnectivityChecking.test.ts +6 -6
- package/test/integration/Layer1-scale.test.ts +1 -1
- package/test/integration/RouteMessage.test.ts +4 -4
- package/test/integration/SimultaneousConnections.test.ts +9 -9
- package/test/integration/StoreOnDhtWithThreeNodes.test.ts +1 -1
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +3 -3
- package/test/integration/StoreRpcRemote.test.ts +1 -1
- package/test/integration/WebrtcConnectionManagement.test.ts +0 -28
- package/test/integration/WebrtcConnectorRpc.test.ts +5 -5
- package/test/integration/WebsocketConnectionManagement.test.ts +3 -3
- package/test/integration/rpc-connections-over-webrtc.test.ts +8 -43
- package/test/unit/AutoCertifierClientFacade.test.ts +6 -6
- package/test/unit/Handshaker.test.ts +1 -1
- package/test/unit/ListeningRpcCommunicator.test.ts +3 -3
- package/test/unit/PeerManager.test.ts +2 -2
- package/test/unit/RecursiveOperationSession.test.ts +2 -2
- package/test/unit/RoutingSession.test.ts +7 -0
- package/test/unit/SortedContactList.test.ts +3 -3
- package/test/unit/StoreManager.test.ts +2 -2
- package/test/unit/connectivityRequestHandler.test.ts +5 -5
- package/test/unit/customMatchers.test.ts +18 -0
- package/test/unit/getClosestNodes.test.ts +1 -1
- package/test/unit/version.test.ts +9 -9
- package/test/utils/customMatchers.ts +6 -6
- package/test/utils/topology.ts +0 -1
- package/test/utils/utils.ts +2 -2
- package/.eslintignore +0 -5
- package/.eslintrc +0 -3
- package/dist/generated/google/protobuf/any.d.ts +0 -180
- package/dist/generated/google/protobuf/any.js +0 -155
- package/dist/generated/google/protobuf/any.js.map +0 -1
- package/dist/generated/google/protobuf/empty.d.ts +0 -31
- package/dist/generated/google/protobuf/empty.js +0 -32
- package/dist/generated/google/protobuf/empty.js.map +0 -1
- package/dist/generated/google/protobuf/timestamp.d.ts +0 -155
- package/dist/generated/google/protobuf/timestamp.js +0 -136
- package/dist/generated/google/protobuf/timestamp.js.map +0 -1
- package/dist/generated/packages/dht/protos/DhtRpc.client.d.ts +0 -361
- package/dist/generated/packages/dht/protos/DhtRpc.client.js +0 -285
- package/dist/generated/packages/dht/protos/DhtRpc.client.js.map +0 -1
- package/dist/generated/packages/dht/protos/DhtRpc.d.ts +0 -991
- package/dist/generated/packages/dht/protos/DhtRpc.js +0 -675
- package/dist/generated/packages/dht/protos/DhtRpc.js.map +0 -1
- package/dist/generated/packages/dht/protos/DhtRpc.server.d.ts +0 -162
- package/dist/generated/packages/dht/protos/DhtRpc.server.js +0 -3
- package/dist/generated/packages/dht/protos/DhtRpc.server.js.map +0 -1
- package/dist/generated/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -87
- package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js +0 -66
- package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
- package/generated/google/protobuf/any.ts +0 -326
- package/generated/google/protobuf/empty.ts +0 -81
- package/generated/google/protobuf/timestamp.ts +0 -287
- package/generated/packages/dht/protos/DhtRpc.client.ts +0 -419
- package/generated/packages/dht/protos/DhtRpc.server.ts +0 -165
- package/generated/packages/dht/protos/DhtRpc.ts +0 -1266
- package/generated/packages/proto-rpc/protos/ProtoRpc.ts +0 -108
- package/jest.config.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutingSession.js","sourceRoot":"","sources":["../../../../src/dht/routing/RoutingSession.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAgE;AAChE,0CAAuC;AACvC,kEAAwC;AACxC,+BAAyB;AAEzB,uDAAoE;AAEpE,wFAAmH;AACnH,gDAA4C;AAC5C,oGAAgG;AAChG,uDAAmD;AACnD,mDAA+F;AAC/F,mCAA6B;AAG7B,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,eAAe,GAAG,CAAC,CAAA;AACzB,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"RoutingSession.js","sourceRoot":"","sources":["../../../../src/dht/routing/RoutingSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DhtAddress } from '../../identifiers';
|
|
2
2
|
import { SortedContactList } from '../contact/SortedContactList';
|
|
3
3
|
import { RoutingRemoteContact } from './RoutingSession';
|
|
4
|
-
export type RoutingTable = Pick<SortedContactList<RoutingRemoteContact>, 'getClosestContacts' | 'addContacts' | 'addContact' | 'removeContact' | 'stop'>;
|
|
4
|
+
export type RoutingTable = Pick<SortedContactList<RoutingRemoteContact>, 'getClosestContacts' | 'addContacts' | 'addContact' | 'removeContact' | 'stop' | 'getSize'>;
|
|
5
5
|
/**
|
|
6
6
|
* RoutingTablesCache is a cache for routing tables.
|
|
7
7
|
* It is used to store the routing tables for a specific targetId and previousId.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDataStore.js","sourceRoot":"","sources":["../../../../src/dht/store/LocalDataStore.ts"],"names":[],"mappings":";;;AACA,mDAA4D;AAC5D,0CAA2C;AAE3C,MAAa,cAAc;IAEN,MAAM,CAAQ;IAE/B,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,8DAA8D;IAC9D,8DAA8D;IAC9D,wCAAwC;IAChC,KAAK,GAAuD,IAAI,GAAG,EAAE,CAAA;IAEtE,UAAU,CAAC,SAAoB;QAClC,MAAM,GAAG,GAAG,IAAA,0BAAY,EAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,aAAa,GAAG,IAAA,0BAAY,EAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,kBAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,SAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAU,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;YACnG,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,aAAa,CAAE,CAAA;YAC9D,MAAM,eAAe,GAAG,CAAC,aAAa,CAAC,SAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAU,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;YAC9G,iEAAiE;YACjE,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAA;YAChB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;QAClD,OAAO,IAAI,CAAA;IACf,CAAC;IAEM,aAAa,CAAC,GAAe,EAAE,OAAmB;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"LocalDataStore.js","sourceRoot":"","sources":["../../../../src/dht/store/LocalDataStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ interface StoreManagerOptions {
|
|
|
14
14
|
serviceId: ServiceID;
|
|
15
15
|
highestTtl: number;
|
|
16
16
|
redundancyFactor: number;
|
|
17
|
-
getNeighbors: () =>
|
|
17
|
+
getNeighbors: () => readonly PeerDescriptor[];
|
|
18
18
|
createRpcRemote: (contact: PeerDescriptor) => StoreRpcRemote;
|
|
19
19
|
}
|
|
20
20
|
export declare class StoreManager {
|
|
@@ -8,7 +8,7 @@ interface StoreRpcLocalOptions {
|
|
|
8
8
|
localDataStore: LocalDataStore;
|
|
9
9
|
localPeerDescriptor: PeerDescriptor;
|
|
10
10
|
replicateDataToContact: (dataEntry: DataEntry, contact: PeerDescriptor) => Promise<void>;
|
|
11
|
-
getStorers: (key: DhtAddress) =>
|
|
11
|
+
getStorers: (key: DhtAddress) => readonly PeerDescriptor[];
|
|
12
12
|
}
|
|
13
13
|
export declare class StoreRpcLocal implements IStoreRpc {
|
|
14
14
|
private readonly options;
|
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.isPrivateIPv4 = isPrivateIPv4;
|
|
7
|
+
exports.getAddressFromIceCandidate = getAddressFromIceCandidate;
|
|
7
8
|
const ipaddr_js_1 = __importDefault(require("ipaddr.js"));
|
|
8
9
|
// IPv4 private address ranges as specified by RFC 1918
|
|
9
10
|
// and private loopback addresses
|
|
@@ -24,10 +25,8 @@ function isPrivateIPv4(address) {
|
|
|
24
25
|
}
|
|
25
26
|
return false;
|
|
26
27
|
}
|
|
27
|
-
exports.isPrivateIPv4 = isPrivateIPv4;
|
|
28
28
|
function getAddressFromIceCandidate(candidate) {
|
|
29
29
|
const fields = candidate.split(' ').filter((field) => field.length > 0);
|
|
30
30
|
return fields.length >= 5 && ipaddr_js_1.default.isValid(fields[4]) ? fields[4] : undefined;
|
|
31
31
|
}
|
|
32
|
-
exports.getAddressFromIceCandidate = getAddressFromIceCandidate;
|
|
33
32
|
//# sourceMappingURL=AddressTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressTools.js","sourceRoot":"","sources":["../../../src/helpers/AddressTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AddressTools.js","sourceRoot":"","sources":["../../../src/helpers/AddressTools.ts"],"names":[],"mappings":";;;;;AAWA,sCAWC;AAED,gEAGC;AA3BD,0DAA8B;AAE9B,uDAAuD;AACvD,iCAAiC;AACjC,MAAM,iBAAiB,GAAG;IACtB,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,aAAa;CAChB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;AAEjC,SAAgB,aAAa,CAAC,OAAe;IACzC,IAAI,mBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,mBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACpC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAA;YACf,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC;AAED,SAAgB,0BAA0B,CAAC,SAAiB;IACxD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACvE,OAAO,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,mBAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAClF,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.debugVars = void 0;
|
|
4
|
+
exports.logInfoIf = logInfoIf;
|
|
4
5
|
exports.debugVars = [];
|
|
5
6
|
function logInfoIf(logger, condition, msg) {
|
|
6
7
|
if (condition) {
|
|
7
8
|
logger.info(msg);
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
|
-
exports.logInfoIf = logInfoIf;
|
|
11
11
|
//# sourceMappingURL=debugHelpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugHelpers.js","sourceRoot":"","sources":["../../../src/helpers/debugHelpers.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"debugHelpers.js","sourceRoot":"","sources":["../../../src/helpers/debugHelpers.ts"],"names":[],"mappings":";;;AAIA,8BAIC;AANY,QAAA,SAAS,GAAwB,EAAE,CAAA;AAEhD,SAAgB,SAAS,CAAC,MAAc,EAAE,SAAkB,EAAE,GAAW;IACrE,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC;AACL,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IMessageType } from '@protobuf-ts/runtime';
|
|
2
|
-
export declare const protoClasses:
|
|
2
|
+
export declare const protoClasses: IMessageType<any>[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,uEA2BmD;AAEtC,QAAA,YAAY,
|
|
1
|
+
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,uEA2BmD;AAEtC,QAAA,YAAY,GAAwB;IAC7C,4BAAmB;IACnB,6BAAoB;IACpB,kCAAyB;IACzB,mCAA0B;IAC1B,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.protoToString =
|
|
3
|
+
exports.protoToString = protoToString;
|
|
4
4
|
const protoClasses_1 = require("./protoClasses");
|
|
5
5
|
const proto_rpc_1 = require("@streamr/proto-rpc");
|
|
6
6
|
const typeRegistry = protoClasses_1.protoClasses.concat(proto_rpc_1.protoClasses);
|
|
@@ -16,5 +16,4 @@ function protoToString(protoObj, objectType) {
|
|
|
16
16
|
}
|
|
17
17
|
return ret;
|
|
18
18
|
}
|
|
19
|
-
exports.protoToString = protoToString;
|
|
20
19
|
//# sourceMappingURL=protoToString.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoToString.js","sourceRoot":"","sources":["../../../src/helpers/protoToString.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protoToString.js","sourceRoot":"","sources":["../../../src/helpers/protoToString.ts"],"names":[],"mappings":";;AAOA,sCAaC;AAlBD,iDAA6C;AAC7C,kDAAoE;AAEpE,MAAM,YAAY,GAAG,2BAAY,CAAC,MAAM,CAAC,wBAAe,CAAC,CAAA;AAEzD,SAAgB,aAAa,CAAsD,QAAW,EAC1F,UAAqB;IAErB,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC;QACD,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpC,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACV,GAAG,GAAG,6BAA6B,CAAA;IACvC,CAAC;IAED,OAAO,GAAG,CAAA;AACd,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const LOCAL_PROTOCOL_VERSION = "1.1";
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const isMaybeSupportedProtocolVersion: (remoteVersion: string) => boolean;
|
|
3
3
|
export declare const parseVersion: (version: string) => {
|
|
4
4
|
major: number;
|
|
5
5
|
minor: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseVersion = exports.
|
|
3
|
+
exports.parseVersion = exports.isMaybeSupportedProtocolVersion = exports.LOCAL_PROTOCOL_VERSION = void 0;
|
|
4
4
|
exports.LOCAL_PROTOCOL_VERSION = '1.1';
|
|
5
5
|
/*
|
|
6
6
|
* When two nodes negotiate whether they are compatible or not, it is up to the
|
|
@@ -8,9 +8,9 @@ exports.LOCAL_PROTOCOL_VERSION = '1.1';
|
|
|
8
8
|
*
|
|
9
9
|
* The older version assumes optimistically that it may be supported by the newer
|
|
10
10
|
* version. It can't know for sure, but the other node will tell if it is not
|
|
11
|
-
* supported (e.g. rejecting the handshake with
|
|
11
|
+
* supported (e.g. rejecting the handshake with UNSUPPORTED_PROTOCOL_VERSION error).
|
|
12
12
|
*/
|
|
13
|
-
const
|
|
13
|
+
const isMaybeSupportedProtocolVersion = (remoteVersion) => {
|
|
14
14
|
const localMajor = (0, exports.parseVersion)(exports.LOCAL_PROTOCOL_VERSION).major;
|
|
15
15
|
const remoteMajor = (0, exports.parseVersion)(remoteVersion)?.major;
|
|
16
16
|
if ((remoteMajor === undefined) || (remoteMajor < localMajor)) {
|
|
@@ -21,7 +21,7 @@ const isMaybeSupportedVersion = (remoteVersion) => {
|
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
-
exports.
|
|
24
|
+
exports.isMaybeSupportedProtocolVersion = isMaybeSupportedProtocolVersion;
|
|
25
25
|
const parseVersion = (version) => {
|
|
26
26
|
const parts = version.split('.');
|
|
27
27
|
if (parts.length === 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/helpers/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,KAAK,CAAA;AAE3C;;;;;;;GAOG;AACI,MAAM,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/helpers/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,KAAK,CAAA;AAE3C;;;;;;;GAOG;AACI,MAAM,+BAA+B,GAAG,CAAC,aAAqB,EAAW,EAAE;IAC9E,MAAM,UAAU,GAAG,IAAA,oBAAY,EAAC,8BAAsB,CAAE,CAAC,KAAK,CAAA;IAC9D,MAAM,WAAW,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IACtD,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAA;IAChB,CAAC;SAAM,CAAC;QACJ,sEAAsE;QACtE,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC,CAAA;AATY,QAAA,+BAA+B,mCAS3C;AAEM,MAAM,YAAY,GAAG,CAAC,OAAe,EAAgD,EAAE;IAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;QACjD,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CAAA;AAVY,QAAA,YAAY,gBAUxB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import baseConfig from '../../eslint.config.mjs'
|
|
2
|
+
|
|
3
|
+
export default [
|
|
4
|
+
{
|
|
5
|
+
// TODO remove when https://github.com/streamr-dev/network/pull/2848 merged to main
|
|
6
|
+
ignores: [
|
|
7
|
+
'src/connection/webrtc/BrowserWebrtcConnection.ts',
|
|
8
|
+
'src/connection/websocket/BrowserWebsocketClientConnection.ts'
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
...baseConfig
|
|
12
|
+
]
|
package/jest.config.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Config } from '@jest/types'
|
|
2
|
+
import defaultConfig from '../../jest.config'
|
|
3
|
+
|
|
4
|
+
const config: Config.InitialOptions = {
|
|
5
|
+
...defaultConfig,
|
|
6
|
+
setupFilesAfterEnv: [
|
|
7
|
+
...defaultConfig.setupFilesAfterEnv,
|
|
8
|
+
'./test/utils/customMatchers.ts',
|
|
9
|
+
],
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default config
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamr/dht",
|
|
3
|
-
"version": "102.0.0-beta.
|
|
3
|
+
"version": "102.0.0-beta.1",
|
|
4
4
|
"description": "Streamr Network DHT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
|
|
13
13
|
"author": "Streamr Network AG <contact@streamr.network>",
|
|
14
14
|
"scripts": {
|
|
15
|
-
"
|
|
15
|
+
"prebuild": "./proto.sh",
|
|
16
16
|
"build": "tsc -b tsconfig.node.json",
|
|
17
17
|
"build-browser": "webpack --mode=development --progress",
|
|
18
18
|
"check": "tsc -p ./tsconfig.jest.json",
|
|
@@ -29,38 +29,37 @@
|
|
|
29
29
|
"@js-sdsl/ordered-map": "^4.4.2",
|
|
30
30
|
"@protobuf-ts/runtime": "^2.8.2",
|
|
31
31
|
"@protobuf-ts/runtime-rpc": "^2.8.2",
|
|
32
|
-
"@streamr/autocertifier-client": "102.0.0-beta.
|
|
33
|
-
"@streamr/cdn-location": "102.0.0-beta.
|
|
34
|
-
"@streamr/geoip-location": "102.0.0-beta.
|
|
35
|
-
"@streamr/proto-rpc": "102.0.0-beta.
|
|
36
|
-
"@streamr/utils": "102.0.0-beta.
|
|
32
|
+
"@streamr/autocertifier-client": "102.0.0-beta.1",
|
|
33
|
+
"@streamr/cdn-location": "102.0.0-beta.1",
|
|
34
|
+
"@streamr/geoip-location": "102.0.0-beta.1",
|
|
35
|
+
"@streamr/proto-rpc": "102.0.0-beta.1",
|
|
36
|
+
"@streamr/utils": "102.0.0-beta.1",
|
|
37
37
|
"eventemitter3": "^5.0.0",
|
|
38
38
|
"heap": "^0.2.6",
|
|
39
39
|
"ipaddr.js": "^2.0.1",
|
|
40
40
|
"k-bucket": "^5.1.0",
|
|
41
41
|
"lodash": "^4.17.21",
|
|
42
|
-
"lru-cache": "11.0.
|
|
42
|
+
"lru-cache": "^11.0.2",
|
|
43
43
|
"node-datachannel": "^0.10.1",
|
|
44
44
|
"querystring": "0.2.1",
|
|
45
|
-
"uuid": "^
|
|
45
|
+
"uuid": "^11.0.5",
|
|
46
46
|
"websocket": "^1.0.34",
|
|
47
47
|
"ws": "^8.18.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@streamr/browser-test-runner": "^0.0.1",
|
|
51
|
-
"@streamr/test-utils": "102.0.0-beta.
|
|
51
|
+
"@streamr/test-utils": "102.0.0-beta.1",
|
|
52
52
|
"@types/heap": "^0.2.34",
|
|
53
53
|
"@types/k-bucket": "^5.0.1",
|
|
54
|
-
"@types/lodash": "^4.17.
|
|
55
|
-
"@types/uuid": "^10.0.0",
|
|
54
|
+
"@types/lodash": "^4.17.14",
|
|
56
55
|
"@types/websocket": "^1.0.10",
|
|
57
|
-
"@types/ws": "^8.5.
|
|
56
|
+
"@types/ws": "^8.5.13",
|
|
58
57
|
"jest-leak-detector": "^27.3.1",
|
|
59
58
|
"jest-matcher-utils": "^29.7.0",
|
|
60
|
-
"ts-essentials": "^10.0.
|
|
59
|
+
"ts-essentials": "^10.0.4"
|
|
61
60
|
},
|
|
62
61
|
"optionalDependencies": {
|
|
63
|
-
"bufferutil": "^4.0.
|
|
64
|
-
"utf-8-validate": "^6.0.
|
|
62
|
+
"bufferutil": "^4.0.9",
|
|
63
|
+
"utf-8-validate": "^6.0.5"
|
|
65
64
|
}
|
|
66
65
|
}
|
package/protos/DhtRpc.proto
CHANGED
|
@@ -215,7 +215,7 @@ message ConnectivityResponse {
|
|
|
215
215
|
string natType = 2;
|
|
216
216
|
ConnectivityMethod websocket = 3;
|
|
217
217
|
uint32 ipAddress = 4;
|
|
218
|
-
string
|
|
218
|
+
string protocolVersion = 5;
|
|
219
219
|
optional double latitude = 6;
|
|
220
220
|
optional double longitude = 7;
|
|
221
221
|
}
|
|
@@ -223,19 +223,21 @@ message ConnectivityResponse {
|
|
|
223
223
|
message HandshakeRequest {
|
|
224
224
|
PeerDescriptor sourcePeerDescriptor = 1;
|
|
225
225
|
optional PeerDescriptor targetPeerDescriptor = 2;
|
|
226
|
-
string
|
|
226
|
+
string protocolVersion = 3;
|
|
227
|
+
string applicationVersion = 4;
|
|
227
228
|
}
|
|
228
229
|
|
|
229
230
|
message HandshakeResponse {
|
|
230
231
|
PeerDescriptor sourcePeerDescriptor = 1;
|
|
231
232
|
optional HandshakeError error = 2;
|
|
232
|
-
string
|
|
233
|
+
string protocolVersion = 3;
|
|
234
|
+
string applicationVersion = 4;
|
|
233
235
|
}
|
|
234
236
|
|
|
235
237
|
enum HandshakeError {
|
|
236
238
|
DUPLICATE_CONNECTION = 0;
|
|
237
239
|
INVALID_TARGET_PEER_DESCRIPTOR = 1;
|
|
238
|
-
|
|
240
|
+
UNSUPPORTED_PROTOCOL_VERSION = 2;
|
|
239
241
|
}
|
|
240
242
|
|
|
241
243
|
// Wraps all messages
|
|
@@ -308,7 +308,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
308
308
|
this.metrics.sendMessagesPerSecond.record(1)
|
|
309
309
|
|
|
310
310
|
if (this.endpoints.get(nodeId)!.connected) {
|
|
311
|
-
|
|
311
|
+
(connection as ManagedConnection).send(binary)
|
|
312
312
|
} else {
|
|
313
313
|
return (this.endpoints.get(nodeId)! as ConnectingEndpoint).buffer.push(binary)
|
|
314
314
|
}
|
|
@@ -652,7 +652,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
652
652
|
public getDiagnosticInfo(): Record<string, unknown> {
|
|
653
653
|
const managedConnections: ManagedConnection[] = Array.from(this.endpoints.values())
|
|
654
654
|
.filter((endpoint) => endpoint.connected)
|
|
655
|
-
.map((endpoint) => endpoint.connection
|
|
655
|
+
.map((endpoint) => endpoint.connection)
|
|
656
656
|
return {
|
|
657
657
|
connections: managedConnections.map((connection) => connection.getDiagnosticInfo()),
|
|
658
658
|
connectionCount: this.endpoints.size
|
|
@@ -3,14 +3,15 @@ import { EventEmitter } from 'eventemitter3'
|
|
|
3
3
|
import { v4 } from 'uuid'
|
|
4
4
|
import { Message, HandshakeRequest, HandshakeResponse, PeerDescriptor, HandshakeError } from '../../generated/packages/dht/protos/DhtRpc'
|
|
5
5
|
import { IConnection } from './IConnection'
|
|
6
|
-
import { LOCAL_PROTOCOL_VERSION,
|
|
6
|
+
import { LOCAL_PROTOCOL_VERSION, isMaybeSupportedProtocolVersion } from '../helpers/version'
|
|
7
7
|
import { toNodeId } from '../identifiers'
|
|
8
8
|
import { PendingConnection } from './PendingConnection'
|
|
9
|
+
import { version as applicationVersion } from '../../package.json'
|
|
9
10
|
|
|
10
11
|
const logger = new Logger(module)
|
|
11
12
|
|
|
12
13
|
interface HandshakerEvents {
|
|
13
|
-
handshakeRequest: (source: PeerDescriptor,
|
|
14
|
+
handshakeRequest: (source: PeerDescriptor, protocolVersion: string, target?: PeerDescriptor) => void
|
|
14
15
|
handshakeCompleted: (remote: PeerDescriptor) => void
|
|
15
16
|
handshakeFailed: (error?: HandshakeError) => void
|
|
16
17
|
}
|
|
@@ -35,7 +36,7 @@ export const createOutgoingHandshaker = (
|
|
|
35
36
|
pendingConnection.off('disconnected', managedConnectionDisconnectedListener)
|
|
36
37
|
}
|
|
37
38
|
const handshakeFailedListener = (error?: HandshakeError) => {
|
|
38
|
-
if (error === HandshakeError.INVALID_TARGET_PEER_DESCRIPTOR || error === HandshakeError.
|
|
39
|
+
if (error === HandshakeError.INVALID_TARGET_PEER_DESCRIPTOR || error === HandshakeError.UNSUPPORTED_PROTOCOL_VERSION) {
|
|
39
40
|
pendingConnection.close(false)
|
|
40
41
|
stopHandshaker()
|
|
41
42
|
} else {
|
|
@@ -48,7 +49,7 @@ export const createOutgoingHandshaker = (
|
|
|
48
49
|
stopHandshaker()
|
|
49
50
|
}
|
|
50
51
|
const connectedListener = () => handshaker.sendHandshakeRequest(targetPeerDescriptor)
|
|
51
|
-
const disconnectedListener = (graceful: boolean) => {
|
|
52
|
+
const disconnectedListener = (graceful: boolean) => {
|
|
52
53
|
pendingConnection.close(graceful)
|
|
53
54
|
stopHandshaker()
|
|
54
55
|
}
|
|
@@ -112,7 +113,8 @@ export const createHandshakeRequest = (localPeerDescriptor: PeerDescriptor, remo
|
|
|
112
113
|
const outgoingHandshake: HandshakeRequest = {
|
|
113
114
|
sourcePeerDescriptor: localPeerDescriptor,
|
|
114
115
|
targetPeerDescriptor: remotePeerDescriptor,
|
|
115
|
-
|
|
116
|
+
protocolVersion: LOCAL_PROTOCOL_VERSION,
|
|
117
|
+
applicationVersion
|
|
116
118
|
}
|
|
117
119
|
return {
|
|
118
120
|
serviceId: Handshaker.HANDSHAKER_SERVICE_ID,
|
|
@@ -122,13 +124,14 @@ export const createHandshakeRequest = (localPeerDescriptor: PeerDescriptor, remo
|
|
|
122
124
|
handshakeRequest: outgoingHandshake
|
|
123
125
|
}
|
|
124
126
|
}
|
|
125
|
-
}
|
|
127
|
+
}
|
|
126
128
|
|
|
127
129
|
export const createHandshakeResponse = (localPeerDescriptor: PeerDescriptor, error?: HandshakeError): Message => {
|
|
128
130
|
const outgoingHandshakeResponse: HandshakeResponse = {
|
|
129
131
|
sourcePeerDescriptor: localPeerDescriptor,
|
|
130
132
|
error,
|
|
131
|
-
|
|
133
|
+
protocolVersion: LOCAL_PROTOCOL_VERSION,
|
|
134
|
+
applicationVersion
|
|
132
135
|
}
|
|
133
136
|
return {
|
|
134
137
|
serviceId: Handshaker.HANDSHAKER_SERVICE_ID,
|
|
@@ -165,15 +168,16 @@ export class Handshaker extends EventEmitter<HandshakerEvents> {
|
|
|
165
168
|
const handshake = message.body.handshakeRequest
|
|
166
169
|
this.emit(
|
|
167
170
|
'handshakeRequest',
|
|
168
|
-
handshake.sourcePeerDescriptor!,
|
|
169
|
-
handshake.
|
|
171
|
+
handshake.sourcePeerDescriptor!,
|
|
172
|
+
handshake.protocolVersion,
|
|
170
173
|
handshake.targetPeerDescriptor
|
|
171
174
|
)
|
|
172
175
|
}
|
|
173
176
|
if (message.body.oneofKind === 'handshakeResponse') {
|
|
174
177
|
logger.trace('handshake response received')
|
|
175
178
|
const handshake = message.body.handshakeResponse
|
|
176
|
-
const error = !
|
|
179
|
+
const error = !isMaybeSupportedProtocolVersion(handshake.protocolVersion)
|
|
180
|
+
? HandshakeError.UNSUPPORTED_PROTOCOL_VERSION : handshake.error
|
|
177
181
|
if (error !== undefined) {
|
|
178
182
|
this.emit('handshakeFailed', error)
|
|
179
183
|
} else {
|
|
@@ -183,7 +187,7 @@ export class Handshaker extends EventEmitter<HandshakerEvents> {
|
|
|
183
187
|
} catch (err) {
|
|
184
188
|
logger.debug('error while parsing handshake message', err)
|
|
185
189
|
}
|
|
186
|
-
|
|
190
|
+
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
public sendHandshakeRequest(remotePeerDescriptor?: PeerDescriptor): void {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { ConnectionEvents, IConnection } from './IConnection'
|
|
9
9
|
import { WebsocketClientConnection } from './websocket/NodeWebsocketClientConnection'
|
|
10
10
|
import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketClientConnector'
|
|
11
|
-
import {
|
|
11
|
+
import { isMaybeSupportedProtocolVersion } from '../helpers/version'
|
|
12
12
|
|
|
13
13
|
const logger = new Logger(module)
|
|
14
14
|
|
|
@@ -79,14 +79,14 @@ export const sendConnectivityRequest = async (
|
|
|
79
79
|
if (message.body.oneofKind === 'connectivityResponse') {
|
|
80
80
|
logger.debug('ConnectivityResponse received: ' + JSON.stringify(Message.toJson(message)))
|
|
81
81
|
const connectivityResponseMessage = message.body.connectivityResponse
|
|
82
|
-
const
|
|
82
|
+
const remoteProtocolVersion = connectivityResponseMessage.protocolVersion
|
|
83
83
|
outgoingConnection!.off('data', listener)
|
|
84
84
|
clearTimeout(timeoutId)
|
|
85
|
-
if (
|
|
85
|
+
if (isMaybeSupportedProtocolVersion(remoteProtocolVersion)) {
|
|
86
86
|
resolve(connectivityResponseMessage)
|
|
87
87
|
} else {
|
|
88
88
|
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
89
|
-
reject(`Unsupported version: ${
|
|
89
|
+
reject(`Unsupported version: ${remoteProtocolVersion}`)
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
} catch (err) {
|
|
@@ -54,7 +54,7 @@ const handleIncomingConnectivityRequest = async (
|
|
|
54
54
|
host,
|
|
55
55
|
natType: NatType.UNKNOWN,
|
|
56
56
|
ipAddress: ipv4ToNumber(ipAddress),
|
|
57
|
-
|
|
57
|
+
protocolVersion: LOCAL_PROTOCOL_VERSION
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
if (geoIpLocator !== undefined) {
|
|
@@ -97,7 +97,7 @@ const connectivityProbe = async (connectivityRequest: ConnectivityRequest, ipAdd
|
|
|
97
97
|
natType: NatType.OPEN_INTERNET,
|
|
98
98
|
websocket: { host, port: connectivityRequest.port, tls: connectivityRequest.tls },
|
|
99
99
|
ipAddress: ipv4ToNumber(ipAddress),
|
|
100
|
-
|
|
100
|
+
protocolVersion: LOCAL_PROTOCOL_VERSION
|
|
101
101
|
}
|
|
102
102
|
} catch (err) {
|
|
103
103
|
logger.debug('error', { err })
|
|
@@ -105,7 +105,7 @@ const connectivityProbe = async (connectivityRequest: ConnectivityRequest, ipAdd
|
|
|
105
105
|
host,
|
|
106
106
|
natType: NatType.UNKNOWN,
|
|
107
107
|
ipAddress: ipv4ToNumber(ipAddress),
|
|
108
|
-
|
|
108
|
+
protocolVersion: LOCAL_PROTOCOL_VERSION
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
if (outgoingConnection) {
|
|
@@ -90,7 +90,7 @@ class CloseOperation extends SimulatorOperation {
|
|
|
90
90
|
export class Simulator {
|
|
91
91
|
private stopped = false
|
|
92
92
|
private connectors: Map<DhtAddress, SimulatorConnector> = new Map()
|
|
93
|
-
private latencyTable?:
|
|
93
|
+
private latencyTable?: number[][]
|
|
94
94
|
private associations: Map<ConnectionID, Association> = new Map()
|
|
95
95
|
|
|
96
96
|
private latencyType: LatencyType
|
|
@@ -191,7 +191,8 @@ export class Simulator {
|
|
|
191
191
|
|
|
192
192
|
if (!target) {
|
|
193
193
|
logger.error('Target connector not found when executing connect operation')
|
|
194
|
-
|
|
194
|
+
operation.association.connectedCallback!('Target connector not found')
|
|
195
|
+
return
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
target.handleIncomingConnection(operation.sourceConnection)
|
|
@@ -293,7 +294,7 @@ export class Simulator {
|
|
|
293
294
|
logger.error('connect() called on a stopped simulator ' + (new Error().stack))
|
|
294
295
|
return
|
|
295
296
|
}
|
|
296
|
-
debugVars
|
|
297
|
+
debugVars.simulatorHeapSize = this.operationQueue.size()
|
|
297
298
|
|
|
298
299
|
const association = new Association(sourceConnection, undefined, connectedCallback)
|
|
299
300
|
this.associations.set(sourceConnection.connectionId, association)
|
|
@@ -25,7 +25,7 @@ export const regionPingMatrix = [
|
|
|
25
25
|
[205.555, 178.082, 186.533, 195.774, 216.701, 117.089, 128.001, 175.761, 176.018, 125.551, 303.904, 285.782, 323.15, 309.618, 255.904, 0.262]
|
|
26
26
|
]
|
|
27
27
|
|
|
28
|
-
export function getRegionDelayMatrix():
|
|
28
|
+
export function getRegionDelayMatrix(): number[][] {
|
|
29
29
|
const ret = []
|
|
30
30
|
for (let i = 0; i < regionPingMatrix.length; i++) {
|
|
31
31
|
const row = []
|
|
@@ -2,8 +2,6 @@ import { IWebrtcConnection, WebrtcConnectionEvents } from './IWebrtcConnection'
|
|
|
2
2
|
import { ConnectionType, IConnection, ConnectionID, ConnectionEvents } from '../IConnection'
|
|
3
3
|
import { PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
|
|
4
4
|
import EventEmitter from 'eventemitter3'
|
|
5
|
-
// TODO: why does eslint import rule plugin not work?
|
|
6
|
-
// eslint-disable-next-line import/no-unresolved
|
|
7
5
|
import { DataChannel, DescriptionType, PeerConnection, initLogger } from 'node-datachannel'
|
|
8
6
|
import { Logger } from '@streamr/utils'
|
|
9
7
|
import { IllegalRtcPeerConnectionState } from '../../helpers/errors'
|
|
@@ -18,7 +18,7 @@ import { WebrtcConnectorRpcLocal } from './WebrtcConnectorRpcLocal'
|
|
|
18
18
|
import { DhtAddress, areEqualPeerDescriptors, toNodeId } from '../../identifiers'
|
|
19
19
|
import { getOfferer } from '../../helpers/offering'
|
|
20
20
|
import { acceptHandshake, createIncomingHandshaker, createOutgoingHandshaker, rejectHandshake } from '../Handshaker'
|
|
21
|
-
import {
|
|
21
|
+
import { isMaybeSupportedProtocolVersion } from '../../helpers/version'
|
|
22
22
|
import { PendingConnection } from '../PendingConnection'
|
|
23
23
|
|
|
24
24
|
const logger = new Logger(module)
|
|
@@ -169,8 +169,8 @@ export class WebrtcConnector {
|
|
|
169
169
|
remoteConnector.sendRtcAnswer(description, connection.connectionId)
|
|
170
170
|
})
|
|
171
171
|
handshaker.on('handshakeRequest', (_sourceDescriptor: PeerDescriptor, remoteVersion: string) => {
|
|
172
|
-
if (!
|
|
173
|
-
rejectHandshake(pendingConnection!, connection, handshaker, HandshakeError.
|
|
172
|
+
if (!isMaybeSupportedProtocolVersion(remoteVersion)) {
|
|
173
|
+
rejectHandshake(pendingConnection!, connection, handshaker, HandshakeError.UNSUPPORTED_PROTOCOL_VERSION)
|
|
174
174
|
} else {
|
|
175
175
|
acceptHandshake(handshaker, pendingConnection, connection)
|
|
176
176
|
}
|