@streamr/dht 100.0.0-testnet-two.3 → 100.0.0-testnet-three.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 +8 -8
- package/dist/src/connection/Connection.d.ts +1 -0
- package/dist/src/connection/Connection.js +10 -3
- package/dist/src/connection/Connection.js.map +1 -1
- package/dist/src/connection/ConnectionLockHandler.d.ts +3 -3
- package/dist/src/connection/ConnectionLockHandler.js +8 -10
- package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcLocal.js +5 -4
- package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcRemote.js +4 -4
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
- package/dist/src/connection/ConnectionManager.d.ts +8 -8
- package/dist/src/connection/ConnectionManager.js +54 -57
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectorFacade.d.ts +3 -2
- package/dist/src/connection/ConnectorFacade.js +7 -0
- package/dist/src/connection/ConnectorFacade.js.map +1 -1
- package/dist/src/connection/Handshaker.js +3 -1
- package/dist/src/connection/Handshaker.js.map +1 -1
- package/dist/src/connection/IConnection.d.ts +2 -7
- package/dist/src/connection/IConnection.js +1 -8
- package/dist/src/connection/IConnection.js.map +1 -1
- package/dist/src/connection/ManagedConnection.js +23 -15
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/ManagedWebrtcConnection.js.map +1 -1
- package/dist/src/connection/connectivityChecker.js.map +1 -1
- package/dist/src/connection/connectivityRequestHandler.js +5 -2
- package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
- package/dist/src/connection/simulator/Simulator.js +32 -20
- package/dist/src/connection/simulator/Simulator.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.js +13 -10
- package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnector.js +9 -6
- package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
- package/dist/src/connection/simulator/pings.js.map +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js +26 -14
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.d.ts +0 -1
- package/dist/src/connection/webrtc/WebrtcConnector.js +18 -17
- package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +10 -9
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
- package/dist/src/connection/websocket/AutoCertifierClientFacade.js +3 -0
- package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +1 -1
- package/dist/src/connection/websocket/ClientWebsocket.js +7 -4
- package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/ServerWebsocket.d.ts +1 -0
- package/dist/src/connection/websocket/ServerWebsocket.js +22 -3
- package/dist/src/connection/websocket/ServerWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnector.d.ts +2 -1
- package/dist/src/connection/websocket/WebsocketConnector.js +24 -15
- package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +2 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +3 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +2 -2
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketServer.js +6 -3
- package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +18 -19
- package/dist/src/dht/DhtNode.js +56 -65
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.d.ts +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.js +5 -4
- package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcRemote.d.ts +2 -1
- package/dist/src/dht/DhtNodeRpcRemote.js +5 -3
- package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcLocal.d.ts +1 -1
- package/dist/src/dht/ExternalApiRpcLocal.js +4 -3
- package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
- package/dist/src/dht/PeerManager.d.ts +5 -5
- package/dist/src/dht/PeerManager.js +31 -24
- package/dist/src/dht/PeerManager.js.map +1 -1
- package/dist/src/dht/contact/Contact.js +3 -2
- package/dist/src/dht/contact/Contact.js.map +1 -1
- package/dist/src/dht/contact/ContactList.js +9 -5
- package/dist/src/dht/contact/ContactList.js.map +1 -1
- package/dist/src/dht/contact/RandomContactList.js +1 -0
- package/dist/src/dht/contact/RandomContactList.js.map +1 -1
- package/dist/src/dht/contact/RpcRemote.d.ts +2 -1
- package/dist/src/dht/contact/RpcRemote.js +4 -0
- package/dist/src/dht/contact/RpcRemote.js.map +1 -1
- package/dist/src/dht/contact/SortedContactList.js +3 -2
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/discovery/DiscoverySession.js +8 -8
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +8 -2
- package/dist/src/dht/discovery/PeerDiscovery.js +26 -17
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +9 -9
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +3 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +6 -5
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +2 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +26 -20
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +4 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +5 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -1
- package/dist/src/dht/routing/DuplicateDetector.d.ts +2 -4
- package/dist/src/dht/routing/DuplicateDetector.js +10 -15
- package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
- package/dist/src/dht/routing/Router.d.ts +1 -1
- package/dist/src/dht/routing/Router.js +20 -15
- package/dist/src/dht/routing/Router.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcLocal.js +4 -4
- package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcRemote.js +11 -9
- package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
- package/dist/src/dht/routing/RoutingSession.d.ts +2 -0
- package/dist/src/dht/routing/RoutingSession.js +27 -9
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/store/LocalDataStore.js +5 -4
- package/dist/src/dht/store/LocalDataStore.js.map +1 -1
- package/dist/src/dht/store/StoreManager.js +8 -8
- package/dist/src/dht/store/StoreManager.js.map +1 -1
- package/dist/src/dht/store/StoreRpcLocal.js +1 -0
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
- package/dist/src/dht/store/StoreRpcRemote.js +3 -3
- package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
- package/dist/src/exports.d.ts +1 -4
- package/dist/src/exports.js +4 -7
- package/dist/src/exports.js.map +1 -1
- package/dist/src/helpers/AddressTools.js.map +1 -1
- package/dist/src/helpers/Connectivity.js.map +1 -1
- package/dist/src/helpers/MapWithTtl.js +2 -1
- package/dist/src/helpers/MapWithTtl.js.map +1 -1
- package/dist/src/helpers/createPeerDescriptor.d.ts +3 -0
- package/dist/src/helpers/createPeerDescriptor.js +56 -0
- package/dist/src/helpers/createPeerDescriptor.js.map +1 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +2 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +30 -0
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +1 -0
- package/dist/src/helpers/debugHelpers.js.map +1 -1
- package/dist/src/helpers/errors.js +2 -0
- package/dist/src/helpers/errors.js.map +1 -1
- package/dist/src/helpers/offering.d.ts +4 -0
- package/dist/src/helpers/offering.js +18 -0
- package/dist/src/helpers/offering.js.map +1 -0
- package/dist/src/helpers/protoToString.js.map +1 -1
- package/dist/src/identifiers.d.ts +3 -0
- package/dist/src/identifiers.js +9 -1
- package/dist/src/identifiers.js.map +1 -1
- package/dist/src/proto/google/protobuf/any.d.ts +8 -5
- 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.d.ts +0 -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.d.ts +10 -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 +4 -5
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +38 -29
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +22 -12
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +11 -16
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +2 -3
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
- package/dist/src/rpc-protocol/DhtCallContext.d.ts +0 -1
- package/dist/src/rpc-protocol/DhtCallContext.js +8 -0
- package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -1
- package/dist/src/transport/ITransport.d.ts +1 -1
- package/dist/src/transport/ListeningRpcCommunicator.js +2 -0
- package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
- package/dist/src/transport/RoutingRpcCommunicator.d.ts +2 -1
- package/dist/src/transport/RoutingRpcCommunicator.js +2 -0
- package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
- package/package.json +8 -8
- package/protos/DhtRpc.proto +7 -4
- package/src/connection/Connection.ts +6 -1
- package/src/connection/ConnectionLockHandler.ts +3 -3
- package/src/connection/ConnectionLockRpcLocal.ts +1 -5
- package/src/connection/ConnectionLockRpcRemote.ts +1 -1
- package/src/connection/ConnectionManager.ts +24 -40
- package/src/connection/ConnectorFacade.ts +3 -2
- package/src/connection/IConnection.ts +2 -8
- package/src/connection/ManagedConnection.ts +3 -3
- package/src/connection/connectivityRequestHandler.ts +7 -3
- package/src/connection/simulator/Simulator.ts +1 -2
- package/src/connection/simulator/SimulatorConnection.ts +1 -1
- package/src/connection/simulator/SimulatorConnector.ts +1 -2
- package/src/connection/webrtc/BrowserWebrtcConnection.ts +4 -3
- package/src/connection/webrtc/NodeWebrtcConnection.ts +5 -4
- package/src/connection/webrtc/WebrtcConnector.ts +9 -17
- package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +7 -7
- package/src/connection/websocket/ClientWebsocket.ts +3 -2
- package/src/connection/websocket/ServerWebsocket.ts +17 -1
- package/src/connection/websocket/WebsocketConnector.ts +10 -9
- package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +4 -2
- package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +1 -1
- package/src/connection/websocket/WebsocketServer.ts +2 -2
- package/src/dht/DhtNode.ts +63 -86
- package/src/dht/DhtNodeRpcLocal.ts +5 -5
- package/src/dht/DhtNodeRpcRemote.ts +3 -3
- package/src/dht/ExternalApiRpcLocal.ts +3 -4
- package/src/dht/PeerManager.ts +14 -20
- package/src/dht/contact/Contact.ts +1 -2
- package/src/dht/contact/RpcRemote.ts +2 -1
- package/src/dht/discovery/DiscoverySession.ts +2 -3
- package/src/dht/discovery/PeerDiscovery.ts +16 -9
- package/src/dht/recursive-operation/RecursiveOperationManager.ts +12 -6
- package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +1 -1
- package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +3 -2
- package/src/dht/recursive-operation/RecursiveOperationSession.ts +19 -9
- package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +13 -3
- package/src/dht/routing/DuplicateDetector.ts +9 -21
- package/src/dht/routing/Router.ts +12 -11
- package/src/dht/routing/RouterRpcLocal.ts +1 -2
- package/src/dht/routing/RouterRpcRemote.ts +5 -5
- package/src/dht/routing/RoutingSession.ts +22 -2
- package/src/dht/store/StoreManager.ts +1 -2
- package/src/dht/store/StoreRpcRemote.ts +1 -1
- package/src/exports.ts +9 -4
- package/src/helpers/createPeerDescriptor.ts +56 -0
- package/src/helpers/createPeerDescriptorSignaturePayload.ts +28 -0
- package/src/helpers/offering.ts +15 -0
- package/src/identifiers.ts +10 -1
- package/src/proto/google/protobuf/any.ts +12 -9
- package/src/proto/google/protobuf/empty.ts +2 -5
- package/src/proto/google/protobuf/timestamp.ts +14 -5
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +6 -7
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -4
- package/src/proto/packages/dht/protos/DhtRpc.ts +32 -20
- package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
- package/src/rpc-protocol/DhtCallContext.ts +0 -1
- package/src/transport/ITransport.ts +1 -1
- package/src/transport/RoutingRpcCommunicator.ts +1 -1
- package/test/benchmark/Find.test.ts +6 -8
- package/test/benchmark/KademliaCorrectness.test.ts +2 -3
- package/test/benchmark/SortedContactListBenchmark.test.ts +16 -16
- package/test/benchmark/WebsocketServerMemoryLeak.test.ts +1 -1
- package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +8 -8
- package/test/benchmark/kademlia-simulation/SimulationNode.ts +8 -8
- package/test/end-to-end/Layer0-Layer1.test.ts +1 -1
- package/test/end-to-end/Layer0.test.ts +4 -4
- package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +12 -12
- package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +18 -18
- package/test/end-to-end/Layer0Webrtc.test.ts +13 -10
- package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +2 -2
- package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +2 -2
- package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +1 -1
- package/test/end-to-end/WebsocketConnectionRequest.test.ts +3 -3
- package/test/end-to-end/memory-leak.test.ts +2 -2
- package/test/integration/ConnectionLocking.test.ts +60 -47
- package/test/integration/ConnectionManager.test.ts +8 -7
- package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
- package/test/integration/DhtNodeExternalAPI.test.ts +1 -2
- package/test/integration/DhtNodeRpcRemote.test.ts +4 -3
- package/test/integration/DhtRpc.test.ts +4 -3
- package/test/integration/Find.test.ts +4 -6
- package/test/integration/Layer1-scale.test.ts +7 -7
- package/test/integration/Mock-Layer1-Layer0.test.ts +21 -24
- package/test/integration/MultipleEntryPointJoining.test.ts +7 -7
- package/test/integration/ReplicateData.test.ts +52 -161
- package/test/integration/RouteMessage.test.ts +24 -47
- package/test/integration/RouterRpcRemote.test.ts +7 -4
- package/test/integration/ScaleDownDht.test.ts +2 -3
- package/test/integration/SimultaneousConnections.test.ts +9 -8
- package/test/integration/Store.test.ts +1 -2
- package/test/integration/StoreAndDelete.test.ts +5 -0
- package/test/integration/StoreOnDhtWithThreeNodes.test.ts +59 -0
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +1 -1
- package/test/integration/StoreRpcRemote.test.ts +4 -4
- package/test/integration/WebrtcConnectionManagement.test.ts +6 -5
- package/test/integration/WebrtcConnectorRpc.test.ts +3 -2
- package/test/integration/WebsocketConnectionManagement.test.ts +27 -15
- package/test/integration/WebsocketConnectorRpc.test.ts +3 -2
- package/test/integration/{RpcErrors.test.ts → rpc-connections-over-webrpc.test.ts} +6 -3
- package/test/unit/DuplicateDetector.test.ts +2 -2
- package/test/unit/LocalDataStore.test.ts +1 -4
- package/test/unit/RandomContactList.test.ts +2 -4
- package/test/unit/RecursiveOperationManager.test.ts +5 -6
- package/test/unit/RecursiveOperationSession.test.ts +5 -4
- package/test/unit/Router.test.ts +25 -8
- package/test/unit/RoutingSession.test.ts +3 -3
- package/test/unit/SortedContactList.test.ts +2 -4
- package/test/unit/connectivityRequestHandler.test.ts +5 -3
- package/test/unit/createPeerDescriptor.test.ts +63 -0
- package/test/utils/FakeTransport.ts +7 -4
- package/test/utils/mock/Transport.ts +1 -1
- package/test/utils/utils.ts +6 -6
- package/dist/src/helpers/PeerID.d.ts +0 -27
- package/dist/src/helpers/PeerID.js +0 -87
- package/dist/src/helpers/PeerID.js.map +0 -1
- package/dist/src/helpers/UUID.d.ts +0 -8
- package/dist/src/helpers/UUID.js +0 -36
- package/dist/src/helpers/UUID.js.map +0 -1
- package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +0 -7
- package/dist/src/helpers/peerIdFromPeerDescriptor.js +0 -23
- package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +0 -1
- package/src/helpers/PeerID.ts +0 -97
- package/src/helpers/UUID.ts +0 -35
- package/src/helpers/peerIdFromPeerDescriptor.ts +0 -20
- package/test/unit/PeerID.test.ts +0 -22
- package/test/unit/UUID.test.ts +0 -55
|
@@ -5,12 +5,15 @@ const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
|
|
|
5
5
|
const Connection_1 = require("../Connection");
|
|
6
6
|
const utils_1 = require("@streamr/utils");
|
|
7
7
|
const protoToString_1 = require("../../helpers/protoToString");
|
|
8
|
-
const
|
|
8
|
+
const identifiers_1 = require("../../identifiers");
|
|
9
9
|
const logger = new utils_1.Logger(module);
|
|
10
10
|
class SimulatorConnection extends Connection_1.Connection {
|
|
11
|
+
stopped = false;
|
|
12
|
+
localPeerDescriptor;
|
|
13
|
+
targetPeerDescriptor;
|
|
14
|
+
simulator;
|
|
11
15
|
constructor(localPeerDescriptor, targetPeerDescriptor, connectionType, simulator) {
|
|
12
16
|
super(connectionType);
|
|
13
|
-
this.stopped = false;
|
|
14
17
|
this.localPeerDescriptor = localPeerDescriptor;
|
|
15
18
|
this.setPeerDescriptor(targetPeerDescriptor);
|
|
16
19
|
this.targetPeerDescriptor = targetPeerDescriptor;
|
|
@@ -30,14 +33,14 @@ class SimulatorConnection extends Connection_1.Connection {
|
|
|
30
33
|
this.simulator.send(this, data);
|
|
31
34
|
}
|
|
32
35
|
else {
|
|
33
|
-
const localNodeId = (0,
|
|
34
|
-
const targetNodeId = (0,
|
|
36
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
37
|
+
const targetNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor);
|
|
35
38
|
logger.error(localNodeId + ', ' + targetNodeId + 'tried to send() on a stopped connection');
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
async close(gracefulLeave) {
|
|
39
|
-
const localNodeId = (0,
|
|
40
|
-
const targetNodeId = (0,
|
|
42
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
43
|
+
const targetNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor);
|
|
41
44
|
logger.trace(localNodeId + ', ' + targetNodeId + ' close()');
|
|
42
45
|
if (!this.stopped) {
|
|
43
46
|
logger.trace(localNodeId + ', ' + targetNodeId + ' close() not stopped');
|
|
@@ -88,7 +91,7 @@ class SimulatorConnection extends Connection_1.Connection {
|
|
|
88
91
|
}
|
|
89
92
|
handleIncomingDisconnection() {
|
|
90
93
|
if (!this.stopped) {
|
|
91
|
-
const localNodeId = (0,
|
|
94
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
92
95
|
logger.trace(localNodeId + ' handleIncomingDisconnection()');
|
|
93
96
|
this.stopped = true;
|
|
94
97
|
this.doDisconnect(false);
|
|
@@ -98,7 +101,7 @@ class SimulatorConnection extends Connection_1.Connection {
|
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
103
|
destroy() {
|
|
101
|
-
const localNodeId = (0,
|
|
104
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
102
105
|
if (!this.stopped) {
|
|
103
106
|
logger.trace(localNodeId + ' destroy()');
|
|
104
107
|
this.removeAllListeners();
|
|
@@ -109,8 +112,8 @@ class SimulatorConnection extends Connection_1.Connection {
|
|
|
109
112
|
}
|
|
110
113
|
}
|
|
111
114
|
doDisconnect(gracefulLeave) {
|
|
112
|
-
const localNodeId = (0,
|
|
113
|
-
const targetNodeId = (0,
|
|
115
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
116
|
+
const targetNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.targetPeerDescriptor);
|
|
114
117
|
logger.trace(localNodeId + ' doDisconnect()');
|
|
115
118
|
this.stopped = true;
|
|
116
119
|
logger.trace(localNodeId + ', ' + targetNodeId + ' doDisconnect emitting');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimulatorConnection.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnection.ts"],"names":[],"mappings":";;;AAEA,mEAAgF;AAChF,8CAA0C;AAC1C,0CAAuC;AACvC,+DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"SimulatorConnection.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,22 @@ const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
|
|
|
6
6
|
const utils_1 = require("@streamr/utils");
|
|
7
7
|
const ManagedConnection_1 = require("../ManagedConnection");
|
|
8
8
|
const SimulatorConnection_1 = require("./SimulatorConnection");
|
|
9
|
-
const
|
|
9
|
+
const identifiers_1 = require("../../identifiers");
|
|
10
10
|
const logger = new utils_1.Logger(module);
|
|
11
11
|
class SimulatorConnector {
|
|
12
|
+
connectingConnections = new Map();
|
|
13
|
+
stopped = false;
|
|
14
|
+
localPeerDescriptor;
|
|
15
|
+
simulator;
|
|
16
|
+
onNewConnection;
|
|
12
17
|
constructor(localPeerDescriptor, simulator, onNewConnection) {
|
|
13
|
-
this.connectingConnections = new Map();
|
|
14
|
-
this.stopped = false;
|
|
15
18
|
this.localPeerDescriptor = localPeerDescriptor;
|
|
16
19
|
this.simulator = simulator;
|
|
17
20
|
this.onNewConnection = onNewConnection;
|
|
18
21
|
}
|
|
19
22
|
connect(targetPeerDescriptor) {
|
|
20
|
-
logger.trace('connect() ' + (0,
|
|
21
|
-
const nodeId = (0,
|
|
23
|
+
logger.trace('connect() ' + (0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor));
|
|
24
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor);
|
|
22
25
|
const existingConnection = this.connectingConnections.get(nodeId);
|
|
23
26
|
if (existingConnection) {
|
|
24
27
|
return existingConnection;
|
|
@@ -40,7 +43,7 @@ class SimulatorConnector {
|
|
|
40
43
|
return this.localPeerDescriptor;
|
|
41
44
|
}
|
|
42
45
|
handleIncomingConnection(sourceConnection) {
|
|
43
|
-
const localNodeId = (0,
|
|
46
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(sourceConnection.localPeerDescriptor);
|
|
44
47
|
logger.trace(localNodeId + ' incoming connection, stopped: ' + this.stopped);
|
|
45
48
|
if (this.stopped) {
|
|
46
49
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimulatorConnector.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnector.ts"],"names":[],"mappings":";;;AAAA,gDAA+C;AAE/C,mEAG+C;AAC/C,0CAAuC;AACvC,4DAAwD;AAExD,+DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"SimulatorConnector.js","sourceRoot":"","sources":["../../../../src/connection/simulator/SimulatorConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pings.js","sourceRoot":"","sources":["../../../../src/connection/simulator/pings.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAE9D,mEAAmE;AACnE,kEAAkE;AAClE,gDAAgD;AAEhD,IAAY,WAA0N;AAAtO,WAAY,WAAW;IAAG,6DAAY,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,yDAAU,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,6DAAY,CAAA;IAAE,0DAAU,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,wDAAS,CAAA;AAAC,CAAC,EAA1N,WAAW,2BAAX,WAAW,QAA+M;AAEzN,QAAA,gBAAgB,GAAG;IAC5B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACpI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACzI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IACzI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC3I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;CAChJ,CAAA;AAED,SAAgB,oBAAoB;IAChC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"pings.js","sourceRoot":"","sources":["../../../../src/connection/simulator/pings.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;AAE9D,mEAAmE;AACnE,kEAAkE;AAClE,gDAAgD;AAEhD,IAAY,WAA0N;AAAtO,WAAY,WAAW;IAAG,6DAAY,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,yDAAU,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,uDAAS,CAAA;IAAE,6DAAY,CAAA;IAAE,0DAAU,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,kEAAc,CAAA;IAAE,wDAAS,CAAA;AAAC,CAAC,EAA1N,WAAW,2BAAX,WAAW,QAA+M;AAEzN,QAAA,gBAAgB,GAAG;IAC5B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACnI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACpI,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACrI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACvI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACzI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;IACtI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;IACzI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC3I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IAC5I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;IAC1I,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC;CAChJ,CAAA;AAED,SAAgB,oBAAoB;IAChC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,EAAE,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,wBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,wBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjB,CAAC;IACD,OAAO,GAAG,CAAA;AACd,CAAC;AAVD,oDAUC;AAED,SAAgB,eAAe;IAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;AACzC,CAAC;AAFD,0CAEC"}
|
|
@@ -45,6 +45,6 @@ export declare class NodeWebrtcConnection extends EventEmitter<Events> implement
|
|
|
45
45
|
private onDataChannelOpen;
|
|
46
46
|
private onStateChange;
|
|
47
47
|
isOpen(): boolean;
|
|
48
|
-
setConnectionId(
|
|
48
|
+
setConnectionId(connectionId: ConnectionID): void;
|
|
49
49
|
}
|
|
50
50
|
export {};
|
|
@@ -32,8 +32,9 @@ const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
|
32
32
|
const node_datachannel_1 = __importStar(require("node-datachannel"));
|
|
33
33
|
const utils_1 = require("@streamr/utils");
|
|
34
34
|
const errors_1 = require("../../helpers/errors");
|
|
35
|
-
const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
|
|
36
35
|
const iceServerAsString_1 = require("./iceServerAsString");
|
|
36
|
+
const identifiers_1 = require("../../identifiers");
|
|
37
|
+
const Connection_1 = require("../Connection");
|
|
37
38
|
const logger = new utils_1.Logger(module);
|
|
38
39
|
exports.WEBRTC_CLEANUP = new class {
|
|
39
40
|
// eslint-disable-next-line class-methods-use-this
|
|
@@ -54,13 +55,24 @@ var RtcPeerConnectionStateEnum;
|
|
|
54
55
|
})(RtcPeerConnectionStateEnum || (RtcPeerConnectionStateEnum = {}));
|
|
55
56
|
node_datachannel_1.default.initLogger('Fatal');
|
|
56
57
|
class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
58
|
+
connectionId;
|
|
59
|
+
connection;
|
|
60
|
+
dataChannel;
|
|
61
|
+
lastState = 'connecting';
|
|
62
|
+
remoteDescriptionSet = false;
|
|
63
|
+
connectingTimeoutRef;
|
|
64
|
+
connectionType = IConnection_1.ConnectionType.WEBRTC;
|
|
65
|
+
iceServers;
|
|
66
|
+
_bufferThresholdHigh; // TODO: buffer handling must be implemented before production use (NET-938)
|
|
67
|
+
bufferThresholdLow;
|
|
68
|
+
connectingTimeout;
|
|
69
|
+
remotePeerDescriptor;
|
|
70
|
+
portRange;
|
|
71
|
+
maxMessageSize;
|
|
72
|
+
closed = false;
|
|
57
73
|
constructor(params) {
|
|
58
74
|
super();
|
|
59
|
-
this.
|
|
60
|
-
this.remoteDescriptionSet = false;
|
|
61
|
-
this.connectionType = IConnection_1.ConnectionType.WEBRTC;
|
|
62
|
-
this.closed = false;
|
|
63
|
-
this.connectionId = new IConnection_1.ConnectionID();
|
|
75
|
+
this.connectionId = (0, Connection_1.createRandomConnectionId)();
|
|
64
76
|
this.iceServers = params.iceServers ?? [];
|
|
65
77
|
// eslint-disable-next-line no-underscore-dangle
|
|
66
78
|
this._bufferThresholdHigh = params.bufferThresholdHigh ?? 2 ** 17;
|
|
@@ -71,7 +83,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
71
83
|
this.portRange = params.portRange;
|
|
72
84
|
}
|
|
73
85
|
start(isOffering) {
|
|
74
|
-
const nodeId = (0,
|
|
86
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor);
|
|
75
87
|
logger.trace(`Starting new connection for peer ${nodeId}`, { isOffering });
|
|
76
88
|
this.connection = new node_datachannel_1.PeerConnection(nodeId, {
|
|
77
89
|
iceServers: this.iceServers.map(iceServerAsString_1.iceServerAsString),
|
|
@@ -101,7 +113,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
101
113
|
}
|
|
102
114
|
async setRemoteDescription(description, type) {
|
|
103
115
|
if (this.connection) {
|
|
104
|
-
const remoteNodeId = (0,
|
|
116
|
+
const remoteNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor);
|
|
105
117
|
try {
|
|
106
118
|
logger.trace(`Setting remote descriptor for peer: ${remoteNodeId}`);
|
|
107
119
|
this.connection.setRemoteDescription(description, type);
|
|
@@ -118,7 +130,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
118
130
|
addRemoteCandidate(candidate, mid) {
|
|
119
131
|
if (this.connection) {
|
|
120
132
|
if (this.remoteDescriptionSet) {
|
|
121
|
-
const remoteNodeId = (0,
|
|
133
|
+
const remoteNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor);
|
|
122
134
|
try {
|
|
123
135
|
logger.trace(`Setting remote candidate for peer: ${remoteNodeId}`);
|
|
124
136
|
this.connection.addRemoteCandidate(candidate, mid);
|
|
@@ -142,7 +154,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
142
154
|
this.dataChannel.sendMessageBinary(data);
|
|
143
155
|
}
|
|
144
156
|
catch (err) {
|
|
145
|
-
const remoteNodeId = (0,
|
|
157
|
+
const remoteNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor);
|
|
146
158
|
logger.debug('Failed to send binary message to ' + remoteNodeId + err);
|
|
147
159
|
}
|
|
148
160
|
}
|
|
@@ -152,7 +164,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
152
164
|
}
|
|
153
165
|
doClose(gracefulLeave, reason) {
|
|
154
166
|
if (!this.closed) {
|
|
155
|
-
const remoteNodeId = (0,
|
|
167
|
+
const remoteNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor);
|
|
156
168
|
logger.trace(`Closing Node WebRTC Connection to ${remoteNodeId}` + `${(reason !== undefined) ? `, reason: ${reason}` : ''}`);
|
|
157
169
|
this.closed = true;
|
|
158
170
|
this.emit('disconnected', gracefulLeave, undefined, reason);
|
|
@@ -209,7 +221,7 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
209
221
|
if (this.connectingTimeoutRef) {
|
|
210
222
|
clearTimeout(this.connectingTimeoutRef);
|
|
211
223
|
}
|
|
212
|
-
logger.trace(`DataChannel opened for peer ${(0,
|
|
224
|
+
logger.trace(`DataChannel opened for peer ${(0, identifiers_1.getNodeIdFromPeerDescriptor)(this.remotePeerDescriptor)}`);
|
|
213
225
|
this.emit('connected');
|
|
214
226
|
}
|
|
215
227
|
onStateChange(state) {
|
|
@@ -229,8 +241,8 @@ class NodeWebrtcConnection extends eventemitter3_1.default {
|
|
|
229
241
|
isOpen() {
|
|
230
242
|
return !this.closed && this.lastState === 'connected' && !!this.dataChannel;
|
|
231
243
|
}
|
|
232
|
-
setConnectionId(
|
|
233
|
-
this.connectionId =
|
|
244
|
+
setConnectionId(connectionId) {
|
|
245
|
+
this.connectionId = connectionId;
|
|
234
246
|
}
|
|
235
247
|
}
|
|
236
248
|
exports.NodeWebrtcConnection = NodeWebrtcConnection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWebrtcConnection.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/NodeWebrtcConnection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAA4F;AAE5F,kEAAwC;AACxC,qEAAgG;AAChG,0CAAuC;AACvC,iDAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"NodeWebrtcConnection.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/NodeWebrtcConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,9 @@ const DhtRpc_client_1 = require("../../proto/packages/dht/protos/DhtRpc.client")
|
|
|
32
32
|
const ManagedWebrtcConnection_1 = require("../ManagedWebrtcConnection");
|
|
33
33
|
const utils_1 = require("@streamr/utils");
|
|
34
34
|
const Err = __importStar(require("../../helpers/errors"));
|
|
35
|
-
const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
|
|
36
35
|
const WebrtcConnectorRpcLocal_1 = require("./WebrtcConnectorRpcLocal");
|
|
36
|
+
const identifiers_1 = require("../../identifiers");
|
|
37
|
+
const offering_1 = require("../../helpers/offering");
|
|
37
38
|
const logger = new utils_1.Logger(module);
|
|
38
39
|
const replaceInternalIpWithExternalIp = (candidate, ip) => {
|
|
39
40
|
const parsed = candidate.split(' ');
|
|
@@ -45,9 +46,13 @@ const replaceInternalIpWithExternalIp = (candidate, ip) => {
|
|
|
45
46
|
};
|
|
46
47
|
exports.replaceInternalIpWithExternalIp = replaceInternalIpWithExternalIp;
|
|
47
48
|
class WebrtcConnector {
|
|
49
|
+
static WEBRTC_CONNECTOR_SERVICE_ID = 'system/webrtc-connector';
|
|
50
|
+
rpcCommunicator;
|
|
51
|
+
ongoingConnectAttempts = new Map();
|
|
52
|
+
localPeerDescriptor;
|
|
53
|
+
stopped = false;
|
|
54
|
+
config;
|
|
48
55
|
constructor(config, onNewConnection) {
|
|
49
|
-
this.ongoingConnectAttempts = new Map();
|
|
50
|
-
this.stopped = false;
|
|
51
56
|
this.config = config;
|
|
52
57
|
this.rpcCommunicator = new ListeningRpcCommunicator_1.ListeningRpcCommunicator(WebrtcConnector.WEBRTC_CONNECTOR_SERVICE_ID, config.transport, {
|
|
53
58
|
rpcRequestTimeout: 15000 // TODO use config option or named constant?
|
|
@@ -97,11 +102,11 @@ class WebrtcConnector {
|
|
|
97
102
|
});
|
|
98
103
|
}
|
|
99
104
|
connect(targetPeerDescriptor) {
|
|
100
|
-
if ((0,
|
|
105
|
+
if ((0, identifiers_1.areEqualPeerDescriptors)(targetPeerDescriptor, this.localPeerDescriptor)) {
|
|
101
106
|
throw new Err.CannotConnectToSelf('Cannot open WebRTC Connection to self');
|
|
102
107
|
}
|
|
103
|
-
logger.trace(`Opening WebRTC connection to ${(0,
|
|
104
|
-
const nodeId = (0,
|
|
108
|
+
logger.trace(`Opening WebRTC connection to ${(0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor)}`);
|
|
109
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor);
|
|
105
110
|
const existingConnection = this.ongoingConnectAttempts.get(nodeId);
|
|
106
111
|
if (existingConnection) {
|
|
107
112
|
return existingConnection;
|
|
@@ -114,7 +119,9 @@ class WebrtcConnector {
|
|
|
114
119
|
connectingTimeout: this.config.connectionTimeout,
|
|
115
120
|
portRange: this.config.portRange
|
|
116
121
|
});
|
|
117
|
-
const
|
|
122
|
+
const localNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
123
|
+
const targetNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor);
|
|
124
|
+
const offering = ((0, offering_1.getOfferer)(localNodeId, targetNodeId) === 'local');
|
|
118
125
|
let managedConnection;
|
|
119
126
|
if (offering) {
|
|
120
127
|
managedConnection = new ManagedWebrtcConnection_1.ManagedWebrtcConnection(this.localPeerDescriptor, connection);
|
|
@@ -123,7 +130,7 @@ class WebrtcConnector {
|
|
|
123
130
|
managedConnection = new ManagedWebrtcConnection_1.ManagedWebrtcConnection(this.localPeerDescriptor, undefined, connection);
|
|
124
131
|
}
|
|
125
132
|
managedConnection.setRemotePeerDescriptor(targetPeerDescriptor);
|
|
126
|
-
this.ongoingConnectAttempts.set(
|
|
133
|
+
this.ongoingConnectAttempts.set(targetNodeId, managedConnection);
|
|
127
134
|
const delFunc = () => {
|
|
128
135
|
this.ongoingConnectAttempts.delete(nodeId);
|
|
129
136
|
connection.off('disconnected', delFunc);
|
|
@@ -137,16 +144,16 @@ class WebrtcConnector {
|
|
|
137
144
|
candidate = (0, exports.replaceInternalIpWithExternalIp)(candidate, this.config.externalIp);
|
|
138
145
|
logger.debug(`onLocalCandidate injected external ip ${candidate} ${mid}`);
|
|
139
146
|
}
|
|
140
|
-
remoteConnector.sendIceCandidate(candidate, mid, connection.connectionId
|
|
147
|
+
remoteConnector.sendIceCandidate(candidate, mid, connection.connectionId);
|
|
141
148
|
});
|
|
142
149
|
if (offering) {
|
|
143
150
|
connection.once('localDescription', (description) => {
|
|
144
|
-
remoteConnector.sendRtcOffer(description, connection.connectionId
|
|
151
|
+
remoteConnector.sendRtcOffer(description, connection.connectionId);
|
|
145
152
|
});
|
|
146
153
|
}
|
|
147
154
|
else {
|
|
148
155
|
connection.once('localDescription', (description) => {
|
|
149
|
-
remoteConnector.sendRtcAnswer(description, connection.connectionId
|
|
156
|
+
remoteConnector.sendRtcAnswer(description, connection.connectionId);
|
|
150
157
|
});
|
|
151
158
|
}
|
|
152
159
|
connection.start(offering);
|
|
@@ -165,12 +172,6 @@ class WebrtcConnector {
|
|
|
165
172
|
await Promise.allSettled(attempts.map((conn) => conn.close(false)));
|
|
166
173
|
this.rpcCommunicator.destroy();
|
|
167
174
|
}
|
|
168
|
-
isOffering(targetPeerDescriptor) {
|
|
169
|
-
const myId = (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(this.localPeerDescriptor);
|
|
170
|
-
const theirId = (0, peerIdFromPeerDescriptor_1.peerIdFromPeerDescriptor)(targetPeerDescriptor);
|
|
171
|
-
return myId.hasSmallerHashThan(theirId);
|
|
172
|
-
}
|
|
173
175
|
}
|
|
174
176
|
exports.WebrtcConnector = WebrtcConnector;
|
|
175
|
-
WebrtcConnector.WEBRTC_CONNECTOR_SERVICE_ID = 'system/webrtc-connector';
|
|
176
177
|
//# sourceMappingURL=WebrtcConnector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebrtcConnector.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAK+C;AAE/C,uFAAmF;AACnF,iEAA6D;AAC7D,yEAAqE;AACrE,iFAAwF;AACxF,wEAAoE;AACpE,0CAAuC;AACvC,0DAA2C;
|
|
1
|
+
{"version":3,"file":"WebrtcConnector.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAK+C;AAE/C,uFAAmF;AACnF,iEAA6D;AAC7D,yEAAqE;AACrE,iFAAwF;AACxF,wEAAoE;AACpE,0CAAuC;AACvC,0DAA2C;AAI3C,uEAAmE;AACnE,mDAAoG;AACpG,qDAAmD;AAEnD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAE1B,MAAM,+BAA+B,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAU,EAAE;IACrF,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACtB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA;AAPY,QAAA,+BAA+B,mCAO3C;AAsBD,MAAa,eAAe;IAEhB,MAAM,CAAU,2BAA2B,GAAG,yBAAyB,CAAA;IAC9D,eAAe,CAA0B;IACzC,sBAAsB,GAA6C,IAAI,GAAG,EAAE,CAAA;IACrF,mBAAmB,CAAiB;IACpC,OAAO,GAAG,KAAK,CAAA;IACf,MAAM,CAAuB;IAErC,YACI,MAA6B,EAC7B,eAA2D;QAE3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,mDAAwB,CAAC,eAAe,CAAC,2BAA2B,EAAE,MAAM,CAAC,SAAS,EAAE;YAC/G,iBAAiB,EAAE,KAAK,CAAE,4CAA4C;SACzE,CAAC,CAAA;QACF,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACzD,CAAC;IAEO,uBAAuB,CAC3B,MAA6B,EAC7B,eAA2D;QAE3D,MAAM,QAAQ,GAAG,IAAI,iDAAuB,CAAC;YACzC,OAAO,EAAE,CAAC,oBAAoC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACrF,eAAe;YACf,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAoB;YACvD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,IAAI;SAC9D,CAAC,CAAA;QACF,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,gCAAuB,EAAE,mBAAmB,EACrF,KAAK,EAAE,IAA6B,EAAE,OAA0B,EAAE,EAAE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAA;YACb,CAAC;QACL,CAAC,CACJ,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,iBAAQ,EAAE,UAAU,EAC7D,KAAK,EAAE,GAAa,EAAE,OAA0B,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAA;YACb,CAAC;QACL,CAAC,CACJ,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,kBAAS,EAAE,WAAW,EAC/D,KAAK,EAAE,GAAc,EAAE,OAA0B,EAAE,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAA;YACb,CAAC;QACL,CAAC,CACJ,CAAA;QACD,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,qBAAY,EAAE,cAAc,EACrE,KAAK,EAAE,GAAiB,EAAE,OAA0B,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,CAAA;YACb,CAAC;QACL,CAAC,CACJ,CAAA;IACL,CAAC;IAED,OAAO,CAAC,oBAAoC;QACxC,IAAI,IAAA,qCAAuB,EAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAoB,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,GAAG,CAAC,mBAAmB,CAAC,uCAAuC,CAAC,CAAA;QAC9E,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAEjG,MAAM,MAAM,GAAG,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CAAA;QAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClE,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO,kBAAkB,CAAA;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,2CAAoB,CAAC;YACxC,oBAAoB,EAAE,oBAAoB;YAC1C,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAClD,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACpD,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SACnC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAA,yCAA2B,EAAC,IAAI,CAAC,mBAAoB,CAAC,CAAA;QAC1E,MAAM,YAAY,GAAG,IAAA,yCAA2B,EAAC,oBAAoB,CAAC,CAAA;QACtE,MAAM,QAAQ,GAAG,CAAC,IAAA,qBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC,CAAA;QACpE,IAAI,iBAA0C,CAAA;QAE9C,IAAI,QAAQ,EAAE,CAAC;YACX,iBAAiB,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,mBAAoB,EAAE,UAAU,CAAC,CAAA;QAC1F,CAAC;aAAM,CAAC;YACJ,iBAAiB,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,mBAAoB,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACrG,CAAC;QAED,iBAAiB,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAA;QAE/D,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;QAEhE,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC1C,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;YACvC,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC,CAAA;QACD,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;QACtC,iBAAiB,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAA;QAEnD,MAAM,eAAe,GAAG,IAAI,mDAAwB,CAChD,IAAI,CAAC,mBAAoB,EACzB,oBAAoB,EACpB,IAAI,CAAC,eAAe,EACpB,wCAAwB,CAC3B,CAAA;QAED,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,SAAiB,EAAE,GAAW,EAAE,EAAE;YAC/D,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACvC,SAAS,GAAG,IAAA,uCAA+B,EAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC9E,MAAM,CAAC,KAAK,CAAC,yCAAyC,SAAS,IAAI,GAAG,EAAE,CAAC,CAAA;YAC7E,CAAC;YACD,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,IAAI,QAAQ,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,WAAmB,EAAE,EAAE;gBACxD,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;YACtE,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,WAAmB,EAAE,EAAE;gBACxD,eAAe,CAAC,aAAa,CAAC,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC,CAAA;YACvE,CAAC,CAAC,CAAA;QACN,CAAC;QAED,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAE1B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,eAAe,CAAC,iBAAiB,EAAE,CAAA;QACvC,CAAC;QAED,OAAO,iBAAiB,CAAA;IAC5B,CAAC;IAED,sBAAsB,CAAC,cAA8B;QACjD,IAAI,CAAC,mBAAmB,GAAG,cAAc,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QAEnB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAA;QACjE,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAEnE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;;AAjKL,0CAkKC"}
|
|
@@ -3,22 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WebrtcConnectorRpcLocal = void 0;
|
|
4
4
|
const utils_1 = require("@streamr/utils");
|
|
5
5
|
const AddressTools_1 = require("../../helpers/AddressTools");
|
|
6
|
-
const peerIdFromPeerDescriptor_1 = require("../../helpers/peerIdFromPeerDescriptor");
|
|
7
6
|
const DhtRpc_1 = require("../../proto/packages/dht/protos/DhtRpc");
|
|
8
7
|
const DhtRpc_client_1 = require("../../proto/packages/dht/protos/DhtRpc.client");
|
|
9
8
|
const ManagedWebrtcConnection_1 = require("../ManagedWebrtcConnection");
|
|
10
9
|
const NodeWebrtcConnection_1 = require("./NodeWebrtcConnection");
|
|
11
10
|
const WebrtcConnectorRpcRemote_1 = require("./WebrtcConnectorRpcRemote");
|
|
11
|
+
const identifiers_1 = require("../../identifiers");
|
|
12
12
|
const package_json_1 = require("../../../package.json");
|
|
13
13
|
const versionCompatibility_1 = require("../../helpers/versionCompatibility");
|
|
14
14
|
const logger = new utils_1.Logger(module);
|
|
15
15
|
class WebrtcConnectorRpcLocal {
|
|
16
|
+
config;
|
|
16
17
|
constructor(config) {
|
|
17
18
|
this.config = config;
|
|
18
19
|
}
|
|
19
20
|
async requestConnection(context) {
|
|
20
21
|
const targetPeerDescriptor = context.incomingSourceDescriptor;
|
|
21
|
-
if (this.config.ongoingConnectAttempts.has((0,
|
|
22
|
+
if (this.config.ongoingConnectAttempts.has((0, identifiers_1.getNodeIdFromPeerDescriptor)(targetPeerDescriptor))) {
|
|
22
23
|
return {};
|
|
23
24
|
}
|
|
24
25
|
const managedConnection = this.config.connect(targetPeerDescriptor);
|
|
@@ -28,7 +29,7 @@ class WebrtcConnectorRpcLocal {
|
|
|
28
29
|
}
|
|
29
30
|
async rtcOffer(request, context) {
|
|
30
31
|
const remotePeer = context.incomingSourceDescriptor;
|
|
31
|
-
const nodeId = (0,
|
|
32
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(remotePeer);
|
|
32
33
|
let managedConnection = this.config.ongoingConnectAttempts.get(nodeId);
|
|
33
34
|
let connection = managedConnection?.getWebrtcConnection();
|
|
34
35
|
if (!managedConnection) {
|
|
@@ -39,10 +40,10 @@ class WebrtcConnectorRpcLocal {
|
|
|
39
40
|
this.config.onNewConnection(managedConnection);
|
|
40
41
|
const remoteConnector = new WebrtcConnectorRpcRemote_1.WebrtcConnectorRpcRemote(this.config.getLocalPeerDescriptor(), remotePeer, this.config.rpcCommunicator, DhtRpc_client_1.WebrtcConnectorRpcClient);
|
|
41
42
|
connection.on('localCandidate', (candidate, mid) => {
|
|
42
|
-
remoteConnector.sendIceCandidate(candidate, mid, connection.connectionId
|
|
43
|
+
remoteConnector.sendIceCandidate(candidate, mid, connection.connectionId);
|
|
43
44
|
});
|
|
44
45
|
connection.once('localDescription', (description) => {
|
|
45
|
-
remoteConnector.sendRtcAnswer(description, connection.connectionId
|
|
46
|
+
remoteConnector.sendRtcAnswer(description, connection.connectionId);
|
|
46
47
|
});
|
|
47
48
|
connection.start(false);
|
|
48
49
|
}
|
|
@@ -64,12 +65,12 @@ class WebrtcConnectorRpcLocal {
|
|
|
64
65
|
}
|
|
65
66
|
async rtcAnswer(request, context) {
|
|
66
67
|
const remotePeerDescriptor = context.incomingSourceDescriptor;
|
|
67
|
-
const nodeId = (0,
|
|
68
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(remotePeerDescriptor);
|
|
68
69
|
const connection = this.config.ongoingConnectAttempts.get(nodeId)?.getWebrtcConnection();
|
|
69
70
|
if (!connection) {
|
|
70
71
|
return {};
|
|
71
72
|
}
|
|
72
|
-
else if (connection.connectionId
|
|
73
|
+
else if (connection.connectionId !== request.connectionId) {
|
|
73
74
|
logger.trace(`Ignoring RTC answer due to connectionId mismatch`);
|
|
74
75
|
return {};
|
|
75
76
|
}
|
|
@@ -78,12 +79,12 @@ class WebrtcConnectorRpcLocal {
|
|
|
78
79
|
}
|
|
79
80
|
async iceCandidate(request, context) {
|
|
80
81
|
const remotePeerDescriptor = context.incomingSourceDescriptor;
|
|
81
|
-
const nodeId = (0,
|
|
82
|
+
const nodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(remotePeerDescriptor);
|
|
82
83
|
const connection = this.config.ongoingConnectAttempts.get(nodeId)?.getWebrtcConnection();
|
|
83
84
|
if (!connection) {
|
|
84
85
|
return {};
|
|
85
86
|
}
|
|
86
|
-
else if (connection.connectionId
|
|
87
|
+
else if (connection.connectionId !== request.connectionId) {
|
|
87
88
|
logger.trace(`Ignoring remote candidate due to connectionId mismatch`);
|
|
88
89
|
return {};
|
|
89
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebrtcConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnectorRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AACvC,6DAAsF;
|
|
1
|
+
{"version":3,"file":"WebrtcConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/WebrtcConnectorRpcLocal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iceServerAsString.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/iceServerAsString.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAa;IAC/E,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"iceServerAsString.js","sourceRoot":"","sources":["../../../../src/connection/webrtc/iceServerAsString.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAa;IAC/E,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,GAAG,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAA;IAC5C,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,GAAG,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,QAAQ,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAClH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,mBAAmB,QAAQ,6BAA6B,CAAC,CAAA;AAClG,CAAC;AAZD,8CAYC"}
|
|
@@ -10,6 +10,9 @@ const defaultAutoCertifierClientFactory = (configFile, autoCertifierUrl, autoCer
|
|
|
10
10
|
});
|
|
11
11
|
const logger = new utils_1.Logger(module);
|
|
12
12
|
class AutoCertifierClientFacade {
|
|
13
|
+
autoCertifierClient;
|
|
14
|
+
rpcCommunicator;
|
|
15
|
+
config;
|
|
13
16
|
constructor(config) {
|
|
14
17
|
this.config = config;
|
|
15
18
|
this.rpcCommunicator = new ListeningRpcCommunicator_1.ListeningRpcCommunicator(autocertifier_client_1.SERVICE_ID, config.transport);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoCertifierClientFacade.js","sourceRoot":"","sources":["../../../../src/connection/websocket/AutoCertifierClientFacade.ts"],"names":[],"mappings":";;;AAAA,wEAOsC;AACtC,uFAAmF;AACnF,0CAAsD;AAGtD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/B,MAAM,iCAAiC,GAAG,CACtC,UAAkB,EAClB,gBAAwB,EACxB,4BAAsD,EACtD,YAAoB,EACtB,EAAE,CAAC,IAAI,0CAAmB,CACxB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,CAAC,UAAkB,EAAE,aAAqB,EAAE,MAAkB,EAAE,EAAE;IAC9D,4BAA4B,CAAC,iBAAiB,CAC1C,wCAAiB,EACjB,yCAAkB,EAClB,aAAa,EACb,MAAM,CACT,CAAA;AACL,CAAC,CACJ,CAAA;AAoBD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,yBAAyB;
|
|
1
|
+
{"version":3,"file":"AutoCertifierClientFacade.js","sourceRoot":"","sources":["../../../../src/connection/websocket/AutoCertifierClientFacade.ts"],"names":[],"mappings":";;;AAAA,wEAOsC;AACtC,uFAAmF;AACnF,0CAAsD;AAGtD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/B,MAAM,iCAAiC,GAAG,CACtC,UAAkB,EAClB,gBAAwB,EACxB,4BAAsD,EACtD,YAAoB,EACtB,EAAE,CAAC,IAAI,0CAAmB,CACxB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,CAAC,UAAkB,EAAE,aAAqB,EAAE,MAAkB,EAAE,EAAE;IAC9D,4BAA4B,CAAC,iBAAiB,CAC1C,wCAAiB,EACjB,yCAAkB,EAClB,aAAa,EACb,MAAM,CACT,CAAA;AACL,CAAC,CACJ,CAAA;AAoBD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,yBAAyB;IAE1B,mBAAmB,CAAsB;IAChC,eAAe,CAA0B;IACzC,MAAM,CAAiC;IAExD,YAAY,MAAuC;QAC/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,mDAAwB,CAAC,iCAAyB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAChG,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE;YAChF,CAAC,CAAC,iCAAiC,CAC/B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,GAAG,EACV,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,YAAY,CACtB,CAAA;IACT,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,SAA6B,EAAE,EAAE;YAChF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;YAC1E,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAA,qBAAa,EAAC,IAAI,CAAC,mBAA0B,EAAE,oBAAoB,EAAE,aAAa,CAAC;YACnF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;IAED,IAAI;QACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;CAEJ;AAnCD,8DAmCC"}
|
|
@@ -8,6 +8,7 @@ const utils_1 = require("@streamr/utils");
|
|
|
8
8
|
const eventemitter3_1 = __importDefault(require("eventemitter3"));
|
|
9
9
|
const websocket_1 = require("websocket");
|
|
10
10
|
const IConnection_1 = require("../IConnection");
|
|
11
|
+
const Connection_1 = require("../Connection");
|
|
11
12
|
const logger = new utils_1.Logger(module);
|
|
12
13
|
// https://kapeli.com/cheat_sheets/WebSocket_Status_Codes.docset/Contents/Resources/Documents/index
|
|
13
14
|
// Browsers send this automatically when closing a tab
|
|
@@ -17,11 +18,13 @@ exports.GOING_AWAY = 1001;
|
|
|
17
18
|
exports.CUSTOM_GOING_AWAY = 3001;
|
|
18
19
|
const BINARY_TYPE = 'arraybuffer';
|
|
19
20
|
class ClientWebsocket extends eventemitter3_1.default {
|
|
21
|
+
connectionId;
|
|
22
|
+
socket;
|
|
23
|
+
connectionType = IConnection_1.ConnectionType.WEBSOCKET_CLIENT;
|
|
24
|
+
destroyed = false;
|
|
20
25
|
constructor() {
|
|
21
26
|
super();
|
|
22
|
-
this.
|
|
23
|
-
this.destroyed = false;
|
|
24
|
-
this.connectionId = new IConnection_1.ConnectionID();
|
|
27
|
+
this.connectionId = (0, Connection_1.createRandomConnectionId)();
|
|
25
28
|
}
|
|
26
29
|
// TODO explicit default value for "selfSigned" or make it required
|
|
27
30
|
connect(address, selfSigned) {
|
|
@@ -89,7 +92,7 @@ class ClientWebsocket extends eventemitter3_1.default {
|
|
|
89
92
|
this.emit('disconnected', gracefulLeave, undefined, 'close() called');
|
|
90
93
|
this.removeAllListeners();
|
|
91
94
|
if (!this.destroyed) {
|
|
92
|
-
logger.trace(`Closing socket for connection ${this.connectionId
|
|
95
|
+
logger.trace(`Closing socket for connection ${this.connectionId}`);
|
|
93
96
|
this.socket?.close(gracefulLeave ? exports.CUSTOM_GOING_AWAY : undefined);
|
|
94
97
|
}
|
|
95
98
|
else {
|