@streamr/trackerless-network 100.0.0-pretestnet.6 → 100.0.0-rc.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/README.md +57 -0
- package/dist/package.json +11 -11
- package/dist/src/NetworkNode.d.ts +6 -5
- package/dist/src/NetworkNode.js +9 -2
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/NetworkStack.d.ts +13 -9
- package/dist/src/NetworkStack.js +80 -12
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +4 -3
- package/dist/src/exports.js +12 -1
- package/dist/src/exports.js.map +1 -1
- package/dist/src/logic/DeliveryRpcLocal.d.ts +4 -5
- package/dist/src/logic/DeliveryRpcLocal.js +6 -5
- package/dist/src/logic/DeliveryRpcLocal.js.map +1 -1
- package/dist/src/logic/DeliveryRpcRemote.d.ts +5 -4
- package/dist/src/logic/DeliveryRpcRemote.js +4 -3
- package/dist/src/logic/DeliveryRpcRemote.js.map +1 -1
- package/dist/src/logic/DuplicateMessageDetector.d.ts +3 -3
- package/dist/src/logic/DuplicateMessageDetector.js +10 -6
- package/dist/src/logic/DuplicateMessageDetector.js.map +1 -1
- package/dist/src/logic/EntryPointDiscovery.d.ts +8 -5
- package/dist/src/logic/EntryPointDiscovery.js +24 -15
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/Layer0Node.d.ts +6 -4
- package/dist/src/logic/Layer1Node.d.ts +12 -6
- package/dist/src/logic/NodeList.d.ts +13 -15
- package/dist/src/logic/NodeList.js +18 -15
- package/dist/src/logic/NodeList.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +26 -22
- package/dist/src/logic/RandomGraphNode.js +82 -52
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/StreamrNode.d.ts +6 -6
- package/dist/src/logic/StreamrNode.js +53 -37
- package/dist/src/logic/StreamrNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.d.ts +2 -2
- package/dist/src/logic/createRandomGraphNode.js +33 -21
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +2 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -1
- package/dist/src/logic/inspect/InspectSession.d.ts +4 -3
- package/dist/src/logic/inspect/InspectSession.js +6 -2
- package/dist/src/logic/inspect/InspectSession.js.map +1 -1
- package/dist/src/logic/inspect/Inspector.d.ts +11 -16
- package/dist/src/logic/inspect/Inspector.js +21 -9
- package/dist/src/logic/inspect/Inspector.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +7 -9
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +55 -32
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.d.ts +8 -6
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +25 -16
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +9 -15
- package/dist/src/logic/neighbor-discovery/Handshaker.js +68 -44
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +8 -10
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js +12 -2
- package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +7 -10
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +11 -9
- package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.d.ts +8 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +33 -24
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.d.ts +5 -4
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js +4 -5
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/node-info/NodeInfoClient.d.ts +9 -0
- package/dist/src/logic/node-info/NodeInfoClient.js +21 -0
- package/dist/src/logic/node-info/NodeInfoClient.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.d.ts +12 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js +22 -0
- package/dist/src/logic/node-info/NodeInfoRpcLocal.js.map +1 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.d.ts +6 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js +11 -0
- package/dist/src/logic/node-info/NodeInfoRpcRemote.js.map +1 -0
- package/dist/src/logic/propagation/FifoMapWithTTL.js +7 -3
- package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -1
- package/dist/src/logic/propagation/Propagation.d.ts +4 -4
- package/dist/src/logic/propagation/Propagation.js +4 -0
- package/dist/src/logic/propagation/Propagation.js.map +1 -1
- package/dist/src/logic/propagation/PropagationTaskStore.d.ts +2 -2
- package/dist/src/logic/propagation/PropagationTaskStore.js +1 -0
- package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +1 -1
- package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +87 -53
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.d.ts +7 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js +32 -0
- package/dist/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.js.map +1 -0
- package/dist/src/logic/proxy/ProxyClient.d.ts +8 -6
- package/dist/src/logic/proxy/ProxyClient.js +40 -28
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +6 -7
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +8 -8
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.d.ts +3 -3
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.d.ts +9 -4
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +21 -6
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.d.ts +4 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +13 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/utils.js.map +1 -1
- package/dist/src/proto/google/protobuf/any.js +8 -8
- package/dist/src/proto/google/protobuf/any.js.map +1 -1
- package/dist/src/proto/google/protobuf/empty.js +2 -4
- package/dist/src/proto/google/protobuf/empty.js.map +1 -1
- package/dist/src/proto/google/protobuf/timestamp.js +10 -10
- package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +36 -49
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +54 -52
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +184 -234
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +118 -168
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +20 -29
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +42 -5
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +52 -19
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +193 -28
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +129 -20
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +20 -3
- package/dist/test/benchmark/first-message.js +14 -15
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.d.ts +2 -4
- package/dist/test/utils/utils.js +20 -19
- package/dist/test/utils/utils.js.map +1 -1
- package/jest.config.js +3 -38
- package/package.json +11 -11
- package/protos/NetworkRpc.proto +57 -12
- package/src/NetworkNode.ts +13 -6
- package/src/NetworkStack.ts +94 -16
- package/src/exports.ts +11 -3
- package/src/logic/DeliveryRpcLocal.ts +7 -8
- package/src/logic/DeliveryRpcRemote.ts +7 -5
- package/src/logic/DuplicateMessageDetector.ts +7 -7
- package/src/logic/EntryPointDiscovery.ts +26 -19
- package/src/logic/Layer0Node.ts +6 -4
- package/src/logic/Layer1Node.ts +21 -6
- package/src/logic/NodeList.ts +25 -26
- package/src/logic/RandomGraphNode.ts +148 -78
- package/src/logic/StreamrNode.ts +58 -41
- package/src/logic/createRandomGraphNode.ts +37 -25
- package/src/logic/formStreamPartDeliveryServiceId.ts +2 -1
- package/src/logic/inspect/InspectSession.ts +8 -4
- package/src/logic/inspect/Inspector.ts +34 -24
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +72 -38
- package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +32 -20
- package/src/logic/neighbor-discovery/Handshaker.ts +90 -75
- package/src/logic/neighbor-discovery/NeighborFinder.ts +18 -13
- package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +19 -20
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +43 -33
- package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +6 -6
- package/src/logic/node-info/NodeInfoClient.ts +23 -0
- package/src/logic/node-info/NodeInfoRpcLocal.ts +28 -0
- package/src/logic/node-info/NodeInfoRpcRemote.ts +11 -0
- package/src/logic/propagation/Propagation.ts +7 -6
- package/src/logic/propagation/PropagationTaskStore.ts +2 -2
- package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +1 -1
- package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +1 -2
- package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +95 -69
- package/src/logic/protocol-integration/stream-message/oldStreamMessageBinaryUtils.ts +37 -0
- package/src/logic/proxy/ProxyClient.ts +60 -40
- package/src/logic/proxy/ProxyConnectionRpcLocal.ts +15 -19
- package/src/logic/proxy/ProxyConnectionRpcRemote.ts +3 -3
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +30 -10
- package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +14 -4
- package/src/proto/google/protobuf/any.ts +4 -4
- package/src/proto/google/protobuf/empty.ts +2 -4
- package/src/proto/google/protobuf/timestamp.ts +4 -4
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +50 -66
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +21 -30
- package/src/proto/packages/dht/protos/DhtRpc.ts +242 -316
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +49 -7
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +21 -4
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +251 -44
- package/test/benchmark/StreamPartIdDataKeyDistribution.test.ts +60 -0
- package/test/benchmark/first-message.ts +38 -17
- package/test/end-to-end/inspect.test.ts +16 -4
- package/test/end-to-end/proxy-and-full-node.test.ts +26 -13
- package/test/end-to-end/proxy-connections.test.ts +23 -11
- package/test/end-to-end/proxy-key-exchange.test.ts +25 -15
- package/test/end-to-end/random-graph-with-real-connections.test.ts +35 -32
- package/test/end-to-end/webrtc-full-node-network.test.ts +11 -12
- package/test/end-to-end/websocket-full-node-network.test.ts +12 -12
- package/test/integration/DeliveryRpcRemote.test.ts +6 -9
- package/test/integration/HandshakeRpcRemote.test.ts +6 -8
- package/test/integration/Handshakes.test.ts +29 -27
- package/test/integration/Inspect.test.ts +0 -2
- package/test/integration/NeighborUpdateRpcRemote.test.ts +6 -7
- package/test/integration/NetworkNode.test.ts +27 -12
- package/test/integration/NetworkRpc.test.ts +3 -5
- package/test/integration/NetworkStack.test.ts +2 -2
- package/test/integration/NodeInfoRpc.test.ts +104 -0
- package/test/integration/Propagation.test.ts +3 -3
- package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +24 -25
- package/test/integration/RandomGraphNode-Layer1Node.test.ts +26 -24
- package/test/integration/StreamrNode.test.ts +4 -16
- package/test/integration/joining-streams-on-offline-peers.test.ts +7 -31
- package/test/integration/stream-without-default-entrypoints.test.ts +22 -23
- package/test/integration/streamEntryPointReplacing.test.ts +94 -0
- package/test/unit/DeliveryRpcLocal.test.ts +2 -1
- package/test/unit/EntrypointDiscovery.test.ts +11 -8
- package/test/unit/GroupKeyResponseTranslator.test.ts +1 -1
- package/test/unit/HandshakeRpcLocal.test.ts +80 -28
- package/test/unit/Handshaker.test.ts +14 -9
- package/test/unit/InspectSession.test.ts +5 -6
- package/test/unit/Inspector.test.ts +3 -4
- package/test/unit/NeighborFinder.test.ts +12 -9
- package/test/unit/NeighborUpdateRpcLocal.test.ts +139 -0
- package/test/unit/NodeList.test.ts +77 -80
- package/test/unit/Propagation.test.ts +21 -16
- package/test/unit/ProxyConnectionRpcRemote.test.ts +18 -12
- package/test/unit/RandomGraphNode.test.ts +23 -20
- package/test/unit/StreamMessageTranslator.test.ts +10 -8
- package/test/unit/StreamPartIDDataKey.test.ts +12 -0
- package/test/unit/StreamrNode.test.ts +2 -0
- package/test/unit/TemporaryConnectionRpcLocal.test.ts +38 -0
- package/test/unit/oldStreamMessageBinaryUtils.test.ts +39 -0
- package/test/utils/mock/MockHandshaker.ts +6 -5
- package/test/utils/mock/MockLayer0Node.ts +7 -2
- package/test/utils/mock/MockLayer1Node.ts +5 -2
- package/test/utils/mock/MockNeighborFinder.ts +3 -2
- package/test/utils/mock/MockNeighborUpdateManager.ts +3 -2
- package/test/utils/mock/Transport.ts +1 -1
- package/test/utils/utils.ts +40 -25
- package/tsconfig.jest.json +5 -4
- package/tsconfig.node.json +2 -2
- package/dist/src/identifiers.d.ts +0 -4
- package/dist/src/identifiers.js +0 -9
- package/dist/src/identifiers.js.map +0 -1
- package/src/identifiers.ts +0 -8
- package/test/unit/GroupKeyRequestTranslator.test.ts +0 -36
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/proto-rpc/protos/ProtoRpc.proto" (package "protorpc", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { MessageType } from "@protobuf-ts/runtime";
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
|
+
import { NodeInfoRpc } from "./NetworkRpc";
|
|
5
|
+
import type { NodeInfoResponse } from "./NetworkRpc";
|
|
6
|
+
import type { NodeInfoRequest } from "./NetworkRpc";
|
|
4
7
|
import { TemporaryConnectionRpc } from "./NetworkRpc";
|
|
8
|
+
import type { CloseTemporaryConnection } from "./NetworkRpc";
|
|
5
9
|
import type { TemporaryConnectionResponse } from "./NetworkRpc";
|
|
6
10
|
import type { TemporaryConnectionRequest } from "./NetworkRpc";
|
|
7
11
|
import { NeighborUpdateRpc } from "./NetworkRpc";
|
|
8
12
|
import type { NeighborUpdate } from "./NetworkRpc";
|
|
9
13
|
import { HandshakeRpc } from "./NetworkRpc";
|
|
10
|
-
import type {
|
|
14
|
+
import type { InterleaveResponse } from "./NetworkRpc";
|
|
15
|
+
import type { InterleaveRequest } from "./NetworkRpc";
|
|
11
16
|
import type { StreamPartHandshakeResponse } from "./NetworkRpc";
|
|
12
17
|
import type { StreamPartHandshakeRequest } from "./NetworkRpc";
|
|
13
18
|
import { ProxyConnectionRpc } from "./NetworkRpc";
|
|
@@ -94,9 +99,9 @@ export interface IHandshakeRpcClient {
|
|
|
94
99
|
*/
|
|
95
100
|
handshake(input: StreamPartHandshakeRequest, options?: RpcOptions): UnaryCall<StreamPartHandshakeRequest, StreamPartHandshakeResponse>;
|
|
96
101
|
/**
|
|
97
|
-
* @generated from protobuf rpc:
|
|
102
|
+
* @generated from protobuf rpc: interleaveRequest(InterleaveRequest) returns (InterleaveResponse);
|
|
98
103
|
*/
|
|
99
|
-
|
|
104
|
+
interleaveRequest(input: InterleaveRequest, options?: RpcOptions): UnaryCall<InterleaveRequest, InterleaveResponse>;
|
|
100
105
|
}
|
|
101
106
|
/**
|
|
102
107
|
* @generated from protobuf service HandshakeRpc
|
|
@@ -115,11 +120,11 @@ export class HandshakeRpcClient implements IHandshakeRpcClient, ServiceInfo {
|
|
|
115
120
|
return stackIntercept<StreamPartHandshakeRequest, StreamPartHandshakeResponse>("unary", this._transport, method, opt, input);
|
|
116
121
|
}
|
|
117
122
|
/**
|
|
118
|
-
* @generated from protobuf rpc:
|
|
123
|
+
* @generated from protobuf rpc: interleaveRequest(InterleaveRequest) returns (InterleaveResponse);
|
|
119
124
|
*/
|
|
120
|
-
|
|
125
|
+
interleaveRequest(input: InterleaveRequest, options?: RpcOptions): UnaryCall<InterleaveRequest, InterleaveResponse> {
|
|
121
126
|
const method = this.methods[1], opt = this._transport.mergeOptions(options);
|
|
122
|
-
return stackIntercept<
|
|
127
|
+
return stackIntercept<InterleaveRequest, InterleaveResponse>("unary", this._transport, method, opt, input);
|
|
123
128
|
}
|
|
124
129
|
}
|
|
125
130
|
/**
|
|
@@ -156,6 +161,10 @@ export interface ITemporaryConnectionRpcClient {
|
|
|
156
161
|
* @generated from protobuf rpc: openConnection(TemporaryConnectionRequest) returns (TemporaryConnectionResponse);
|
|
157
162
|
*/
|
|
158
163
|
openConnection(input: TemporaryConnectionRequest, options?: RpcOptions): UnaryCall<TemporaryConnectionRequest, TemporaryConnectionResponse>;
|
|
164
|
+
/**
|
|
165
|
+
* @generated from protobuf rpc: closeConnection(CloseTemporaryConnection) returns (google.protobuf.Empty);
|
|
166
|
+
*/
|
|
167
|
+
closeConnection(input: CloseTemporaryConnection, options?: RpcOptions): UnaryCall<CloseTemporaryConnection, Empty>;
|
|
159
168
|
}
|
|
160
169
|
/**
|
|
161
170
|
* @generated from protobuf service TemporaryConnectionRpc
|
|
@@ -173,4 +182,37 @@ export class TemporaryConnectionRpcClient implements ITemporaryConnectionRpcClie
|
|
|
173
182
|
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
174
183
|
return stackIntercept<TemporaryConnectionRequest, TemporaryConnectionResponse>("unary", this._transport, method, opt, input);
|
|
175
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* @generated from protobuf rpc: closeConnection(CloseTemporaryConnection) returns (google.protobuf.Empty);
|
|
187
|
+
*/
|
|
188
|
+
closeConnection(input: CloseTemporaryConnection, options?: RpcOptions): UnaryCall<CloseTemporaryConnection, Empty> {
|
|
189
|
+
const method = this.methods[1], opt = this._transport.mergeOptions(options);
|
|
190
|
+
return stackIntercept<CloseTemporaryConnection, Empty>("unary", this._transport, method, opt, input);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* @generated from protobuf service NodeInfoRpc
|
|
195
|
+
*/
|
|
196
|
+
export interface INodeInfoRpcClient {
|
|
197
|
+
/**
|
|
198
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
199
|
+
*/
|
|
200
|
+
getInfo(input: NodeInfoRequest, options?: RpcOptions): UnaryCall<NodeInfoRequest, NodeInfoResponse>;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* @generated from protobuf service NodeInfoRpc
|
|
204
|
+
*/
|
|
205
|
+
export class NodeInfoRpcClient implements INodeInfoRpcClient, ServiceInfo {
|
|
206
|
+
typeName = NodeInfoRpc.typeName;
|
|
207
|
+
methods = NodeInfoRpc.methods;
|
|
208
|
+
options = NodeInfoRpc.options;
|
|
209
|
+
constructor(private readonly _transport: RpcTransport) {
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
213
|
+
*/
|
|
214
|
+
getInfo(input: NodeInfoRequest, options?: RpcOptions): UnaryCall<NodeInfoRequest, NodeInfoResponse> {
|
|
215
|
+
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
|
216
|
+
return stackIntercept<NodeInfoRequest, NodeInfoResponse>("unary", this._transport, method, opt, input);
|
|
217
|
+
}
|
|
176
218
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
|
+
import { NodeInfoResponse } from "./NetworkRpc";
|
|
5
|
+
import { NodeInfoRequest } from "./NetworkRpc";
|
|
6
|
+
import { CloseTemporaryConnection } from "./NetworkRpc";
|
|
4
7
|
import { TemporaryConnectionResponse } from "./NetworkRpc";
|
|
5
8
|
import { TemporaryConnectionRequest } from "./NetworkRpc";
|
|
6
9
|
import { NeighborUpdate } from "./NetworkRpc";
|
|
7
|
-
import {
|
|
10
|
+
import { InterleaveResponse } from "./NetworkRpc";
|
|
11
|
+
import { InterleaveRequest } from "./NetworkRpc";
|
|
8
12
|
import { StreamPartHandshakeResponse } from "./NetworkRpc";
|
|
9
13
|
import { StreamPartHandshakeRequest } from "./NetworkRpc";
|
|
10
14
|
import { ProxyConnectionResponse } from "./NetworkRpc";
|
|
@@ -44,9 +48,9 @@ export interface IHandshakeRpc<T = ServerCallContext> {
|
|
|
44
48
|
*/
|
|
45
49
|
handshake(request: StreamPartHandshakeRequest, context: T): Promise<StreamPartHandshakeResponse>;
|
|
46
50
|
/**
|
|
47
|
-
* @generated from protobuf rpc:
|
|
51
|
+
* @generated from protobuf rpc: interleaveRequest(InterleaveRequest) returns (InterleaveResponse);
|
|
48
52
|
*/
|
|
49
|
-
|
|
53
|
+
interleaveRequest(request: InterleaveRequest, context: T): Promise<InterleaveResponse>;
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* @generated from protobuf service NeighborUpdateRpc
|
|
@@ -65,4 +69,17 @@ export interface ITemporaryConnectionRpc<T = ServerCallContext> {
|
|
|
65
69
|
* @generated from protobuf rpc: openConnection(TemporaryConnectionRequest) returns (TemporaryConnectionResponse);
|
|
66
70
|
*/
|
|
67
71
|
openConnection(request: TemporaryConnectionRequest, context: T): Promise<TemporaryConnectionResponse>;
|
|
72
|
+
/**
|
|
73
|
+
* @generated from protobuf rpc: closeConnection(CloseTemporaryConnection) returns (google.protobuf.Empty);
|
|
74
|
+
*/
|
|
75
|
+
closeConnection(request: CloseTemporaryConnection, context: T): Promise<Empty>;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @generated from protobuf service NodeInfoRpc
|
|
79
|
+
*/
|
|
80
|
+
export interface INodeInfoRpc<T = ServerCallContext> {
|
|
81
|
+
/**
|
|
82
|
+
* @generated from protobuf rpc: getInfo(NodeInfoRequest) returns (NodeInfoResponse);
|
|
83
|
+
*/
|
|
84
|
+
getInfo(request: NodeInfoRequest, context: T): Promise<NodeInfoResponse>;
|
|
68
85
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.9.
|
|
1
|
+
// @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
|
|
2
2
|
// @generated from protobuf file "packages/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
import { Empty } from "../../../google/protobuf/empty";
|
|
@@ -52,41 +52,70 @@ export interface MessageRef {
|
|
|
52
52
|
*/
|
|
53
53
|
export interface StreamMessage {
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
55
|
+
* this is a required field but in generated NetworkRpc.ts it is incorrectly annotated as optional (NET-1082)
|
|
56
|
+
*
|
|
57
|
+
* @generated from protobuf field: MessageID messageId = 1;
|
|
56
58
|
*/
|
|
57
|
-
|
|
59
|
+
messageId?: MessageID;
|
|
58
60
|
/**
|
|
59
|
-
* @generated from protobuf field:
|
|
61
|
+
* @generated from protobuf field: optional MessageRef previousMessageRef = 2;
|
|
60
62
|
*/
|
|
61
|
-
|
|
63
|
+
previousMessageRef?: MessageRef;
|
|
62
64
|
/**
|
|
63
|
-
* @generated from protobuf field:
|
|
65
|
+
* @generated from protobuf field: bytes signature = 3;
|
|
64
66
|
*/
|
|
65
|
-
|
|
67
|
+
signature: Uint8Array;
|
|
66
68
|
/**
|
|
67
|
-
* @generated from protobuf field:
|
|
69
|
+
* @generated from protobuf field: SignatureType signatureType = 4;
|
|
68
70
|
*/
|
|
69
|
-
|
|
71
|
+
signatureType: SignatureType;
|
|
70
72
|
/**
|
|
71
|
-
* @generated from protobuf
|
|
73
|
+
* @generated from protobuf oneof: body
|
|
72
74
|
*/
|
|
73
|
-
|
|
75
|
+
body: {
|
|
76
|
+
oneofKind: "contentMessage";
|
|
77
|
+
/**
|
|
78
|
+
* @generated from protobuf field: ContentMessage contentMessage = 5;
|
|
79
|
+
*/
|
|
80
|
+
contentMessage: ContentMessage;
|
|
81
|
+
} | {
|
|
82
|
+
oneofKind: "groupKeyRequest";
|
|
83
|
+
/**
|
|
84
|
+
* @generated from protobuf field: GroupKeyRequest groupKeyRequest = 6;
|
|
85
|
+
*/
|
|
86
|
+
groupKeyRequest: GroupKeyRequest;
|
|
87
|
+
} | {
|
|
88
|
+
oneofKind: "groupKeyResponse";
|
|
89
|
+
/**
|
|
90
|
+
* @generated from protobuf field: GroupKeyResponse groupKeyResponse = 7;
|
|
91
|
+
*/
|
|
92
|
+
groupKeyResponse: GroupKeyResponse;
|
|
93
|
+
} | {
|
|
94
|
+
oneofKind: undefined;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @generated from protobuf message ContentMessage
|
|
99
|
+
*/
|
|
100
|
+
export interface ContentMessage {
|
|
74
101
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
* @generated from protobuf field: MessageID messageId = 6;
|
|
102
|
+
* @generated from protobuf field: bytes content = 1;
|
|
78
103
|
*/
|
|
79
|
-
|
|
104
|
+
content: Uint8Array;
|
|
80
105
|
/**
|
|
81
|
-
* @generated from protobuf field:
|
|
106
|
+
* @generated from protobuf field: ContentType contentType = 2;
|
|
82
107
|
*/
|
|
83
|
-
|
|
108
|
+
contentType: ContentType;
|
|
84
109
|
/**
|
|
85
|
-
* @generated from protobuf field:
|
|
110
|
+
* @generated from protobuf field: EncryptionType encryptionType = 3;
|
|
111
|
+
*/
|
|
112
|
+
encryptionType: EncryptionType;
|
|
113
|
+
/**
|
|
114
|
+
* @generated from protobuf field: optional string groupKeyId = 4;
|
|
86
115
|
*/
|
|
87
116
|
groupKeyId?: string;
|
|
88
117
|
/**
|
|
89
|
-
* @generated from protobuf field: optional GroupKey newGroupKey =
|
|
118
|
+
* @generated from protobuf field: optional GroupKey newGroupKey = 5;
|
|
90
119
|
*/
|
|
91
120
|
newGroupKey?: GroupKey;
|
|
92
121
|
}
|
|
@@ -184,20 +213,25 @@ export interface StreamPartHandshakeResponse {
|
|
|
184
213
|
interleaveTargetDescriptor?: PeerDescriptor;
|
|
185
214
|
}
|
|
186
215
|
/**
|
|
187
|
-
* @generated from protobuf message
|
|
216
|
+
* @generated from protobuf message InterleaveRequest
|
|
188
217
|
*/
|
|
189
|
-
export interface
|
|
190
|
-
/**
|
|
191
|
-
* @generated from protobuf field: string streamPartId = 1;
|
|
192
|
-
*/
|
|
193
|
-
streamPartId: string;
|
|
218
|
+
export interface InterleaveRequest {
|
|
194
219
|
/**
|
|
195
220
|
* this is a required field but in generated NetworkRpc.ts it is incorrectly annotated as optional (NET-1082)
|
|
196
221
|
*
|
|
197
|
-
* @generated from protobuf field: dht.PeerDescriptor interleaveTargetDescriptor =
|
|
222
|
+
* @generated from protobuf field: dht.PeerDescriptor interleaveTargetDescriptor = 1;
|
|
198
223
|
*/
|
|
199
224
|
interleaveTargetDescriptor?: PeerDescriptor;
|
|
200
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* @generated from protobuf message InterleaveResponse
|
|
228
|
+
*/
|
|
229
|
+
export interface InterleaveResponse {
|
|
230
|
+
/**
|
|
231
|
+
* @generated from protobuf field: bool accepted = 1;
|
|
232
|
+
*/
|
|
233
|
+
accepted: boolean;
|
|
234
|
+
}
|
|
201
235
|
/**
|
|
202
236
|
* @generated from protobuf message LeaveStreamPartNotice
|
|
203
237
|
*/
|
|
@@ -206,6 +240,10 @@ export interface LeaveStreamPartNotice {
|
|
|
206
240
|
* @generated from protobuf field: string streamPartId = 1;
|
|
207
241
|
*/
|
|
208
242
|
streamPartId: string;
|
|
243
|
+
/**
|
|
244
|
+
* @generated from protobuf field: bool isEntryPoint = 2;
|
|
245
|
+
*/
|
|
246
|
+
isEntryPoint: boolean;
|
|
209
247
|
}
|
|
210
248
|
/**
|
|
211
249
|
* @generated from protobuf message NeighborUpdate
|
|
@@ -260,6 +298,67 @@ export interface TemporaryConnectionResponse {
|
|
|
260
298
|
*/
|
|
261
299
|
accepted: boolean;
|
|
262
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* @generated from protobuf message CloseTemporaryConnection
|
|
303
|
+
*/
|
|
304
|
+
export interface CloseTemporaryConnection {
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* @generated from protobuf message StreamPartitionInfo
|
|
308
|
+
*/
|
|
309
|
+
export interface StreamPartitionInfo {
|
|
310
|
+
/**
|
|
311
|
+
* @generated from protobuf field: string id = 1;
|
|
312
|
+
*/
|
|
313
|
+
id: string;
|
|
314
|
+
/**
|
|
315
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor controlLayerNeighbors = 2;
|
|
316
|
+
*/
|
|
317
|
+
controlLayerNeighbors: PeerDescriptor[];
|
|
318
|
+
/**
|
|
319
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor deliveryLayerNeighbors = 3;
|
|
320
|
+
*/
|
|
321
|
+
deliveryLayerNeighbors: PeerDescriptor[];
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* @generated from protobuf message ControlLayerInfo
|
|
325
|
+
*/
|
|
326
|
+
export interface ControlLayerInfo {
|
|
327
|
+
/**
|
|
328
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor neighbors = 1;
|
|
329
|
+
*/
|
|
330
|
+
neighbors: PeerDescriptor[];
|
|
331
|
+
/**
|
|
332
|
+
* @generated from protobuf field: repeated dht.PeerDescriptor connections = 2;
|
|
333
|
+
*/
|
|
334
|
+
connections: PeerDescriptor[];
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* @generated from protobuf message NodeInfoRequest
|
|
338
|
+
*/
|
|
339
|
+
export interface NodeInfoRequest {
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* @generated from protobuf message NodeInfoResponse
|
|
343
|
+
*/
|
|
344
|
+
export interface NodeInfoResponse {
|
|
345
|
+
/**
|
|
346
|
+
* @generated from protobuf field: dht.PeerDescriptor peerDescriptor = 1;
|
|
347
|
+
*/
|
|
348
|
+
peerDescriptor?: PeerDescriptor;
|
|
349
|
+
/**
|
|
350
|
+
* @generated from protobuf field: repeated StreamPartitionInfo streamPartitions = 2;
|
|
351
|
+
*/
|
|
352
|
+
streamPartitions: StreamPartitionInfo[];
|
|
353
|
+
/**
|
|
354
|
+
* @generated from protobuf field: optional ControlLayerInfo controlLayer = 3;
|
|
355
|
+
*/
|
|
356
|
+
controlLayer?: ControlLayerInfo;
|
|
357
|
+
/**
|
|
358
|
+
* @generated from protobuf field: string version = 4;
|
|
359
|
+
*/
|
|
360
|
+
version: string;
|
|
361
|
+
}
|
|
263
362
|
/**
|
|
264
363
|
* @generated from protobuf enum StreamMessageType
|
|
265
364
|
*/
|
|
@@ -303,6 +402,19 @@ export enum EncryptionType {
|
|
|
303
402
|
*/
|
|
304
403
|
AES = 1
|
|
305
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* @generated from protobuf enum SignatureType
|
|
407
|
+
*/
|
|
408
|
+
export enum SignatureType {
|
|
409
|
+
/**
|
|
410
|
+
* @generated from protobuf enum value: LEGACY_SECP256K1 = 0;
|
|
411
|
+
*/
|
|
412
|
+
LEGACY_SECP256K1 = 0,
|
|
413
|
+
/**
|
|
414
|
+
* @generated from protobuf enum value: SECP256K1 = 1;
|
|
415
|
+
*/
|
|
416
|
+
SECP256K1 = 1
|
|
417
|
+
}
|
|
306
418
|
/**
|
|
307
419
|
* @generated from protobuf enum ProxyDirection
|
|
308
420
|
*/
|
|
@@ -350,15 +462,13 @@ export const MessageRef = new MessageRef$Type();
|
|
|
350
462
|
class StreamMessage$Type extends MessageType<StreamMessage> {
|
|
351
463
|
constructor() {
|
|
352
464
|
super("StreamMessage", [
|
|
353
|
-
{ no: 1, name: "
|
|
354
|
-
{ no: 2, name: "
|
|
355
|
-
{ no: 3, name: "
|
|
356
|
-
{ no: 4, name: "
|
|
357
|
-
{ no: 5, name: "
|
|
358
|
-
{ no: 6, name: "
|
|
359
|
-
{ no: 7, name: "
|
|
360
|
-
{ no: 8, name: "groupKeyId", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
|
|
361
|
-
{ no: 9, name: "newGroupKey", kind: "message", T: () => GroupKey }
|
|
465
|
+
{ no: 1, name: "messageId", kind: "message", T: () => MessageID },
|
|
466
|
+
{ no: 2, name: "previousMessageRef", kind: "message", T: () => MessageRef },
|
|
467
|
+
{ no: 3, name: "signature", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
|
|
468
|
+
{ no: 4, name: "signatureType", kind: "enum", T: () => ["SignatureType", SignatureType] },
|
|
469
|
+
{ no: 5, name: "contentMessage", kind: "message", oneof: "body", T: () => ContentMessage },
|
|
470
|
+
{ no: 6, name: "groupKeyRequest", kind: "message", oneof: "body", T: () => GroupKeyRequest },
|
|
471
|
+
{ no: 7, name: "groupKeyResponse", kind: "message", oneof: "body", T: () => GroupKeyResponse }
|
|
362
472
|
]);
|
|
363
473
|
}
|
|
364
474
|
}
|
|
@@ -367,6 +477,22 @@ class StreamMessage$Type extends MessageType<StreamMessage> {
|
|
|
367
477
|
*/
|
|
368
478
|
export const StreamMessage = new StreamMessage$Type();
|
|
369
479
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
480
|
+
class ContentMessage$Type extends MessageType<ContentMessage> {
|
|
481
|
+
constructor() {
|
|
482
|
+
super("ContentMessage", [
|
|
483
|
+
{ no: 1, name: "content", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
|
|
484
|
+
{ no: 2, name: "contentType", kind: "enum", T: () => ["ContentType", ContentType] },
|
|
485
|
+
{ no: 3, name: "encryptionType", kind: "enum", T: () => ["EncryptionType", EncryptionType] },
|
|
486
|
+
{ no: 4, name: "groupKeyId", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
|
|
487
|
+
{ no: 5, name: "newGroupKey", kind: "message", T: () => GroupKey }
|
|
488
|
+
]);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* @generated MessageType for protobuf message ContentMessage
|
|
493
|
+
*/
|
|
494
|
+
export const ContentMessage = new ContentMessage$Type();
|
|
495
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
370
496
|
class GroupKeyRequest$Type extends MessageType<GroupKeyRequest> {
|
|
371
497
|
constructor() {
|
|
372
498
|
super("GroupKeyRequest", [
|
|
@@ -439,23 +565,35 @@ class StreamPartHandshakeResponse$Type extends MessageType<StreamPartHandshakeRe
|
|
|
439
565
|
*/
|
|
440
566
|
export const StreamPartHandshakeResponse = new StreamPartHandshakeResponse$Type();
|
|
441
567
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
442
|
-
class
|
|
568
|
+
class InterleaveRequest$Type extends MessageType<InterleaveRequest> {
|
|
443
569
|
constructor() {
|
|
444
|
-
super("
|
|
445
|
-
{ no: 1, name: "
|
|
446
|
-
{ no: 2, name: "interleaveTargetDescriptor", kind: "message", T: () => PeerDescriptor }
|
|
570
|
+
super("InterleaveRequest", [
|
|
571
|
+
{ no: 1, name: "interleaveTargetDescriptor", kind: "message", T: () => PeerDescriptor }
|
|
447
572
|
]);
|
|
448
573
|
}
|
|
449
574
|
}
|
|
450
575
|
/**
|
|
451
|
-
* @generated MessageType for protobuf message
|
|
576
|
+
* @generated MessageType for protobuf message InterleaveRequest
|
|
452
577
|
*/
|
|
453
|
-
export const
|
|
578
|
+
export const InterleaveRequest = new InterleaveRequest$Type();
|
|
579
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
580
|
+
class InterleaveResponse$Type extends MessageType<InterleaveResponse> {
|
|
581
|
+
constructor() {
|
|
582
|
+
super("InterleaveResponse", [
|
|
583
|
+
{ no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
|
|
584
|
+
]);
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* @generated MessageType for protobuf message InterleaveResponse
|
|
589
|
+
*/
|
|
590
|
+
export const InterleaveResponse = new InterleaveResponse$Type();
|
|
454
591
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
455
592
|
class LeaveStreamPartNotice$Type extends MessageType<LeaveStreamPartNotice> {
|
|
456
593
|
constructor() {
|
|
457
594
|
super("LeaveStreamPartNotice", [
|
|
458
|
-
{ no: 1, name: "streamPartId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
595
|
+
{ no: 1, name: "streamPartId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
596
|
+
{ no: 2, name: "isEntryPoint", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
|
|
459
597
|
]);
|
|
460
598
|
}
|
|
461
599
|
}
|
|
@@ -524,6 +662,68 @@ class TemporaryConnectionResponse$Type extends MessageType<TemporaryConnectionRe
|
|
|
524
662
|
* @generated MessageType for protobuf message TemporaryConnectionResponse
|
|
525
663
|
*/
|
|
526
664
|
export const TemporaryConnectionResponse = new TemporaryConnectionResponse$Type();
|
|
665
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
666
|
+
class CloseTemporaryConnection$Type extends MessageType<CloseTemporaryConnection> {
|
|
667
|
+
constructor() {
|
|
668
|
+
super("CloseTemporaryConnection", []);
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
/**
|
|
672
|
+
* @generated MessageType for protobuf message CloseTemporaryConnection
|
|
673
|
+
*/
|
|
674
|
+
export const CloseTemporaryConnection = new CloseTemporaryConnection$Type();
|
|
675
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
676
|
+
class StreamPartitionInfo$Type extends MessageType<StreamPartitionInfo> {
|
|
677
|
+
constructor() {
|
|
678
|
+
super("StreamPartitionInfo", [
|
|
679
|
+
{ no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
|
|
680
|
+
{ no: 2, name: "controlLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
681
|
+
{ no: 3, name: "deliveryLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
|
|
682
|
+
]);
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* @generated MessageType for protobuf message StreamPartitionInfo
|
|
687
|
+
*/
|
|
688
|
+
export const StreamPartitionInfo = new StreamPartitionInfo$Type();
|
|
689
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
690
|
+
class ControlLayerInfo$Type extends MessageType<ControlLayerInfo> {
|
|
691
|
+
constructor() {
|
|
692
|
+
super("ControlLayerInfo", [
|
|
693
|
+
{ no: 1, name: "neighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
|
|
694
|
+
{ no: 2, name: "connections", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
|
|
695
|
+
]);
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* @generated MessageType for protobuf message ControlLayerInfo
|
|
700
|
+
*/
|
|
701
|
+
export const ControlLayerInfo = new ControlLayerInfo$Type();
|
|
702
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
703
|
+
class NodeInfoRequest$Type extends MessageType<NodeInfoRequest> {
|
|
704
|
+
constructor() {
|
|
705
|
+
super("NodeInfoRequest", []);
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* @generated MessageType for protobuf message NodeInfoRequest
|
|
710
|
+
*/
|
|
711
|
+
export const NodeInfoRequest = new NodeInfoRequest$Type();
|
|
712
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
713
|
+
class NodeInfoResponse$Type extends MessageType<NodeInfoResponse> {
|
|
714
|
+
constructor() {
|
|
715
|
+
super("NodeInfoResponse", [
|
|
716
|
+
{ no: 1, name: "peerDescriptor", kind: "message", T: () => PeerDescriptor },
|
|
717
|
+
{ no: 2, name: "streamPartitions", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => StreamPartitionInfo },
|
|
718
|
+
{ no: 3, name: "controlLayer", kind: "message", T: () => ControlLayerInfo },
|
|
719
|
+
{ no: 4, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
|
|
720
|
+
]);
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* @generated MessageType for protobuf message NodeInfoResponse
|
|
725
|
+
*/
|
|
726
|
+
export const NodeInfoResponse = new NodeInfoResponse$Type();
|
|
527
727
|
/**
|
|
528
728
|
* @generated ServiceType for protobuf service DeliveryRpc
|
|
529
729
|
*/
|
|
@@ -542,7 +742,7 @@ export const ProxyConnectionRpc = new ServiceType("ProxyConnectionRpc", [
|
|
|
542
742
|
*/
|
|
543
743
|
export const HandshakeRpc = new ServiceType("HandshakeRpc", [
|
|
544
744
|
{ name: "handshake", options: {}, I: StreamPartHandshakeRequest, O: StreamPartHandshakeResponse },
|
|
545
|
-
{ name: "
|
|
745
|
+
{ name: "interleaveRequest", options: {}, I: InterleaveRequest, O: InterleaveResponse }
|
|
546
746
|
]);
|
|
547
747
|
/**
|
|
548
748
|
* @generated ServiceType for protobuf service NeighborUpdateRpc
|
|
@@ -554,5 +754,12 @@ export const NeighborUpdateRpc = new ServiceType("NeighborUpdateRpc", [
|
|
|
554
754
|
* @generated ServiceType for protobuf service TemporaryConnectionRpc
|
|
555
755
|
*/
|
|
556
756
|
export const TemporaryConnectionRpc = new ServiceType("TemporaryConnectionRpc", [
|
|
557
|
-
{ name: "openConnection", options: {}, I: TemporaryConnectionRequest, O: TemporaryConnectionResponse }
|
|
757
|
+
{ name: "openConnection", options: {}, I: TemporaryConnectionRequest, O: TemporaryConnectionResponse },
|
|
758
|
+
{ name: "closeConnection", options: {}, I: CloseTemporaryConnection, O: Empty }
|
|
759
|
+
]);
|
|
760
|
+
/**
|
|
761
|
+
* @generated ServiceType for protobuf service NodeInfoRpc
|
|
762
|
+
*/
|
|
763
|
+
export const NodeInfoRpc = new ServiceType("NodeInfoRpc", [
|
|
764
|
+
{ name: "getInfo", options: {}, I: NodeInfoRequest, O: NodeInfoResponse }
|
|
558
765
|
]);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
|
|
3
|
+
import { groupBy, range } from 'lodash'
|
|
4
|
+
import { streamPartIdToDataKey } from '../../src/logic/EntryPointDiscovery'
|
|
5
|
+
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
6
|
+
import { DhtAddress } from '@streamr/dht'
|
|
7
|
+
|
|
8
|
+
describe('StreamPartIdDataKeyDistribution', () => {
|
|
9
|
+
|
|
10
|
+
it('partitions are well distributed', () => {
|
|
11
|
+
|
|
12
|
+
const streamId = 'stream'
|
|
13
|
+
const dataKeys = range(100).map((i) => {
|
|
14
|
+
const streamPartId = StreamPartIDUtils.parse(streamId + '#' + i)
|
|
15
|
+
return streamPartIdToDataKey(streamPartId)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const byInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0])
|
|
19
|
+
expect(Object.keys(byInitials).length).toEqual(16)
|
|
20
|
+
console.log(Object.values(byInitials).map((a) => a.length))
|
|
21
|
+
})
|
|
22
|
+
|
|
23
|
+
it('streamIds are well distributed', () => {
|
|
24
|
+
const dataKeys = range(10000).map(() => {
|
|
25
|
+
const streamPartId = StreamPartIDUtils.parse(Math.random().toString(32).substr(2, 32) + '#0')
|
|
26
|
+
return streamPartIdToDataKey(streamPartId)
|
|
27
|
+
})
|
|
28
|
+
const byInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0])
|
|
29
|
+
expect(Object.keys(byInitials).length).toEqual(16)
|
|
30
|
+
console.log(Object.values(byInitials).map((a) => a.length))
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
it('streamPartIds are well distributed', () => {
|
|
34
|
+
const streamIds = range(10000).map(() => Math.random().toString(32).substr(2, 32))
|
|
35
|
+
const dataKeys: DhtAddress[] = []
|
|
36
|
+
streamIds.forEach((streamId) => {
|
|
37
|
+
range(100).forEach((i) => {
|
|
38
|
+
const streamPartId = StreamPartIDUtils.parse(streamId + '#' + i)
|
|
39
|
+
dataKeys.push(streamPartIdToDataKey(streamPartId))
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
const byInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0])
|
|
44
|
+
expect(Object.keys(byInitials).length).toEqual(16)
|
|
45
|
+
console.log(Object.values(byInitials).map((a) => a.length))
|
|
46
|
+
|
|
47
|
+
const byTwoInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0] + dataKey[1])
|
|
48
|
+
expect(Object.keys(byTwoInitials).length).toEqual(16 * 16)
|
|
49
|
+
console.log(Object.values(byTwoInitials).map((a) => a.length))
|
|
50
|
+
|
|
51
|
+
const byThreeInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0] + dataKey[1] + dataKey[2])
|
|
52
|
+
expect(Object.keys(byThreeInitials).length).toEqual(16 * 16 * 16)
|
|
53
|
+
console.log(Object.values(byThreeInitials).map((a) => a.length))
|
|
54
|
+
|
|
55
|
+
const byFourInitials = groupBy(dataKeys, (dataKey: DhtAddress) => dataKey[0] + dataKey[1] + dataKey[2] + dataKey[3])
|
|
56
|
+
expect(Object.keys(byFourInitials).length).toEqual(16 * 16 * 16 * 16)
|
|
57
|
+
console.log(Object.values(byFourInitials).map((a) => a.length))
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
})
|