@streamr/trackerless-network 100.2.5-beta.0 → 101.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +6 -6
- package/dist/src/NetworkNode.js +1 -1
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/NetworkStack.d.ts +5 -5
- package/dist/src/NetworkStack.js +21 -21
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +2 -2
- package/dist/src/exports.js +2 -2
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/ContentDeliveryLayerNode.d.ts +5 -5
- package/dist/src/logic/ContentDeliveryLayerNode.js +85 -85
- package/dist/src/logic/ContentDeliveryLayerNode.js.map +1 -1
- package/dist/src/logic/ContentDeliveryManager.d.ts +11 -12
- package/dist/src/logic/ContentDeliveryManager.js +65 -61
- package/dist/src/logic/ContentDeliveryManager.js.map +1 -1
- package/dist/src/logic/ContentDeliveryRpcLocal.d.ts +5 -5
- package/dist/src/logic/ContentDeliveryRpcLocal.js +9 -9
- package/dist/src/logic/ContentDeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/{Layer0Node.d.ts → ControlLayerNode.d.ts} +1 -1
- package/dist/src/logic/{Layer0Node.js → ControlLayerNode.js} +1 -1
- package/dist/src/logic/ControlLayerNode.js.map +1 -0
- package/dist/src/logic/{Layer1Node.d.ts → DiscoveryLayerNode.d.ts} +8 -8
- package/dist/src/logic/{Layer1Node.js → DiscoveryLayerNode.js} +1 -1
- package/dist/src/logic/DiscoveryLayerNode.js.map +1 -0
- package/dist/src/logic/PeerDescriptorStoreManager.d.ts +28 -0
- package/dist/src/logic/PeerDescriptorStoreManager.js +79 -0
- package/dist/src/logic/PeerDescriptorStoreManager.js.map +1 -0
- package/dist/src/logic/StreamPartNetworkSplitAvoidance.d.ts +5 -5
- package/dist/src/logic/StreamPartNetworkSplitAvoidance.js +8 -8
- package/dist/src/logic/StreamPartNetworkSplitAvoidance.js.map +1 -1
- package/dist/src/logic/StreamPartReconnect.d.ts +5 -5
- package/dist/src/logic/StreamPartReconnect.js +10 -10
- package/dist/src/logic/StreamPartReconnect.js.map +1 -1
- package/dist/src/logic/createContentDeliveryLayerNode.d.ts +3 -3
- package/dist/src/logic/createContentDeliveryLayerNode.js +34 -34
- package/dist/src/logic/createContentDeliveryLayerNode.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.d.ts +3 -3
- package/dist/src/logic/inspect/InspectSession.js +5 -5
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +2 -2
- package/dist/src/logic/inspect/Inspector.js +8 -8
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +4 -4
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +24 -24
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +4 -4
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/Handshaker.js +37 -37
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js +9 -9
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +12 -12
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +3 -3
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +14 -14
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyClient.d.ts +3 -3
- package/dist/src/logic/proxy/ProxyClient.js +25 -25
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +3 -3
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +10 -10
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +3 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +11 -11
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +4 -4
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +8 -8
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +11 -3
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +7 -5
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -2
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +6 -23
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +5 -23
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/test/benchmark/first-message.js +7 -7
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.d.ts +2 -2
- package/dist/test/utils/utils.js +3 -3
- package/dist/test/utils/utils.js.map +1 -1
- package/package.json +6 -6
- package/protos/NetworkRpc.proto +3 -9
- package/src/NetworkNode.ts +1 -1
- package/src/NetworkStack.ts +24 -24
- package/src/exports.ts +2 -2
- package/src/logic/ContentDeliveryLayerNode.ts +112 -112
- package/src/logic/ContentDeliveryManager.ts +71 -67
- package/src/logic/ContentDeliveryRpcLocal.ts +12 -12
- package/src/logic/{Layer0Node.ts → ControlLayerNode.ts} +1 -1
- package/src/logic/{Layer1Node.ts → DiscoveryLayerNode.ts} +8 -8
- package/src/logic/PeerDescriptorStoreManager.ts +97 -0
- package/src/logic/StreamPartNetworkSplitAvoidance.ts +11 -11
- package/src/logic/StreamPartReconnect.ts +12 -12
- package/src/logic/createContentDeliveryLayerNode.ts +38 -38
- package/src/logic/inspect/InspectSession.ts +6 -6
- package/src/logic/inspect/Inspector.ts +9 -9
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +26 -26
- package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +6 -6
- package/src/logic/neighbor-discovery/Handshaker.ts +45 -45
- package/src/logic/neighbor-discovery/NeighborFinder.ts +10 -10
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +14 -14
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +17 -17
- package/src/logic/proxy/ProxyClient.ts +26 -26
- package/src/logic/proxy/ProxyConnectionRpcLocal.ts +12 -12
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +13 -13
- package/src/proto/google/protobuf/any.ts +1 -1
- package/src/proto/google/protobuf/empty.ts +1 -1
- package/src/proto/google/protobuf/timestamp.ts +1 -1
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +9 -9
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -3
- package/src/proto/packages/dht/protos/DhtRpc.ts +15 -5
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +10 -27
- package/test/benchmark/StreamPartIdDataKeyDistribution.test.ts +1 -1
- package/test/benchmark/first-message.ts +9 -9
- package/test/end-to-end/content-delivery-layer-node-with-real-connections.test.ts +12 -12
- package/test/end-to-end/proxy-and-full-node.test.ts +4 -4
- package/test/integration/ContentDeliveryLayerNode-Layer1Node-Latencies.test.ts +19 -19
- package/test/integration/ContentDeliveryLayerNode-Layer1Node.test.ts +19 -19
- package/test/integration/ContentDeliveryManager.test.ts +11 -11
- package/test/integration/Inspect.test.ts +1 -1
- package/test/integration/Propagation.test.ts +6 -6
- package/test/integration/joining-streams-on-offline-peers.test.ts +3 -3
- package/test/integration/stream-without-default-entrypoints.test.ts +2 -2
- package/test/integration/streamEntryPointReplacing.test.ts +2 -2
- package/test/unit/ContentDeliveryLayerNode.test.ts +11 -11
- package/test/unit/ContentDeliveryManager.test.ts +2 -2
- package/test/unit/{EntrypointDiscovery.test.ts → PeerDescriptorStoreManager.test.ts} +28 -29
- package/test/unit/StreamPartIDDataKey.test.ts +1 -1
- package/test/unit/StreamPartNetworkSplitAvoidance.test.ts +8 -8
- package/test/unit/StreamPartReconnect.test.ts +9 -9
- package/test/utils/fake/FakePeerDescriptorStoreManager.ts +29 -0
- package/test/utils/mock/{MockLayer0Node.ts → MockControlLayerNode.ts} +2 -2
- package/test/utils/mock/{MockLayer1Node.ts → MockDiscoveryLayerNode.ts} +2 -2
- package/test/utils/utils.ts +5 -5
- package/dist/src/logic/EntryPointDiscovery.d.ts +0 -27
- package/dist/src/logic/EntryPointDiscovery.js +0 -80
- package/dist/src/logic/EntryPointDiscovery.js.map +0 -1
- package/dist/src/logic/Layer0Node.js.map +0 -1
- package/dist/src/logic/Layer1Node.js.map +0 -1
- package/src/logic/EntryPointDiscovery.ts +0 -100
- package/test/utils/fake/FakeEntryPointDiscovery.ts +0 -29
|
@@ -5,44 +5,44 @@ const dht_1 = require("@streamr/dht");
|
|
|
5
5
|
const NetworkRpc_client_1 = require("../../proto/packages/trackerless-network/protos/NetworkRpc.client");
|
|
6
6
|
const ContentDeliveryRpcRemote_1 = require("../ContentDeliveryRpcRemote");
|
|
7
7
|
class NeighborUpdateRpcLocal {
|
|
8
|
-
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
8
|
+
options;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.options = options;
|
|
11
11
|
}
|
|
12
12
|
updateContacts(neighborDescriptors) {
|
|
13
|
-
const ownNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(this.
|
|
13
|
+
const ownNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(this.options.localPeerDescriptor);
|
|
14
14
|
const newPeerDescriptors = neighborDescriptors.filter((peerDescriptor) => {
|
|
15
15
|
const nodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(peerDescriptor);
|
|
16
|
-
return nodeId !== ownNodeId && !this.
|
|
16
|
+
return nodeId !== ownNodeId && !this.options.neighbors.getIds().includes(nodeId);
|
|
17
17
|
});
|
|
18
|
-
newPeerDescriptors.forEach((peerDescriptor) => this.
|
|
18
|
+
newPeerDescriptors.forEach((peerDescriptor) => this.options.nearbyNodeView.add(new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.options.localPeerDescriptor, peerDescriptor, this.options.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient)));
|
|
19
19
|
}
|
|
20
20
|
createResponse(removeMe) {
|
|
21
21
|
return {
|
|
22
|
-
streamPartId: this.
|
|
23
|
-
neighborDescriptors: this.
|
|
22
|
+
streamPartId: this.options.streamPartId,
|
|
23
|
+
neighborDescriptors: this.options.neighbors.getAll().map((neighbor) => neighbor.getPeerDescriptor()),
|
|
24
24
|
removeMe
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
// INeighborUpdateRpc server method
|
|
28
28
|
async neighborUpdate(message, context) {
|
|
29
29
|
const senderPeerDescriptor = context.incomingSourceDescriptor;
|
|
30
|
-
const
|
|
30
|
+
const remoteNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor);
|
|
31
31
|
this.updateContacts(message.neighborDescriptors);
|
|
32
|
-
if (!this.
|
|
32
|
+
if (!this.options.neighbors.has(remoteNodeId) && !this.options.ongoingHandshakes.has(remoteNodeId)) {
|
|
33
33
|
return this.createResponse(true);
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
const isOverNeighborCount = this.
|
|
36
|
+
const isOverNeighborCount = this.options.neighbors.size() > this.options.neighborTargetCount
|
|
37
37
|
// Motivation: We don't know the remote's neighborTargetCount setting here. We only ask to cut connections
|
|
38
38
|
// if the remote has a "sufficient" number of neighbors, where "sufficient" means our neighborTargetCount
|
|
39
39
|
// setting.
|
|
40
|
-
&& message.neighborDescriptors.length > this.
|
|
40
|
+
&& message.neighborDescriptors.length > this.options.neighborTargetCount;
|
|
41
41
|
if (!isOverNeighborCount) {
|
|
42
|
-
this.
|
|
42
|
+
this.options.neighborFinder.start();
|
|
43
43
|
}
|
|
44
44
|
else {
|
|
45
|
-
this.
|
|
45
|
+
this.options.neighbors.remove(remoteNodeId);
|
|
46
46
|
}
|
|
47
47
|
return this.createResponse(isOverNeighborCount);
|
|
48
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeighborUpdateRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts"],"names":[],"mappings":";;;AACA,sCAAgI;AAEhI,yGAA4G;AAG5G,0EAAsE;AAetE,MAAa,sBAAsB;IAEd,
|
|
1
|
+
{"version":3,"file":"NeighborUpdateRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts"],"names":[],"mappings":";;;AACA,sCAAgI;AAEhI,yGAA4G;AAG5G,0EAAsE;AAetE,MAAa,sBAAsB;IAEd,OAAO,CAA+B;IAEvD,YAAY,OAAsC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEO,cAAc,CAAC,mBAAqC;QACxD,MAAM,SAAS,GAAG,IAAA,iCAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAC/E,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,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACpF,CAAC,CAAC,CAAA;QACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAC1E,IAAI,mDAAwB,CACxB,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAChC,cAAc,EACd,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,4CAAwB,CAC3B,CAAC,CACL,CAAA;IACL,CAAC;IAEO,cAAc,CAAC,QAAiB;QACpC,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY;YACvC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACpG,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,YAAY,GAAG,IAAA,iCAA2B,EAAC,oBAAoB,CAAC,CAAA;QACtE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjG,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACJ,MAAM,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB;gBACxF,0GAA0G;gBAC1G,yGAAyG;gBACzG,WAAW;mBACR,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAA;YAC5E,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;YAC/C,CAAC;YACD,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;CACJ;AArDD,wDAqDC"}
|
|
@@ -5,7 +5,7 @@ import { EthereumAddress } from '@streamr/utils';
|
|
|
5
5
|
import { EventEmitter } from 'eventemitter3';
|
|
6
6
|
import { ProxyDirection, StreamMessage } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
|
|
7
7
|
export declare const retry: <T>(task: () => Promise<T>, description: string, abortSignal: AbortSignal, delay?: number) => Promise<T>;
|
|
8
|
-
interface
|
|
8
|
+
interface ProxyClientOptions {
|
|
9
9
|
transport: ITransport;
|
|
10
10
|
localPeerDescriptor: PeerDescriptor;
|
|
11
11
|
streamPartId: StreamPartID;
|
|
@@ -18,14 +18,14 @@ interface Events {
|
|
|
18
18
|
export declare class ProxyClient extends EventEmitter<Events> {
|
|
19
19
|
private readonly rpcCommunicator;
|
|
20
20
|
private readonly contentDeliveryRpcLocal;
|
|
21
|
-
private readonly
|
|
21
|
+
private readonly options;
|
|
22
22
|
private readonly duplicateDetectors;
|
|
23
23
|
private definition?;
|
|
24
24
|
private readonly connections;
|
|
25
25
|
private readonly propagation;
|
|
26
26
|
private readonly neighbors;
|
|
27
27
|
private readonly abortController;
|
|
28
|
-
constructor(
|
|
28
|
+
constructor(options: ProxyClientOptions);
|
|
29
29
|
private registerDefaultServerMethods;
|
|
30
30
|
setProxies(nodes: PeerDescriptor[], direction: ProxyDirection, userId: EthereumAddress, connectionCount?: number): Promise<void>;
|
|
31
31
|
private updateConnections;
|
|
@@ -14,7 +14,7 @@ const Propagation_1 = require("../propagation/Propagation");
|
|
|
14
14
|
const utils_2 = require("../utils");
|
|
15
15
|
const ProxyConnectionRpcRemote_1 = require("./ProxyConnectionRpcRemote");
|
|
16
16
|
const formStreamPartDeliveryServiceId_1 = require("../formStreamPartDeliveryServiceId");
|
|
17
|
-
// TODO use
|
|
17
|
+
// TODO use options option or named constant?
|
|
18
18
|
const retry = async (task, description, abortSignal, delay = 10000) => {
|
|
19
19
|
// eslint-disable-next-line no-constant-condition
|
|
20
20
|
while (true) {
|
|
@@ -36,26 +36,26 @@ const SERVICE_ID = 'system/proxy-client';
|
|
|
36
36
|
class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
37
37
|
rpcCommunicator;
|
|
38
38
|
contentDeliveryRpcLocal;
|
|
39
|
-
|
|
39
|
+
options;
|
|
40
40
|
duplicateDetectors = new Map();
|
|
41
41
|
definition;
|
|
42
42
|
connections = new Map();
|
|
43
43
|
propagation;
|
|
44
44
|
neighbors;
|
|
45
45
|
abortController;
|
|
46
|
-
constructor(
|
|
46
|
+
constructor(options) {
|
|
47
47
|
super();
|
|
48
|
-
this.
|
|
49
|
-
this.rpcCommunicator = new dht_1.ListeningRpcCommunicator((0, formStreamPartDeliveryServiceId_1.formStreamPartContentDeliveryServiceId)(
|
|
50
|
-
// TODO use
|
|
51
|
-
this.neighbors = new NodeList_1.NodeList((0, dht_1.getNodeIdFromPeerDescriptor)(this.
|
|
48
|
+
this.options = options;
|
|
49
|
+
this.rpcCommunicator = new dht_1.ListeningRpcCommunicator((0, formStreamPartDeliveryServiceId_1.formStreamPartContentDeliveryServiceId)(options.streamPartId), options.transport);
|
|
50
|
+
// TODO use options option or named constant?
|
|
51
|
+
this.neighbors = new NodeList_1.NodeList((0, dht_1.getNodeIdFromPeerDescriptor)(this.options.localPeerDescriptor), 1000);
|
|
52
52
|
this.contentDeliveryRpcLocal = new ContentDeliveryRpcLocal_1.ContentDeliveryRpcLocal({
|
|
53
|
-
localPeerDescriptor: this.
|
|
54
|
-
streamPartId: this.
|
|
53
|
+
localPeerDescriptor: this.options.localPeerDescriptor,
|
|
54
|
+
streamPartId: this.options.streamPartId,
|
|
55
55
|
markAndCheckDuplicate: (msg, prev) => (0, utils_2.markAndCheckDuplicate)(this.duplicateDetectors, msg, prev),
|
|
56
56
|
broadcast: (message, previousNode) => this.broadcast(message, previousNode),
|
|
57
|
-
onLeaveNotice: (
|
|
58
|
-
const contact = this.neighbors.get(
|
|
57
|
+
onLeaveNotice: (remoteNodeId) => {
|
|
58
|
+
const contact = this.neighbors.get(remoteNodeId);
|
|
59
59
|
if (contact) {
|
|
60
60
|
// TODO should we catch possible promise rejection?
|
|
61
61
|
setImmediate(() => this.onNodeDisconnected(contact.getPeerDescriptor()));
|
|
@@ -65,8 +65,8 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
65
65
|
markForInspection: () => { }
|
|
66
66
|
});
|
|
67
67
|
this.propagation = new Propagation_1.Propagation({
|
|
68
|
-
// TODO use
|
|
69
|
-
minPropagationTargets:
|
|
68
|
+
// TODO use options option or named constant?
|
|
69
|
+
minPropagationTargets: options.minPropagationTargets ?? 2,
|
|
70
70
|
sendToNeighbor: async (neighborId, msg) => {
|
|
71
71
|
const remote = this.neighbors.get(neighborId);
|
|
72
72
|
if (remote) {
|
|
@@ -84,7 +84,7 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
84
84
|
this.rpcCommunicator.registerRpcNotification(NetworkRpc_1.LeaveStreamPartNotice, 'leaveStreamPartNotice', (req, context) => this.contentDeliveryRpcLocal.leaveStreamPartNotice(req, context));
|
|
85
85
|
}
|
|
86
86
|
async setProxies(nodes, direction, userId, connectionCount) {
|
|
87
|
-
logger.trace('Setting proxies', { streamPartId: this.
|
|
87
|
+
logger.trace('Setting proxies', { streamPartId: this.options.streamPartId, peerDescriptors: nodes, direction, userId, connectionCount });
|
|
88
88
|
if (connectionCount !== undefined && connectionCount > nodes.length) {
|
|
89
89
|
throw new Error('Cannot set connectionCount above the size of the configured array of nodes');
|
|
90
90
|
}
|
|
@@ -124,23 +124,23 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
124
124
|
}
|
|
125
125
|
async attemptConnection(nodeId, direction, userId) {
|
|
126
126
|
const peerDescriptor = this.definition.nodes.get(nodeId);
|
|
127
|
-
const rpcRemote = new ProxyConnectionRpcRemote_1.ProxyConnectionRpcRemote(this.
|
|
127
|
+
const rpcRemote = new ProxyConnectionRpcRemote_1.ProxyConnectionRpcRemote(this.options.localPeerDescriptor, peerDescriptor, this.rpcCommunicator, NetworkRpc_client_1.ProxyConnectionRpcClient);
|
|
128
128
|
const accepted = await rpcRemote.requestConnection(direction, userId);
|
|
129
129
|
if (accepted) {
|
|
130
|
-
this.
|
|
130
|
+
this.options.connectionLocker.lockConnection(peerDescriptor, SERVICE_ID);
|
|
131
131
|
this.connections.set(nodeId, { peerDescriptor, direction });
|
|
132
|
-
const remote = new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.
|
|
132
|
+
const remote = new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.options.localPeerDescriptor, peerDescriptor, this.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient);
|
|
133
133
|
this.neighbors.add(remote);
|
|
134
134
|
this.propagation.onNeighborJoined(nodeId);
|
|
135
135
|
logger.info('Open proxy connection', {
|
|
136
136
|
nodeId,
|
|
137
|
-
streamPartId: this.
|
|
137
|
+
streamPartId: this.options.streamPartId
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
else {
|
|
141
141
|
logger.warn('Unable to open proxy connection', {
|
|
142
142
|
nodeId,
|
|
143
|
-
streamPartId: this.
|
|
143
|
+
streamPartId: this.options.streamPartId
|
|
144
144
|
});
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -154,7 +154,7 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
154
154
|
nodeId
|
|
155
155
|
});
|
|
156
156
|
const server = this.neighbors.get(nodeId);
|
|
157
|
-
server?.leaveStreamPartNotice(this.
|
|
157
|
+
server?.leaveStreamPartNotice(this.options.streamPartId, false);
|
|
158
158
|
this.removeConnection(this.connections.get(nodeId).peerDescriptor);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -162,7 +162,7 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
162
162
|
const nodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(peerDescriptor);
|
|
163
163
|
this.connections.delete(nodeId);
|
|
164
164
|
this.neighbors.remove(nodeId);
|
|
165
|
-
this.
|
|
165
|
+
this.options.connectionLocker.unlockConnection(peerDescriptor, SERVICE_ID);
|
|
166
166
|
}
|
|
167
167
|
broadcast(msg, previousNode) {
|
|
168
168
|
if (!previousNode) {
|
|
@@ -180,21 +180,21 @@ class ProxyClient extends eventemitter3_1.EventEmitter {
|
|
|
180
180
|
async onNodeDisconnected(peerDescriptor) {
|
|
181
181
|
const nodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(peerDescriptor);
|
|
182
182
|
if (this.connections.has(nodeId)) {
|
|
183
|
-
this.
|
|
183
|
+
this.options.connectionLocker.unlockConnection(peerDescriptor, SERVICE_ID);
|
|
184
184
|
this.removeConnection(peerDescriptor);
|
|
185
185
|
await (0, exports.retry)(() => this.updateConnections(), 'updating proxy connections', this.abortController.signal);
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
async start() {
|
|
189
189
|
this.registerDefaultServerMethods();
|
|
190
|
-
(0, utils_1.addManagedEventListener)(this.
|
|
190
|
+
(0, utils_1.addManagedEventListener)(this.options.transport, 'disconnected',
|
|
191
191
|
// TODO should we catch possible promise rejection?
|
|
192
192
|
(peerDescriptor) => this.onNodeDisconnected(peerDescriptor), this.abortController.signal);
|
|
193
193
|
}
|
|
194
194
|
stop() {
|
|
195
195
|
this.neighbors.getAll().forEach((remote) => {
|
|
196
|
-
this.
|
|
197
|
-
remote.leaveStreamPartNotice(this.
|
|
196
|
+
this.options.connectionLocker.unlockConnection(remote.getPeerDescriptor(), SERVICE_ID);
|
|
197
|
+
remote.leaveStreamPartNotice(this.options.streamPartId, false);
|
|
198
198
|
});
|
|
199
199
|
this.neighbors.stop();
|
|
200
200
|
this.rpcCommunicator.destroy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyClient.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyClient.ts"],"names":[],"mappings":";;;AAAA,sCAOqB;AAErB,0CAAuF;AACvF,iDAA4C;AAC5C,mCAAmC;AACnC,2FAMmE;AACnE,yGAAsI;AAEtI,0CAAsC;AACtC,0EAAsE;AACtE,wEAAoE;AACpE,4DAAwD;AACxD,oCAAgD;AAChD,yEAAqE;AACrE,wFAA2F;AAE3F,
|
|
1
|
+
{"version":3,"file":"ProxyClient.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ interface ProxyConnection {
|
|
|
11
11
|
userId: EthereumAddress;
|
|
12
12
|
remote: ContentDeliveryRpcRemote;
|
|
13
13
|
}
|
|
14
|
-
interface
|
|
14
|
+
interface ProxyConnectionRpcLocalOptions {
|
|
15
15
|
localPeerDescriptor: PeerDescriptor;
|
|
16
16
|
streamPartId: StreamPartID;
|
|
17
17
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
@@ -20,9 +20,9 @@ export interface Events {
|
|
|
20
20
|
newConnection: (nodeId: DhtAddress) => void;
|
|
21
21
|
}
|
|
22
22
|
export declare class ProxyConnectionRpcLocal extends EventEmitter<Events> implements IProxyConnectionRpc {
|
|
23
|
-
private readonly
|
|
23
|
+
private readonly options;
|
|
24
24
|
private readonly connections;
|
|
25
|
-
constructor(
|
|
25
|
+
constructor(options: ProxyConnectionRpcLocalOptions);
|
|
26
26
|
getConnection(nodeId: DhtAddress): ProxyConnection | undefined;
|
|
27
27
|
hasConnection(nodeId: DhtAddress): boolean;
|
|
28
28
|
removeConnection(nodeId: DhtAddress): void;
|
|
@@ -9,12 +9,12 @@ const eventemitter3_1 = require("eventemitter3");
|
|
|
9
9
|
const utils_1 = require("@streamr/utils");
|
|
10
10
|
const logger = new utils_1.Logger(module);
|
|
11
11
|
class ProxyConnectionRpcLocal extends eventemitter3_1.EventEmitter {
|
|
12
|
-
|
|
12
|
+
options;
|
|
13
13
|
connections = new Map();
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(options) {
|
|
15
15
|
super();
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
16
|
+
this.options = options;
|
|
17
|
+
this.options.rpcCommunicator.registerRpcMethod(NetworkRpc_1.ProxyConnectionRequest, NetworkRpc_1.ProxyConnectionResponse, 'requestConnection', (msg, context) => this.requestConnection(msg, context));
|
|
18
18
|
}
|
|
19
19
|
getConnection(nodeId) {
|
|
20
20
|
return this.connections.get(nodeId);
|
|
@@ -26,7 +26,7 @@ class ProxyConnectionRpcLocal extends eventemitter3_1.EventEmitter {
|
|
|
26
26
|
this.connections.delete(nodeId);
|
|
27
27
|
}
|
|
28
28
|
stop() {
|
|
29
|
-
this.connections.forEach((connection) => connection.remote.leaveStreamPartNotice(this.
|
|
29
|
+
this.connections.forEach((connection) => connection.remote.leaveStreamPartNotice(this.options.streamPartId, false));
|
|
30
30
|
this.connections.clear();
|
|
31
31
|
this.removeAllListeners();
|
|
32
32
|
}
|
|
@@ -54,17 +54,17 @@ class ProxyConnectionRpcLocal extends eventemitter3_1.EventEmitter {
|
|
|
54
54
|
// IProxyConnectionRpc server method
|
|
55
55
|
async requestConnection(request, context) {
|
|
56
56
|
const senderPeerDescriptor = context.incomingSourceDescriptor;
|
|
57
|
-
const
|
|
58
|
-
this.connections.set(
|
|
57
|
+
const remoteNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(senderPeerDescriptor);
|
|
58
|
+
this.connections.set(remoteNodeId, {
|
|
59
59
|
direction: request.direction,
|
|
60
60
|
userId: (0, utils_1.toEthereumAddress)((0, utils_1.binaryToHex)(request.userId, true)),
|
|
61
|
-
remote: new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.
|
|
61
|
+
remote: new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.options.localPeerDescriptor, senderPeerDescriptor, this.options.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient)
|
|
62
62
|
});
|
|
63
63
|
const response = {
|
|
64
64
|
accepted: true
|
|
65
65
|
};
|
|
66
|
-
logger.trace(`Accepted connection request from ${
|
|
67
|
-
this.emit('newConnection',
|
|
66
|
+
logger.trace(`Accepted connection request from ${remoteNodeId} to ${this.options.streamPartId}`);
|
|
67
|
+
this.emit('newConnection', remoteNodeId);
|
|
68
68
|
return response;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcLocal.ts"],"names":[],"mappings":";;;AACA,2FAKmE;AAEnE,0EAAsE;AACtE,sCAAgI;AAChI,yGAA4G;AAC5G,iDAA4C;AAC5C,0CAAwF;AAGxF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAkBjC,MAAa,uBAAwB,SAAQ,4BAAoB;IAE5C,
|
|
1
|
+
{"version":3,"file":"ProxyConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/proxy/ProxyConnectionRpcLocal.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,17 +6,17 @@ import { NodeList } from '../NodeList';
|
|
|
6
6
|
import { PeerDescriptor } from '../../proto/packages/dht/protos/DhtRpc';
|
|
7
7
|
import { Empty } from '../../proto/google/protobuf/empty';
|
|
8
8
|
import { StreamPartID } from '@streamr/protocol';
|
|
9
|
-
interface
|
|
9
|
+
interface TemporaryConnectionRpcLocalOptions {
|
|
10
10
|
rpcCommunicator: ListeningRpcCommunicator;
|
|
11
11
|
localPeerDescriptor: PeerDescriptor;
|
|
12
12
|
streamPartId: StreamPartID;
|
|
13
13
|
connectionLocker: ConnectionLocker;
|
|
14
14
|
}
|
|
15
15
|
export declare class TemporaryConnectionRpcLocal implements ITemporaryConnectionRpc {
|
|
16
|
-
private readonly
|
|
16
|
+
private readonly options;
|
|
17
17
|
private readonly temporaryNodes;
|
|
18
18
|
private readonly lockId;
|
|
19
|
-
constructor(
|
|
19
|
+
constructor(options: TemporaryConnectionRpcLocalOptions);
|
|
20
20
|
getNodes(): NodeList;
|
|
21
21
|
hasNode(node: DhtAddress): boolean;
|
|
22
22
|
removeNode(nodeId: DhtAddress): void;
|
|
@@ -7,14 +7,14 @@ const NodeList_1 = require("../NodeList");
|
|
|
7
7
|
const ContentDeliveryRpcRemote_1 = require("../ContentDeliveryRpcRemote");
|
|
8
8
|
const LOCK_ID_BASE = 'system/content-delivery/temporary-connection/';
|
|
9
9
|
class TemporaryConnectionRpcLocal {
|
|
10
|
-
|
|
10
|
+
options;
|
|
11
11
|
temporaryNodes;
|
|
12
12
|
lockId;
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
15
|
-
// TODO use
|
|
16
|
-
this.temporaryNodes = new NodeList_1.NodeList((0, dht_1.getNodeIdFromPeerDescriptor)(
|
|
17
|
-
this.lockId = LOCK_ID_BASE +
|
|
13
|
+
constructor(options) {
|
|
14
|
+
this.options = options;
|
|
15
|
+
// TODO use options option or named constant?
|
|
16
|
+
this.temporaryNodes = new NodeList_1.NodeList((0, dht_1.getNodeIdFromPeerDescriptor)(options.localPeerDescriptor), 10);
|
|
17
|
+
this.lockId = LOCK_ID_BASE + options.streamPartId;
|
|
18
18
|
}
|
|
19
19
|
getNodes() {
|
|
20
20
|
return this.temporaryNodes;
|
|
@@ -24,20 +24,20 @@ class TemporaryConnectionRpcLocal {
|
|
|
24
24
|
}
|
|
25
25
|
removeNode(nodeId) {
|
|
26
26
|
this.temporaryNodes.remove(nodeId);
|
|
27
|
-
this.
|
|
27
|
+
this.options.connectionLocker.weakUnlockConnection(nodeId, this.lockId);
|
|
28
28
|
}
|
|
29
29
|
async openConnection(_request, context) {
|
|
30
30
|
const sender = context.incomingSourceDescriptor;
|
|
31
|
-
const remote = new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.
|
|
31
|
+
const remote = new ContentDeliveryRpcRemote_1.ContentDeliveryRpcRemote(this.options.localPeerDescriptor, sender, this.options.rpcCommunicator, NetworkRpc_client_1.ContentDeliveryRpcClient);
|
|
32
32
|
this.temporaryNodes.add(remote);
|
|
33
|
-
this.
|
|
33
|
+
this.options.connectionLocker.weakLockConnection((0, dht_1.getNodeIdFromPeerDescriptor)(sender), this.lockId);
|
|
34
34
|
return {
|
|
35
35
|
accepted: true
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
async closeConnection(_request, context) {
|
|
39
|
-
const
|
|
40
|
-
this.removeNode(
|
|
39
|
+
const remoteNodeId = (0, dht_1.getNodeIdFromPeerDescriptor)(context.incomingSourceDescriptor);
|
|
40
|
+
this.removeNode(remoteNodeId);
|
|
41
41
|
return {};
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemporaryConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts"],"names":[],"mappings":";;;AAOA,sCAAkI;AAClI,yGAA4G;AAC5G,0CAAsC;AACtC,0EAAsE;AAYtE,MAAM,YAAY,GAAG,+CAA+C,CAAA;AAEpE,MAAa,2BAA2B;IAEnB,
|
|
1
|
+
{"version":3,"file":"TemporaryConnectionRpcLocal.js","sourceRoot":"","sources":["../../../../src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts"],"names":[],"mappings":";;;AAOA,sCAAkI;AAClI,yGAA4G;AAC5G,0CAAsC;AACtC,0EAAsE;AAYtE,MAAM,YAAY,GAAG,+CAA+C,CAAA;AAEpE,MAAa,2BAA2B;IAEnB,OAAO,CAAoC;IAC3C,cAAc,CAAU;IACxB,MAAM,CAAQ;IAC/B,YAAY,OAA2C;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,6CAA6C;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,mBAAQ,CAAC,IAAA,iCAA2B,EAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAA;QAChG,IAAI,CAAC,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IACrD,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED,OAAO,CAAC,IAAgB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,UAAU,CAAC,MAAkB;QACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3E,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,QAAoC,EACpC,OAA0B;QAE1B,MAAM,MAAM,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QACpE,MAAM,MAAM,GAAG,IAAI,mDAAwB,CACvC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAChC,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,4CAAwB,CAC3B,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAA,iCAA2B,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAClG,OAAO;YACH,QAAQ,EAAE,IAAI;SACjB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAkC,EAAE,OAA0B;QAChF,MAAM,YAAY,GAAG,IAAA,iCAA2B,EAAE,OAA0B,CAAC,wBAAyB,CAAC,CAAA;QACvG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC7B,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAhDD,kEAgDC"}
|
|
@@ -203,18 +203,18 @@ export declare class RecursiveOperationSessionRpcClient implements IRecursiveOpe
|
|
|
203
203
|
sendResponse(input: RecursiveOperationResponse, options?: RpcOptions): UnaryCall<RecursiveOperationResponse, Empty>;
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
|
-
* @generated from protobuf service dht.
|
|
206
|
+
* @generated from protobuf service dht.WebsocketClientConnectorRpc
|
|
207
207
|
*/
|
|
208
|
-
export interface
|
|
208
|
+
export interface IWebsocketClientConnectorRpcClient {
|
|
209
209
|
/**
|
|
210
210
|
* @generated from protobuf rpc: requestConnection(dht.WebsocketConnectionRequest) returns (google.protobuf.Empty);
|
|
211
211
|
*/
|
|
212
212
|
requestConnection(input: WebsocketConnectionRequest, options?: RpcOptions): UnaryCall<WebsocketConnectionRequest, Empty>;
|
|
213
213
|
}
|
|
214
214
|
/**
|
|
215
|
-
* @generated from protobuf service dht.
|
|
215
|
+
* @generated from protobuf service dht.WebsocketClientConnectorRpc
|
|
216
216
|
*/
|
|
217
|
-
export declare class
|
|
217
|
+
export declare class WebsocketClientConnectorRpcClient implements IWebsocketClientConnectorRpcClient, ServiceInfo {
|
|
218
218
|
private readonly _transport;
|
|
219
219
|
typeName: string;
|
|
220
220
|
methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExternalApiRpcClient = exports.ConnectionLockRpcClient = exports.WebrtcConnectorRpcClient = exports.
|
|
4
|
-
// @generated by protobuf-ts 2.9.
|
|
3
|
+
exports.ExternalApiRpcClient = exports.ConnectionLockRpcClient = exports.WebrtcConnectorRpcClient = exports.WebsocketClientConnectorRpcClient = exports.RecursiveOperationSessionRpcClient = exports.StoreRpcClient = exports.RecursiveOperationRpcClient = exports.RouterRpcClient = exports.DhtNodeRpcClient = void 0;
|
|
4
|
+
// @generated by protobuf-ts 2.9.4 with parameter server_generic,generate_dependencies,long_type_number
|
|
5
5
|
// @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
|
|
6
6
|
// tslint:disable
|
|
7
7
|
const DhtRpc_1 = require("./DhtRpc");
|
|
@@ -154,13 +154,13 @@ class RecursiveOperationSessionRpcClient {
|
|
|
154
154
|
}
|
|
155
155
|
exports.RecursiveOperationSessionRpcClient = RecursiveOperationSessionRpcClient;
|
|
156
156
|
/**
|
|
157
|
-
* @generated from protobuf service dht.
|
|
157
|
+
* @generated from protobuf service dht.WebsocketClientConnectorRpc
|
|
158
158
|
*/
|
|
159
|
-
class
|
|
159
|
+
class WebsocketClientConnectorRpcClient {
|
|
160
160
|
_transport;
|
|
161
|
-
typeName = DhtRpc_4.
|
|
162
|
-
methods = DhtRpc_4.
|
|
163
|
-
options = DhtRpc_4.
|
|
161
|
+
typeName = DhtRpc_4.WebsocketClientConnectorRpc.typeName;
|
|
162
|
+
methods = DhtRpc_4.WebsocketClientConnectorRpc.methods;
|
|
163
|
+
options = DhtRpc_4.WebsocketClientConnectorRpc.options;
|
|
164
164
|
constructor(_transport) {
|
|
165
165
|
this._transport = _transport;
|
|
166
166
|
}
|
|
@@ -172,7 +172,7 @@ class WebsocketConnectorRpcClient {
|
|
|
172
172
|
return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
exports.
|
|
175
|
+
exports.WebsocketClientConnectorRpcClient = WebsocketClientConnectorRpcClient;
|
|
176
176
|
/**
|
|
177
177
|
* @generated from protobuf service dht.WebrtcConnectorRpc
|
|
178
178
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DhtRpc.client.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.client.ts"],"names":[],"mappings":";;;AAAA,uGAAuG;AACvG,kGAAkG;AAClG,iBAAiB;AACjB,qCAA0C;AAK1C,qCAA6C;AAK7C,qCAA8C;AAK9C,
|
|
1
|
+
{"version":3,"file":"DhtRpc.client.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,7 +117,7 @@ export interface ClosestPeersRequest {
|
|
|
117
117
|
requestId: string;
|
|
118
118
|
}
|
|
119
119
|
/**
|
|
120
|
-
* TODO rename to
|
|
120
|
+
* TODO rename to ClosestNeighborsResponse
|
|
121
121
|
*
|
|
122
122
|
* @generated from protobuf message dht.ClosestPeersResponse
|
|
123
123
|
*/
|
|
@@ -373,6 +373,14 @@ export interface ConnectivityResponse {
|
|
|
373
373
|
* @generated from protobuf field: string version = 5;
|
|
374
374
|
*/
|
|
375
375
|
version: string;
|
|
376
|
+
/**
|
|
377
|
+
* @generated from protobuf field: optional double latitude = 6;
|
|
378
|
+
*/
|
|
379
|
+
latitude?: number;
|
|
380
|
+
/**
|
|
381
|
+
* @generated from protobuf field: optional double longitude = 7;
|
|
382
|
+
*/
|
|
383
|
+
longitude?: number;
|
|
376
384
|
}
|
|
377
385
|
/**
|
|
378
386
|
* @generated from protobuf message dht.HandshakeRequest
|
|
@@ -949,9 +957,9 @@ export declare const StoreRpc: ServiceType;
|
|
|
949
957
|
*/
|
|
950
958
|
export declare const RecursiveOperationSessionRpc: ServiceType;
|
|
951
959
|
/**
|
|
952
|
-
* @generated ServiceType for protobuf service dht.
|
|
960
|
+
* @generated ServiceType for protobuf service dht.WebsocketClientConnectorRpc
|
|
953
961
|
*/
|
|
954
|
-
export declare const
|
|
962
|
+
export declare const WebsocketClientConnectorRpc: ServiceType;
|
|
955
963
|
/**
|
|
956
964
|
* @generated ServiceType for protobuf service dht.WebrtcConnectorRpc
|
|
957
965
|
*/
|