@streamr/dht 101.1.1 → 102.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintignore +1 -1
- package/dist/{src/proto → generated}/google/protobuf/any.d.ts +11 -4
- package/dist/generated/google/protobuf/any.js.map +1 -0
- package/dist/{src/proto → generated}/google/protobuf/empty.d.ts +0 -1
- package/dist/generated/google/protobuf/empty.js.map +1 -0
- package/dist/{src/proto → generated}/google/protobuf/timestamp.d.ts +9 -3
- package/dist/generated/google/protobuf/timestamp.js.map +1 -0
- package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.client.d.ts +9 -0
- package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.client.js +7 -0
- package/dist/generated/packages/dht/protos/DhtRpc.client.js.map +1 -0
- package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.d.ts +16 -0
- package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.js +16 -2
- package/dist/generated/packages/dht/protos/DhtRpc.js.map +1 -0
- package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.server.d.ts +5 -0
- package/dist/generated/packages/dht/protos/DhtRpc.server.js.map +1 -0
- package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js.map +1 -0
- package/dist/package.json +11 -11
- package/dist/src/connection/Connection.d.ts +1 -1
- package/dist/src/connection/ConnectionLockRpcLocal.d.ts +5 -3
- package/dist/src/connection/ConnectionLockRpcLocal.js +9 -3
- package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcRemote.d.ts +3 -2
- package/dist/src/connection/ConnectionLockRpcRemote.js +14 -3
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
- package/dist/src/connection/ConnectionLockStates.d.ts +5 -0
- package/dist/src/connection/ConnectionLockStates.js +14 -0
- package/dist/src/connection/ConnectionLockStates.js.map +1 -1
- package/dist/src/connection/ConnectionManager.d.ts +8 -1
- package/dist/src/connection/ConnectionManager.js +78 -24
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectionsView.d.ts +1 -1
- package/dist/src/connection/ConnectorFacade.d.ts +1 -1
- package/dist/src/connection/Handshaker.d.ts +1 -1
- package/dist/src/connection/Handshaker.js +2 -2
- package/dist/src/connection/Handshaker.js.map +1 -1
- package/dist/src/connection/ManagedConnection.d.ts +7 -1
- package/dist/src/connection/ManagedConnection.js +24 -1
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/PendingConnection.d.ts +1 -1
- package/dist/src/connection/connectivityChecker.d.ts +1 -1
- package/dist/src/connection/connectivityChecker.js +2 -1
- package/dist/src/connection/connectivityChecker.js.map +1 -1
- package/dist/src/connection/connectivityRequestHandler.js +1 -1
- package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
- package/dist/src/connection/simulator/Simulator.d.ts +1 -1
- package/dist/src/connection/simulator/Simulator.js +2 -2
- package/dist/src/connection/simulator/Simulator.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.d.ts +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.js +9 -9
- package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnector.d.ts +1 -1
- package/dist/src/connection/simulator/SimulatorConnector.js +4 -4
- package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorTransport.d.ts +1 -1
- package/dist/src/connection/simulator/SimulatorTransport.js +2 -1
- package/dist/src/connection/simulator/SimulatorTransport.js.map +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +2 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js +13 -6
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.d.ts +2 -1
- package/dist/src/connection/webrtc/WebrtcConnector.js +9 -8
- package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +3 -3
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +4 -4
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +1 -1
- package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +1 -0
- package/dist/src/connection/websocket/WebsocketClientConnector.d.ts +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnector.js +3 -3
- package/dist/src/connection/websocket/WebsocketClientConnector.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +3 -3
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.d.ts +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js +1 -1
- package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketServerConnector.d.ts +1 -1
- package/dist/src/connection/websocket/WebsocketServerConnector.js +7 -7
- package/dist/src/connection/websocket/WebsocketServerConnector.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +4 -2
- package/dist/src/dht/DhtNode.js +17 -6
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.d.ts +3 -3
- package/dist/src/dht/DhtNodeRpcLocal.js +3 -3
- package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcRemote.d.ts +2 -2
- package/dist/src/dht/DhtNodeRpcRemote.js +3 -3
- package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcLocal.d.ts +3 -3
- package/dist/src/dht/ExternalApiRpcLocal.js +3 -3
- package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcRemote.d.ts +3 -3
- package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
- package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
- package/dist/src/dht/PeerManager.d.ts +1 -1
- package/dist/src/dht/PeerManager.js +10 -10
- package/dist/src/dht/PeerManager.js.map +1 -1
- package/dist/src/dht/contact/Contact.d.ts +1 -1
- package/dist/src/dht/contact/Contact.js +1 -1
- package/dist/src/dht/contact/Contact.js.map +1 -1
- package/dist/src/dht/contact/RingContactList.d.ts +1 -1
- package/dist/src/dht/contact/RingContactList.js +1 -1
- package/dist/src/dht/contact/RingContactList.js.map +1 -1
- package/dist/src/dht/contact/RpcRemote.d.ts +1 -1
- package/dist/src/dht/contact/SortedContactList.js +1 -1
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/contact/ringIdentifiers.d.ts +1 -1
- package/dist/src/dht/discovery/DiscoverySession.d.ts +1 -1
- package/dist/src/dht/discovery/DiscoverySession.js +3 -3
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.js +7 -7
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/discovery/RingDiscoverySession.js +1 -1
- package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +8 -8
- package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +2 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +2 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +2 -2
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +3 -3
- package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +7 -7
- package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +3 -3
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -1
- package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +2 -2
- package/dist/src/dht/routing/Router.d.ts +4 -1
- package/dist/src/dht/routing/Router.js +17 -9
- package/dist/src/dht/routing/Router.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcLocal.d.ts +2 -2
- package/dist/src/dht/routing/RouterRpcLocal.js +5 -5
- package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
- package/dist/src/dht/routing/RouterRpcRemote.d.ts +2 -2
- package/dist/src/dht/routing/RouterRpcRemote.js +7 -7
- package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
- package/dist/src/dht/routing/RoutingSession.d.ts +1 -1
- package/dist/src/dht/routing/RoutingSession.js +5 -6
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/routing/getPreviousPeer.d.ts +1 -1
- package/dist/src/dht/store/LocalDataStore.d.ts +1 -1
- package/dist/src/dht/store/LocalDataStore.js +2 -2
- package/dist/src/dht/store/LocalDataStore.js.map +1 -1
- package/dist/src/dht/store/StoreManager.d.ts +2 -2
- 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.d.ts +3 -3
- package/dist/src/dht/store/StoreRpcLocal.js +4 -4
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
- package/dist/src/dht/store/StoreRpcRemote.d.ts +3 -3
- package/dist/src/dht/store/StoreRpcRemote.js +7 -4
- package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
- package/dist/src/exports.d.ts +2 -2
- package/dist/src/exports.js +6 -6
- package/dist/src/exports.js.map +1 -1
- package/dist/src/helpers/Connectivity.d.ts +1 -1
- package/dist/src/helpers/Connectivity.js +1 -1
- package/dist/src/helpers/Connectivity.js.map +1 -1
- package/dist/src/helpers/createPeerDescriptor.d.ts +1 -1
- package/dist/src/helpers/createPeerDescriptor.js +2 -2
- package/dist/src/helpers/createPeerDescriptor.js.map +1 -1
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +1 -1
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +1 -1
- package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +1 -1
- package/dist/src/helpers/protoClasses.js +1 -1
- package/dist/src/helpers/protoClasses.js.map +1 -1
- package/dist/src/identifiers.d.ts +5 -5
- package/dist/src/identifiers.js +11 -11
- package/dist/src/identifiers.js.map +1 -1
- package/dist/src/rpc-protocol/DhtCallContext.d.ts +1 -1
- package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +1 -1
- package/dist/src/transport/ITransport.d.ts +2 -1
- package/dist/src/transport/ListeningRpcCommunicator.d.ts +2 -1
- package/dist/src/transport/ListeningRpcCommunicator.js +13 -4
- package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
- package/dist/src/transport/RoutingRpcCommunicator.d.ts +1 -1
- package/{src/proto → generated}/google/protobuf/any.ts +11 -4
- package/{src/proto → generated}/google/protobuf/empty.ts +0 -1
- package/{src/proto → generated}/google/protobuf/timestamp.ts +9 -3
- package/{src/proto → generated}/packages/dht/protos/DhtRpc.client.ts +12 -0
- package/{src/proto → generated}/packages/dht/protos/DhtRpc.server.ts +5 -0
- package/{src/proto → generated}/packages/dht/protos/DhtRpc.ts +23 -1
- package/package.json +11 -11
- package/proto.sh +2 -3
- package/protos/DhtRpc.proto +5 -0
- package/src/connection/Connection.ts +1 -1
- package/src/connection/ConnectionLockRpcLocal.ts +16 -7
- package/src/connection/ConnectionLockRpcRemote.ts +18 -6
- package/src/connection/ConnectionLockStates.ts +18 -0
- package/src/connection/ConnectionManager.ts +92 -26
- package/src/connection/ConnectionsView.ts +1 -1
- package/src/connection/ConnectorFacade.ts +1 -1
- package/src/connection/Handshaker.ts +3 -3
- package/src/connection/ManagedConnection.ts +28 -3
- package/src/connection/PendingConnection.ts +1 -1
- package/src/connection/connectivityChecker.ts +2 -1
- package/src/connection/connectivityRequestHandler.ts +1 -1
- package/src/connection/simulator/Simulator.ts +4 -4
- package/src/connection/simulator/SimulatorConnection.ts +10 -10
- package/src/connection/simulator/SimulatorConnector.ts +5 -5
- package/src/connection/simulator/SimulatorTransport.ts +3 -2
- package/src/connection/webrtc/BrowserWebrtcConnection.ts +10 -1
- package/src/connection/webrtc/NodeWebrtcConnection.ts +15 -9
- package/src/connection/webrtc/WebrtcConnector.ts +10 -8
- package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +8 -8
- package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +2 -2
- package/src/connection/websocket/WebsocketClientConnector.ts +5 -5
- package/src/connection/websocket/WebsocketClientConnectorRpcLocal.ts +5 -5
- package/src/connection/websocket/WebsocketClientConnectorRpcRemote.ts +4 -4
- package/src/connection/websocket/WebsocketServerConnector.ts +8 -8
- package/src/dht/DhtNode.ts +21 -8
- package/src/dht/DhtNodeRpcLocal.ts +7 -7
- package/src/dht/DhtNodeRpcRemote.ts +5 -5
- package/src/dht/ExternalApiRpcLocal.ts +8 -8
- package/src/dht/ExternalApiRpcRemote.ts +6 -6
- package/src/dht/PeerManager.ts +12 -12
- package/src/dht/contact/Contact.ts +3 -3
- package/src/dht/contact/RingContactList.ts +3 -3
- package/src/dht/contact/RpcRemote.ts +1 -1
- package/src/dht/contact/SortedContactList.ts +2 -2
- package/src/dht/contact/ringIdentifiers.ts +1 -1
- package/src/dht/discovery/DiscoverySession.ts +5 -5
- package/src/dht/discovery/PeerDiscovery.ts +12 -12
- package/src/dht/discovery/RingDiscoverySession.ts +3 -3
- package/src/dht/recursive-operation/RecursiveOperationManager.ts +9 -9
- package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +4 -4
- package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +6 -6
- package/src/dht/recursive-operation/RecursiveOperationSession.ts +8 -8
- package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +5 -5
- package/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.ts +2 -2
- package/src/dht/routing/Router.ts +19 -10
- package/src/dht/routing/RouterRpcLocal.ts +7 -7
- package/src/dht/routing/RouterRpcRemote.ts +9 -9
- package/src/dht/routing/RoutingSession.ts +7 -8
- package/src/dht/routing/getPreviousPeer.ts +1 -1
- package/src/dht/store/LocalDataStore.ts +4 -4
- package/src/dht/store/StoreManager.ts +12 -12
- package/src/dht/store/StoreRpcLocal.ts +8 -8
- package/src/dht/store/StoreRpcRemote.ts +10 -7
- package/src/exports.ts +5 -5
- package/src/helpers/Connectivity.ts +1 -1
- package/src/helpers/createPeerDescriptor.ts +3 -3
- package/src/helpers/createPeerDescriptorSignaturePayload.ts +1 -1
- package/src/helpers/protoClasses.ts +1 -1
- package/src/identifiers.ts +7 -7
- package/src/rpc-protocol/DhtCallContext.ts +1 -1
- package/src/rpc-protocol/DhtRpcOptions.ts +1 -1
- package/src/transport/ITransport.ts +2 -1
- package/src/transport/ListeningRpcCommunicator.ts +14 -6
- package/src/transport/RoutingRpcCommunicator.ts +2 -2
- package/test/benchmark/Find.test.ts +6 -6
- package/test/benchmark/KademliaCorrectness.test.ts +5 -5
- package/test/benchmark/RingCorrectness.test.ts +5 -5
- package/test/benchmark/SortedContactListBenchmark.test.ts +10 -10
- package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +1 -1
- package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +6 -6
- package/test/end-to-end/Layer0Webrtc.test.ts +6 -6
- package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +1 -1
- package/test/end-to-end/WebsocketConnectionRequest.test.ts +1 -1
- package/test/end-to-end/memory-leak.test.ts +4 -4
- package/test/integration/ConnectionLocking.test.ts +16 -15
- package/test/integration/ConnectionManager.test.ts +62 -6
- package/test/integration/ConnectivityChecking.test.ts +2 -1
- package/test/integration/DhtJoinPeerDiscovery.test.ts +2 -2
- package/test/integration/DhtNode.test.ts +4 -4
- package/test/integration/DhtNodeExternalAPI.test.ts +7 -7
- package/test/integration/DhtNodeRpcRemote.test.ts +9 -9
- package/test/integration/DhtRpc.test.ts +12 -13
- package/test/integration/Find.test.ts +5 -5
- package/test/integration/GeoIpConnectivityChecking.test.ts +2 -1
- package/test/integration/Layer1-scale.test.ts +2 -2
- package/test/integration/Mock-Layer1-Layer0.test.ts +6 -6
- package/test/integration/MultipleEntryPointJoining.test.ts +1 -1
- package/test/integration/ReplicateData.test.ts +10 -11
- package/test/integration/RouteMessage.test.ts +9 -9
- package/test/integration/RouterRpcRemote.test.ts +7 -7
- package/test/integration/SimultaneousConnections.test.ts +13 -12
- package/test/integration/Store.test.ts +9 -9
- package/test/integration/StoreAndDelete.test.ts +10 -10
- package/test/integration/StoreOnDhtWithThreeNodes.test.ts +9 -9
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +7 -7
- package/test/integration/StoreRpcRemote.test.ts +10 -10
- package/test/integration/WebrtcConnectionManagement.test.ts +4 -3
- package/test/integration/WebrtcConnectorRpc.test.ts +9 -9
- package/test/integration/Websocket.test.ts +0 -2
- package/test/integration/WebsocketClientConnectorRpc.test.ts +8 -8
- package/test/integration/WebsocketConnectionManagement.test.ts +8 -9
- package/test/integration/{rpc-connections-over-webrpc.test.ts → rpc-connections-over-webrtc.test.ts} +4 -3
- package/test/unit/ConnectionManager.test.ts +4 -3
- package/test/unit/ConnectivityHelpers.test.ts +1 -1
- package/test/unit/DiscoverySession.test.ts +6 -6
- package/test/unit/Handshaker.test.ts +1 -1
- package/test/unit/ListeningRpcCommunicator.test.ts +52 -0
- package/test/unit/LocalDataStore.test.ts +21 -21
- package/test/unit/PeerManager.test.ts +13 -13
- package/test/unit/PendingConnection.test.ts +1 -1
- package/test/unit/ProtobufMessage.test.ts +1 -1
- package/test/unit/RandomContactList.test.ts +2 -2
- package/test/unit/RecursiveOperationManager.test.ts +3 -3
- package/test/unit/RecursiveOperationSession.test.ts +4 -4
- package/test/unit/Router.test.ts +6 -6
- package/test/unit/RoutingSession.test.ts +6 -6
- package/test/unit/SortedContactList.test.ts +5 -5
- package/test/unit/StoreManager.test.ts +10 -10
- package/test/unit/StoreRpcLocal.test.ts +9 -9
- package/test/unit/WebrtcConnection.test.ts +29 -0
- package/test/unit/WebsocketClientConnector.test.ts +1 -1
- package/test/unit/WebsocketServerConnector.test.ts +1 -1
- package/test/unit/connectivityRequestHandler.test.ts +1 -1
- package/test/unit/createPeerDescriptor.test.ts +4 -4
- package/test/unit/getClosestNodes.test.ts +5 -5
- package/test/utils/FakeConnectorFacade.ts +1 -1
- package/test/utils/FakeTransport.ts +12 -9
- package/test/utils/customMatchers.ts +3 -3
- package/test/utils/mock/MockConnectionsView.ts +1 -1
- package/test/utils/mock/MockRouter.ts +5 -1
- package/test/utils/mock/MockTransport.ts +6 -1
- package/test/utils/mock/mockDataEntry.ts +6 -6
- package/test/utils/topology.ts +3 -3
- package/test/utils/utils.ts +9 -9
- package/tsconfig.jest.json +2 -1
- package/tsconfig.node.json +1 -0
- package/dist/src/proto/google/protobuf/any.js.map +0 -1
- package/dist/src/proto/google/protobuf/empty.js.map +0 -1
- package/dist/src/proto/google/protobuf/timestamp.js.map +0 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +0 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +0 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.js.map +0 -1
- package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
- package/dist/src/proto/tests.d.ts +0 -39
- package/dist/src/proto/tests.js +0 -34
- package/dist/src/proto/tests.js.map +0 -1
- package/src/proto/tests.ts +0 -52
- package/test/benchmark/any.test.ts +0 -28
- /package/dist/{src/proto → generated}/google/protobuf/any.js +0 -0
- /package/dist/{src/proto → generated}/google/protobuf/empty.js +0 -0
- /package/dist/{src/proto → generated}/google/protobuf/timestamp.js +0 -0
- /package/dist/{src/proto → generated}/packages/dht/protos/DhtRpc.server.js +0 -0
- /package/dist/{src/proto → generated}/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -0
- /package/dist/{src/proto → generated}/packages/proto-rpc/protos/ProtoRpc.js +0 -0
- /package/{src/proto → generated}/packages/proto-rpc/protos/ProtoRpc.ts +0 -0
- /package/{src/types/glogal.d.ts → test/types/global.d.ts} +0 -0
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StoreManager = void 0;
|
|
4
4
|
const utils_1 = require("@streamr/utils");
|
|
5
5
|
const identifiers_1 = require("../../identifiers");
|
|
6
|
-
const timestamp_1 = require("
|
|
7
|
-
const DhtRpc_1 = require("
|
|
6
|
+
const timestamp_1 = require("../../../generated/google/protobuf/timestamp");
|
|
7
|
+
const DhtRpc_1 = require("../../../generated/packages/dht/protos/DhtRpc");
|
|
8
8
|
const getClosestNodes_1 = require("../contact/getClosestNodes");
|
|
9
9
|
const StoreRpcLocal_1 = require("./StoreRpcLocal");
|
|
10
10
|
const logger = new utils_1.Logger(module);
|
|
@@ -48,7 +48,7 @@ class StoreManager {
|
|
|
48
48
|
async replicateDataToContact(dataEntry, contact) {
|
|
49
49
|
const rpcRemote = this.options.createRpcRemote(contact);
|
|
50
50
|
try {
|
|
51
|
-
await rpcRemote.replicateData({ entry: dataEntry });
|
|
51
|
+
await rpcRemote.replicateData({ entry: dataEntry }, true);
|
|
52
52
|
}
|
|
53
53
|
catch (e) {
|
|
54
54
|
logger.trace('replicateData() threw an exception ' + e);
|
|
@@ -62,8 +62,8 @@ class StoreManager {
|
|
|
62
62
|
const ttl = this.options.highestTtl; // ToDo: make TTL decrease according to some nice curve
|
|
63
63
|
const createdAt = timestamp_1.Timestamp.now();
|
|
64
64
|
for (let i = 0; i < closestNodes.length && successfulNodes.length < this.options.redundancyFactor; i++) {
|
|
65
|
-
const keyRaw = (0, identifiers_1.
|
|
66
|
-
const creatorRaw = (0, identifiers_1.
|
|
65
|
+
const keyRaw = (0, identifiers_1.toDhtAddressRaw)(key);
|
|
66
|
+
const creatorRaw = (0, identifiers_1.toDhtAddressRaw)(creator);
|
|
67
67
|
if ((0, identifiers_1.areEqualPeerDescriptors)(this.options.localPeerDescriptor, closestNodes[i])) {
|
|
68
68
|
this.options.localDataStore.storeEntry({
|
|
69
69
|
key: keyRaw,
|
|
@@ -99,12 +99,12 @@ class StoreManager {
|
|
|
99
99
|
async replicateDataToClosestNodes() {
|
|
100
100
|
const dataEntries = Array.from(this.options.localDataStore.values());
|
|
101
101
|
await Promise.all(dataEntries.map(async (dataEntry) => {
|
|
102
|
-
const dataKey = (0, identifiers_1.
|
|
102
|
+
const dataKey = (0, identifiers_1.toDhtAddress)(dataEntry.key);
|
|
103
103
|
const neighbors = (0, getClosestNodes_1.getClosestNodes)(dataKey, this.options.getNeighbors(), { maxCount: this.options.redundancyFactor });
|
|
104
104
|
await Promise.all(neighbors.map(async (neighbor) => {
|
|
105
105
|
const rpcRemote = this.options.createRpcRemote(neighbor);
|
|
106
106
|
try {
|
|
107
|
-
await rpcRemote.replicateData({ entry: dataEntry });
|
|
107
|
+
await rpcRemote.replicateData({ entry: dataEntry }, false);
|
|
108
108
|
}
|
|
109
109
|
catch (err) {
|
|
110
110
|
logger.trace('Failed to replicate data in replicateDataToClosestNodes', { err });
|
|
@@ -115,7 +115,7 @@ class StoreManager {
|
|
|
115
115
|
getStorers(dataKey, excludedNode) {
|
|
116
116
|
return (0, getClosestNodes_1.getClosestNodes)(dataKey, [...this.options.getNeighbors(), this.options.localPeerDescriptor], {
|
|
117
117
|
maxCount: this.options.redundancyFactor,
|
|
118
|
-
excludedNodeIds: excludedNode !== undefined ? new Set([(0, identifiers_1.
|
|
118
|
+
excludedNodeIds: excludedNode !== undefined ? new Set([(0, identifiers_1.toNodeId)(excludedNode)]) : undefined
|
|
119
119
|
});
|
|
120
120
|
}
|
|
121
121
|
async destroy() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreManager.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreManager.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AACvC,mDAM0B;AAE1B,
|
|
1
|
+
{"version":3,"file":"StoreManager.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
|
|
2
|
-
import { Empty } from '
|
|
3
|
-
import { DataEntry, PeerDescriptor, ReplicateDataRequest, StoreDataRequest, StoreDataResponse } from '
|
|
4
|
-
import { IStoreRpc } from '
|
|
2
|
+
import { Empty } from '../../../generated/google/protobuf/empty';
|
|
3
|
+
import { DataEntry, PeerDescriptor, ReplicateDataRequest, StoreDataRequest, StoreDataResponse } from '../../../generated/packages/dht/protos/DhtRpc';
|
|
4
|
+
import { IStoreRpc } from '../../../generated/packages/dht/protos/DhtRpc.server';
|
|
5
5
|
import { LocalDataStore } from './LocalDataStore';
|
|
6
6
|
import { DhtAddress } from '../../identifiers';
|
|
7
7
|
interface StoreRpcLocalOptions {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StoreRpcLocal = void 0;
|
|
4
4
|
const utils_1 = require("@streamr/utils");
|
|
5
|
-
const timestamp_1 = require("
|
|
5
|
+
const timestamp_1 = require("../../../generated/google/protobuf/timestamp");
|
|
6
6
|
const identifiers_1 = require("../../identifiers");
|
|
7
7
|
const logger = new utils_1.Logger(module);
|
|
8
8
|
class StoreRpcLocal {
|
|
@@ -12,7 +12,7 @@ class StoreRpcLocal {
|
|
|
12
12
|
}
|
|
13
13
|
async storeData(request) {
|
|
14
14
|
logger.trace('storeData()');
|
|
15
|
-
const key = (0, identifiers_1.
|
|
15
|
+
const key = (0, identifiers_1.toDhtAddress)(request.key);
|
|
16
16
|
const isLocalNodeStorer = this.isLocalNodeStorer(key);
|
|
17
17
|
this.options.localDataStore.storeEntry({
|
|
18
18
|
key: request.key,
|
|
@@ -36,7 +36,7 @@ class StoreRpcLocal {
|
|
|
36
36
|
if (wasStored) {
|
|
37
37
|
this.replicateDataToNeighbors(context.incomingSourceDescriptor, request.entry);
|
|
38
38
|
}
|
|
39
|
-
const key = (0, identifiers_1.
|
|
39
|
+
const key = (0, identifiers_1.toDhtAddress)(dataEntry.key);
|
|
40
40
|
if (!this.isLocalNodeStorer(key)) {
|
|
41
41
|
this.options.localDataStore.setAllEntriesAsStale(key);
|
|
42
42
|
}
|
|
@@ -47,7 +47,7 @@ class StoreRpcLocal {
|
|
|
47
47
|
return this.options.getStorers(dataKey).some((p) => (0, identifiers_1.areEqualPeerDescriptors)(p, this.options.localPeerDescriptor));
|
|
48
48
|
}
|
|
49
49
|
replicateDataToNeighbors(requestor, dataEntry) {
|
|
50
|
-
const dataKey = (0, identifiers_1.
|
|
50
|
+
const dataKey = (0, identifiers_1.toDhtAddress)(dataEntry.key);
|
|
51
51
|
const storers = this.options.getStorers(dataKey);
|
|
52
52
|
const isLocalNodePrimaryStorer = (0, identifiers_1.areEqualPeerDescriptors)(storers[0], this.options.localPeerDescriptor);
|
|
53
53
|
// If we are the closest to the data, get storageRedundancyFactor - 1 nearest node to the data, and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreRpcLocal.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcLocal.ts"],"names":[],"mappings":";;;AACA,0CAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"StoreRpcLocal.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcLocal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ReplicateDataRequest, StoreDataRequest } from '
|
|
2
|
-
import { StoreRpcClient } from '
|
|
1
|
+
import { ReplicateDataRequest, StoreDataRequest } from '../../../generated/packages/dht/protos/DhtRpc';
|
|
2
|
+
import { StoreRpcClient } from '../../../generated/packages/dht/protos/DhtRpc.client';
|
|
3
3
|
import { RpcRemote } from '../contact/RpcRemote';
|
|
4
4
|
export declare class StoreRpcRemote extends RpcRemote<StoreRpcClient> {
|
|
5
5
|
storeData(request: StoreDataRequest): Promise<void>;
|
|
6
|
-
replicateData(request: ReplicateDataRequest): Promise<void>;
|
|
6
|
+
replicateData(request: ReplicateDataRequest, connect: boolean): Promise<void>;
|
|
7
7
|
}
|
|
@@ -10,14 +10,17 @@ class StoreRpcRemote extends RpcRemote_1.RpcRemote {
|
|
|
10
10
|
await this.getClient().storeData(request, options);
|
|
11
11
|
}
|
|
12
12
|
catch (err) {
|
|
13
|
-
const to = (0, identifiers_1.
|
|
14
|
-
const from = (0, identifiers_1.
|
|
13
|
+
const to = (0, identifiers_1.toNodeId)(this.getPeerDescriptor());
|
|
14
|
+
const from = (0, identifiers_1.toNodeId)(this.getLocalPeerDescriptor());
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
|
15
16
|
throw new Error(`Could not store data to ${to} from ${from} ${err}`);
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
async replicateData(request) {
|
|
19
|
+
async replicateData(request, connect) {
|
|
19
20
|
const options = this.formDhtRpcOptions({
|
|
20
|
-
timeout: RpcRemote_1.EXISTING_CONNECTION_TIMEOUT
|
|
21
|
+
timeout: RpcRemote_1.EXISTING_CONNECTION_TIMEOUT,
|
|
22
|
+
notification: true,
|
|
23
|
+
connect
|
|
21
24
|
});
|
|
22
25
|
return this.getClient().replicateData(request, options);
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcRemote.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"StoreRpcRemote.js","sourceRoot":"","sources":["../../../../src/dht/store/StoreRpcRemote.ts"],"names":[],"mappings":";;;AAAA,mDAA4C;AAM5C,oDAA6E;AAE7E,MAAa,cAAe,SAAQ,qBAAyB;IAEzD,KAAK,CAAC,SAAS,CAAC,OAAyB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,IAAA,sBAAQ,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAA;YACpD,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,SAAS,IAAI,IAAI,GAAG,EAAE,CAAC,CAAA;QACxE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA6B,EAAE,OAAgB;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACnC,OAAO,EAAE,uCAA2B;YACpC,YAAY,EAAE,IAAI;YAClB,OAAO;SACV,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CAEJ;AAvBD,wCAuBC"}
|
package/dist/src/exports.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export { RoutingRpcCommunicator } from './transport/RoutingRpcCommunicator';
|
|
|
4
4
|
export { Simulator, LatencyType } from './connection/simulator/Simulator';
|
|
5
5
|
export { SimulatorTransport } from './connection/simulator/SimulatorTransport';
|
|
6
6
|
export { getRandomRegion, getRegionDelayMatrix } from './connection/simulator/pings';
|
|
7
|
-
export { PeerDescriptor, Message, NodeType, DataEntry } from '
|
|
7
|
+
export { PeerDescriptor, Message, NodeType, DataEntry } from '../generated/packages/dht/protos/DhtRpc';
|
|
8
8
|
export { ITransport, TransportEvents } from './transport/ITransport';
|
|
9
9
|
export { ConnectionManager, ConnectionLocker, PortRange, TlsCertificate } from './connection/ConnectionManager';
|
|
10
10
|
export { ConnectionsView } from './connection/ConnectionsView';
|
|
@@ -22,4 +22,4 @@ export { ConnectionType } from './connection/IConnection';
|
|
|
22
22
|
export { ServiceID } from './types/ServiceID';
|
|
23
23
|
export { RingContacts } from './dht/contact/RingContactList';
|
|
24
24
|
export { createOutgoingHandshaker } from './connection/Handshaker';
|
|
25
|
-
export { DhtAddress, DhtAddressRaw,
|
|
25
|
+
export { DhtAddress, DhtAddressRaw, toDhtAddress, toDhtAddressRaw, randomDhtAddress, areEqualPeerDescriptors, toNodeId } from './identifiers';
|
package/dist/src/exports.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.toNodeId = exports.areEqualPeerDescriptors = exports.randomDhtAddress = exports.toDhtAddressRaw = exports.toDhtAddress = exports.createOutgoingHandshaker = exports.ConnectionType = exports.PendingConnection = exports.ManagedConnection = exports.WebsocketClientConnection = exports.DhtCallContext = exports.EXISTING_CONNECTION_TIMEOUT = exports.RpcRemote = exports.DefaultConnectorFacade = exports.ConnectionManager = exports.DataEntry = exports.NodeType = exports.Message = exports.PeerDescriptor = exports.getRegionDelayMatrix = exports.getRandomRegion = exports.SimulatorTransport = exports.LatencyType = exports.Simulator = exports.RoutingRpcCommunicator = exports.ListeningRpcCommunicator = exports.DhtNode = void 0;
|
|
4
4
|
var DhtNode_1 = require("./dht/DhtNode");
|
|
5
5
|
Object.defineProperty(exports, "DhtNode", { enumerable: true, get: function () { return DhtNode_1.DhtNode; } });
|
|
6
6
|
var ListeningRpcCommunicator_1 = require("./transport/ListeningRpcCommunicator");
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "SimulatorTransport", { enumerable: true, get: fu
|
|
|
15
15
|
var pings_1 = require("./connection/simulator/pings");
|
|
16
16
|
Object.defineProperty(exports, "getRandomRegion", { enumerable: true, get: function () { return pings_1.getRandomRegion; } });
|
|
17
17
|
Object.defineProperty(exports, "getRegionDelayMatrix", { enumerable: true, get: function () { return pings_1.getRegionDelayMatrix; } });
|
|
18
|
-
var DhtRpc_1 = require("
|
|
18
|
+
var DhtRpc_1 = require("../generated/packages/dht/protos/DhtRpc");
|
|
19
19
|
Object.defineProperty(exports, "PeerDescriptor", { enumerable: true, get: function () { return DhtRpc_1.PeerDescriptor; } });
|
|
20
20
|
Object.defineProperty(exports, "Message", { enumerable: true, get: function () { return DhtRpc_1.Message; } });
|
|
21
21
|
Object.defineProperty(exports, "NodeType", { enumerable: true, get: function () { return DhtRpc_1.NodeType; } });
|
|
@@ -40,9 +40,9 @@ Object.defineProperty(exports, "ConnectionType", { enumerable: true, get: functi
|
|
|
40
40
|
var Handshaker_1 = require("./connection/Handshaker");
|
|
41
41
|
Object.defineProperty(exports, "createOutgoingHandshaker", { enumerable: true, get: function () { return Handshaker_1.createOutgoingHandshaker; } });
|
|
42
42
|
var identifiers_1 = require("./identifiers");
|
|
43
|
-
Object.defineProperty(exports, "
|
|
44
|
-
Object.defineProperty(exports, "
|
|
45
|
-
Object.defineProperty(exports, "
|
|
43
|
+
Object.defineProperty(exports, "toDhtAddress", { enumerable: true, get: function () { return identifiers_1.toDhtAddress; } });
|
|
44
|
+
Object.defineProperty(exports, "toDhtAddressRaw", { enumerable: true, get: function () { return identifiers_1.toDhtAddressRaw; } });
|
|
45
|
+
Object.defineProperty(exports, "randomDhtAddress", { enumerable: true, get: function () { return identifiers_1.randomDhtAddress; } });
|
|
46
46
|
Object.defineProperty(exports, "areEqualPeerDescriptors", { enumerable: true, get: function () { return identifiers_1.areEqualPeerDescriptors; } });
|
|
47
|
-
Object.defineProperty(exports, "
|
|
47
|
+
Object.defineProperty(exports, "toNodeId", { enumerable: true, get: function () { return identifiers_1.toNodeId; } });
|
|
48
48
|
//# sourceMappingURL=exports.js.map
|
package/dist/src/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,6EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../../src/exports.ts"],"names":[],"mappings":";;;AAAA,yCAAsE;AAA7D,kGAAA,OAAO,OAAA;AAChB,iFAA+E;AAAtE,oIAAA,wBAAwB,OAAA;AACjC,6EAA2E;AAAlE,gIAAA,sBAAsB,OAAA;AAC/B,8DAAyE;AAAhE,sGAAA,SAAS,OAAA;AAAE,wGAAA,WAAW,OAAA;AAC/B,gFAA8E;AAArE,wHAAA,kBAAkB,OAAA;AAC3B,sDAAoF;AAA3E,wGAAA,eAAe,OAAA;AAAE,6GAAA,oBAAoB,OAAA;AAC9C,kEAAsG;AAA7F,wGAAA,cAAc,OAAA;AAAE,iGAAA,OAAO,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,mGAAA,SAAS,OAAA;AAErD,oEAA+G;AAAtG,sHAAA,iBAAiB,OAAA;AAG1B,gEAAqE;AAA5D,yHAAA,sBAAsB,OAAA;AAE/B,qDAAgF;AAAvE,sGAAA,SAAS,OAAA;AAAE,wHAAA,2BAA2B,OAAA;AAE/C,gEAA8D;AAArD,gHAAA,cAAc,OAAA;AACvB,sGAAgG;AAAvF,0IAAA,yBAAyB,OAAA;AAClC,oEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAC1B,oEAAkE;AAAzD,sHAAA,iBAAiB,OAAA;AAE1B,wDAAyD;AAAhD,6GAAA,cAAc,OAAA;AAGvB,sDAAkE;AAAzD,sHAAA,wBAAwB,OAAA;AACjC,6CAQsB;AALlB,2GAAA,YAAY,OAAA;AACZ,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,sHAAA,uBAAuB,OAAA;AACvB,uGAAA,QAAQ,OAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ConnectionType } from '../connection/IConnection';
|
|
2
|
-
import { ConnectivityMethod, PeerDescriptor } from '
|
|
2
|
+
import { ConnectivityMethod, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
3
3
|
export declare const canOpenConnectionFromBrowser: (websocketServer: ConnectivityMethod) => boolean;
|
|
4
4
|
export declare const expectedConnectionType: (localPeerDescriptor: PeerDescriptor, remotePeerDescriptor: PeerDescriptor) => ConnectionType;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.expectedConnectionType = exports.canOpenConnectionFromBrowser = void 0;
|
|
4
4
|
const IConnection_1 = require("../connection/IConnection");
|
|
5
|
-
const DhtRpc_1 = require("
|
|
5
|
+
const DhtRpc_1 = require("../../generated/packages/dht/protos/DhtRpc");
|
|
6
6
|
const AddressTools_1 = require("./AddressTools");
|
|
7
7
|
const canOpenConnectionFromBrowser = (websocketServer) => {
|
|
8
8
|
const hasPrivateAddress = ((websocketServer.host === 'localhost') || (0, AddressTools_1.isPrivateIPv4)(websocketServer.host));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connectivity.js","sourceRoot":"","sources":["../../../src/helpers/Connectivity.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,
|
|
1
|
+
{"version":3,"file":"Connectivity.js","sourceRoot":"","sources":["../../../src/helpers/Connectivity.ts"],"names":[],"mappings":";;;AAAA,2DAA0D;AAC1D,uEAAyG;AACzG,iDAA8C;AAEvC,MAAM,4BAA4B,GAAG,CAAC,eAAmC,EAAW,EAAE;IACzF,MAAM,iBAAiB,GAAG,CAAC,CAAC,eAAe,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,IAAA,4BAAa,EAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;IACzG,OAAO,eAAe,CAAC,GAAG,IAAI,iBAAiB,CAAA;AACnD,CAAC,CAAA;AAHY,QAAA,4BAA4B,gCAGxC;AAEM,MAAM,sBAAsB,GAAG,CAAC,mBAAmC,EAAE,oBAAoC,EAAkB,EAAE;IAChI,IAAI,oBAAoB,CAAC,SAAS;WAC3B,CAAC,mBAAmB,CAAC,IAAI,KAAK,iBAAQ,CAAC,OAAO,IAAI,IAAA,oCAA4B,EAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACrH,OAAO,4BAAc,CAAC,gBAAgB,CAAA;IAC1C,CAAC;SAAM,IAAI,mBAAmB,CAAC,SAAS;WACjC,CAAC,oBAAoB,CAAC,IAAI,KAAK,iBAAQ,CAAC,OAAO,IAAI,IAAA,oCAA4B,EAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACrH,OAAO,4BAAc,CAAC,gBAAgB,CAAA;IAC1C,CAAC;IACD,OAAO,4BAAc,CAAC,MAAM,CAAA;AAChC,CAAC,CAAA;AATY,QAAA,sBAAsB,0BASlC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { DhtAddress } from '../identifiers';
|
|
2
|
-
import { ConnectivityResponse, PeerDescriptor } from '
|
|
2
|
+
import { ConnectivityResponse, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
3
3
|
export declare const createPeerDescriptor: (connectivityResponse: ConnectivityResponse, region: number, nodeId?: DhtAddress) => PeerDescriptor;
|
|
@@ -9,7 +9,7 @@ const crypto_1 = __importDefault(require("crypto"));
|
|
|
9
9
|
const isBrowserEnvironment_1 = require("../helpers/browser/isBrowserEnvironment");
|
|
10
10
|
const createPeerDescriptorSignaturePayload_1 = require("../helpers/createPeerDescriptorSignaturePayload");
|
|
11
11
|
const identifiers_1 = require("../identifiers");
|
|
12
|
-
const DhtRpc_1 = require("
|
|
12
|
+
const DhtRpc_1 = require("../../generated/packages/dht/protos/DhtRpc");
|
|
13
13
|
const calculateNodeIdRaw = (ipAddress, privateKey) => {
|
|
14
14
|
// nodeId is calculated as
|
|
15
15
|
// concatenate(
|
|
@@ -31,7 +31,7 @@ const createPeerDescriptor = (connectivityResponse, region, nodeId) => {
|
|
|
31
31
|
const publicKey = crypto_1.default.randomBytes(20); // TODO calculate publicKey from privateKey
|
|
32
32
|
let nodeIdRaw;
|
|
33
33
|
if (nodeId !== undefined) {
|
|
34
|
-
nodeIdRaw = (0, identifiers_1.
|
|
34
|
+
nodeIdRaw = (0, identifiers_1.toDhtAddressRaw)(nodeId);
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
nodeIdRaw = calculateNodeIdRaw(connectivityResponse.ipAddress, privateKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPeerDescriptor.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptor.ts"],"names":[],"mappings":";;;;;;AAAA,0CAGuB;AACvB,oDAA2B;AAC3B,kFAA8E;AAC9E,0GAAsG;AACtG,
|
|
1
|
+
{"version":3,"file":"createPeerDescriptor.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptor.ts"],"names":[],"mappings":";;;;;;AAAA,0CAGuB;AACvB,oDAA2B;AAC3B,kFAA8E;AAC9E,0GAAsG;AACtG,gDAA2E;AAC3E,uEAImD;AAEnD,MAAM,kBAAkB,GAAG,CAAC,SAAiB,EAAE,UAAsB,EAAiB,EAAE;IACpF,2BAA2B;IAC3B,eAAe;IACf,iDAAiD;IACjD,8CAA8C;IAC9C,IAAI;IACJ,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,UAAU,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,IAAA,uBAAe,EAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;QAClD,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;KAC7D,CAAC,CAAA;IACF,OAAO,SAAS,CAAA;AACpB,CAAC,CAAA;AAEM,MAAM,oBAAoB,GAAG,CAAC,oBAA0C,EAAE,MAAc,EAAE,MAAmB,EAAkB,EAAE;IACpI,MAAM,UAAU,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA,CAAE,2CAA2C;IACrF,IAAI,SAAwB,CAAA;IAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,SAAS,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAA;IACvC,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC9E,CAAC;IACD,MAAM,GAAG,GAAmB;QACxB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,IAAA,2CAAoB,GAAE,CAAC,CAAC,CAAC,iBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAQ,CAAC,MAAM;QACjE,SAAS,EAAE,oBAAoB,CAAC,SAAS;QACzC,MAAM;QACN,SAAS;KACZ,CAAA;IACD,IAAI,oBAAoB,CAAC,SAAS,EAAE,CAAC;QACjC,GAAG,CAAC,SAAS,GAAG;YACZ,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI;YACzC,IAAI,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI;YACzC,GAAG,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG;SAC1C,CAAA;IACL,CAAC;IACD,GAAG,CAAC,SAAS,GAAG,IAAA,uBAAe,EAAC,IAAA,2EAAoC,EAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAA;IACtF,OAAO,GAAG,CAAA;AACd,CAAC,CAAA;AAzBY,QAAA,oBAAoB,wBAyBhC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PeerDescriptor } from '
|
|
1
|
+
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
2
2
|
export declare const createPeerDescriptorSignaturePayload: (peerDescriptor: PeerDescriptor) => Uint8Array;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPeerDescriptorSignaturePayload = void 0;
|
|
4
|
-
const DhtRpc_1 = require("
|
|
4
|
+
const DhtRpc_1 = require("../../generated/packages/dht/protos/DhtRpc");
|
|
5
5
|
function convertUnsignedIntegerToBuffer(number) {
|
|
6
6
|
const buffer = Buffer.alloc(4);
|
|
7
7
|
buffer.writeUInt32BE(number);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createPeerDescriptorSignaturePayload.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptorSignaturePayload.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"createPeerDescriptorSignaturePayload.js","sourceRoot":"","sources":["../../../src/helpers/createPeerDescriptorSignaturePayload.ts"],"names":[],"mappings":";;;AAAA,uEAA+F;AAE/F,SAAS,8BAA8B,CAAC,MAAc;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9B,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAC5B,OAAO,MAAM,CAAA;AACjB,CAAC;AAEM,MAAM,oCAAoC,GAAG,CAAC,cAA8B,EAAc,EAAE;IAC/F,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,OAAO,GAAG;QACZ,cAAc,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAC3G,SAAS;QACT,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACtG,SAAS;QACT,cAAc,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACtG,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,2BAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAClH,SAAS;QACT,cAAc,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAC/G,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QACrH,SAAS;QACT,cAAc,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;KACrG,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;AACjC,CAAC,CAAA;AAlBY,QAAA,oCAAoC,wCAkBhD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.protoClasses = void 0;
|
|
4
|
-
const DhtRpc_1 = require("
|
|
4
|
+
const DhtRpc_1 = require("../../generated/packages/dht/protos/DhtRpc");
|
|
5
5
|
exports.protoClasses = [
|
|
6
6
|
DhtRpc_1.ClosestPeersRequest,
|
|
7
7
|
DhtRpc_1.ClosestPeersResponse,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"protoClasses.js","sourceRoot":"","sources":["../../../src/helpers/protoClasses.ts"],"names":[],"mappings":";;;AACA,uEA2BmD;AAEtC,QAAA,YAAY,GAA6B;IAClD,4BAAmB;IACnB,6BAAoB;IACpB,kCAAyB;IACzB,mCAA0B;IAC1B,oBAAW;IACX,qBAAY;IACZ,oBAAW;IACX,uBAAc;IACd,2BAAkB;IAClB,yBAAgB;IAChB,4BAAmB;IACnB,wBAAe;IACf,4BAAmB;IACnB,6BAAoB;IACpB,yBAAgB;IAChB,0BAAiB;IACjB,gBAAO;IACP,mCAA0B;IAC1B,gCAAuB;IACvB,iBAAQ;IACR,kBAAS;IACT,qBAAY;IACZ,oBAAW;IACX,sBAAa;IACb,qBAAY;CACf,CAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BrandedString } from '@streamr/utils';
|
|
2
|
-
import { PeerDescriptor } from '
|
|
2
|
+
import { PeerDescriptor } from '../generated/packages/dht/protos/DhtRpc';
|
|
3
3
|
export declare const KADEMLIA_ID_LENGTH_IN_BYTES = 20;
|
|
4
4
|
export type DhtAddress = BrandedString<'DhtAddress'>;
|
|
5
5
|
export type DhtAddressRaw = Uint8Array;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
8
|
-
export declare const
|
|
6
|
+
export declare const toDhtAddress: (raw: DhtAddressRaw) => DhtAddress;
|
|
7
|
+
export declare const toDhtAddressRaw: (address: DhtAddress) => DhtAddressRaw;
|
|
8
|
+
export declare const toNodeId: (peerDescriptor: PeerDescriptor) => DhtAddress;
|
|
9
9
|
export declare const areEqualPeerDescriptors: (peerDescriptor1: PeerDescriptor, peerDescriptor2: PeerDescriptor) => boolean;
|
|
10
|
-
export declare const
|
|
10
|
+
export declare const randomDhtAddress: () => DhtAddress;
|
package/dist/src/identifiers.js
CHANGED
|
@@ -3,29 +3,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.randomDhtAddress = exports.areEqualPeerDescriptors = exports.toNodeId = exports.toDhtAddressRaw = exports.toDhtAddress = exports.KADEMLIA_ID_LENGTH_IN_BYTES = void 0;
|
|
7
7
|
const utils_1 = require("@streamr/utils");
|
|
8
8
|
const crypto_1 = __importDefault(require("crypto"));
|
|
9
9
|
// https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf
|
|
10
10
|
exports.KADEMLIA_ID_LENGTH_IN_BYTES = 20;
|
|
11
|
-
const
|
|
11
|
+
const toDhtAddress = (raw) => {
|
|
12
12
|
return (0, utils_1.binaryToHex)(raw);
|
|
13
13
|
};
|
|
14
|
-
exports.
|
|
15
|
-
const
|
|
14
|
+
exports.toDhtAddress = toDhtAddress;
|
|
15
|
+
const toDhtAddressRaw = (address) => {
|
|
16
16
|
return (0, utils_1.hexToBinary)(address);
|
|
17
17
|
};
|
|
18
|
-
exports.
|
|
19
|
-
const
|
|
20
|
-
return (0, exports.
|
|
18
|
+
exports.toDhtAddressRaw = toDhtAddressRaw;
|
|
19
|
+
const toNodeId = (peerDescriptor) => {
|
|
20
|
+
return (0, exports.toDhtAddress)(peerDescriptor.nodeId);
|
|
21
21
|
};
|
|
22
|
-
exports.
|
|
22
|
+
exports.toNodeId = toNodeId;
|
|
23
23
|
const areEqualPeerDescriptors = (peerDescriptor1, peerDescriptor2) => {
|
|
24
24
|
return (0, utils_1.areEqualBinaries)(peerDescriptor1.nodeId, peerDescriptor2.nodeId);
|
|
25
25
|
};
|
|
26
26
|
exports.areEqualPeerDescriptors = areEqualPeerDescriptors;
|
|
27
|
-
const
|
|
28
|
-
return (0, exports.
|
|
27
|
+
const randomDhtAddress = () => {
|
|
28
|
+
return (0, exports.toDhtAddress)(crypto_1.default.randomBytes(exports.KADEMLIA_ID_LENGTH_IN_BYTES));
|
|
29
29
|
};
|
|
30
|
-
exports.
|
|
30
|
+
exports.randomDhtAddress = randomDhtAddress;
|
|
31
31
|
//# sourceMappingURL=identifiers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/identifiers.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA0F;AAC1F,oDAA2B;AAG3B,wDAAwD;AAC3C,QAAA,2BAA2B,GAAG,EAAE,CAAA;AAKtC,MAAM,
|
|
1
|
+
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../../src/identifiers.ts"],"names":[],"mappings":";;;;;;AAAA,0CAA0F;AAC1F,oDAA2B;AAG3B,wDAAwD;AAC3C,QAAA,2BAA2B,GAAG,EAAE,CAAA;AAKtC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAc,EAAE;IAC3D,OAAO,IAAA,mBAAW,EAAC,GAAG,CAA0B,CAAA;AACpD,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,eAAe,GAAG,CAAC,OAAmB,EAAiB,EAAE;IAClE,OAAO,IAAA,mBAAW,EAAC,OAAO,CAA6B,CAAA;AAC3D,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,MAAM,QAAQ,GAAG,CAAC,cAA8B,EAAc,EAAE;IACnE,OAAO,IAAA,oBAAY,EAAC,cAAc,CAAC,MAAM,CAAC,CAAA;AAC9C,CAAC,CAAA;AAFY,QAAA,QAAQ,YAEpB;AAEM,MAAM,uBAAuB,GAAG,CAAC,eAA+B,EAAE,eAA+B,EAAW,EAAE;IACjH,OAAO,IAAA,wBAAgB,EAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;AAC3E,CAAC,CAAA;AAFY,QAAA,uBAAuB,2BAEnC;AAEM,MAAM,gBAAgB,GAAG,GAAe,EAAE;IAC7C,OAAO,IAAA,oBAAY,EAAC,gBAAM,CAAC,WAAW,CAAC,mCAA2B,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProtoCallContext } from '@streamr/proto-rpc';
|
|
2
|
-
import { PeerDescriptor } from '
|
|
2
|
+
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
3
3
|
import { DhtRpcOptions } from './DhtRpcOptions';
|
|
4
4
|
export declare class DhtCallContext extends ProtoCallContext implements DhtRpcOptions {
|
|
5
5
|
targetDescriptor?: PeerDescriptor;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProtoRpcOptions } from '@streamr/proto-rpc';
|
|
2
|
-
import { PeerDescriptor } from '
|
|
2
|
+
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
3
3
|
export interface DhtRpcOptions extends ProtoRpcOptions {
|
|
4
4
|
targetDescriptor?: PeerDescriptor;
|
|
5
5
|
sourceDescriptor?: PeerDescriptor;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message, PeerDescriptor } from '
|
|
1
|
+
import { Message, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc';
|
|
2
2
|
export interface TransportEvents {
|
|
3
3
|
disconnected: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean) => void;
|
|
4
4
|
message: (message: Message) => void;
|
|
@@ -25,4 +25,5 @@ export interface ITransport {
|
|
|
25
25
|
send(msg: Message, opts?: SendOptions): Promise<void>;
|
|
26
26
|
getLocalPeerDescriptor(): PeerDescriptor;
|
|
27
27
|
stop(): void | Promise<void>;
|
|
28
|
+
getDiagnosticInfo(): Record<string, unknown>;
|
|
28
29
|
}
|
|
@@ -4,7 +4,8 @@ import { RpcCommunicatorOptions } from '@streamr/proto-rpc';
|
|
|
4
4
|
import { ServiceID } from '../types/ServiceID';
|
|
5
5
|
export declare class ListeningRpcCommunicator extends RoutingRpcCommunicator {
|
|
6
6
|
private readonly transport;
|
|
7
|
-
private readonly
|
|
7
|
+
private readonly messageListener;
|
|
8
|
+
private readonly disconnectedListener;
|
|
8
9
|
constructor(ownServiceId: ServiceID, transport: ITransport, options?: RpcCommunicatorOptions);
|
|
9
10
|
destroy(): void;
|
|
10
11
|
}
|
|
@@ -2,19 +2,28 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ListeningRpcCommunicator = void 0;
|
|
4
4
|
const RoutingRpcCommunicator_1 = require("./RoutingRpcCommunicator");
|
|
5
|
+
const proto_rpc_1 = require("@streamr/proto-rpc");
|
|
6
|
+
const identifiers_1 = require("../identifiers");
|
|
5
7
|
class ListeningRpcCommunicator extends RoutingRpcCommunicator_1.RoutingRpcCommunicator {
|
|
6
8
|
transport;
|
|
7
|
-
|
|
9
|
+
messageListener;
|
|
10
|
+
disconnectedListener;
|
|
8
11
|
constructor(ownServiceId, transport, options) {
|
|
9
12
|
super(ownServiceId, (msg, opts) => transport.send(msg, opts), options);
|
|
10
|
-
this.
|
|
13
|
+
this.messageListener = (msg) => {
|
|
11
14
|
this.handleMessageFromPeer(msg);
|
|
12
15
|
};
|
|
16
|
+
this.disconnectedListener = (peerDescriptor) => {
|
|
17
|
+
const requests = this.getRequestIds((request) => (0, identifiers_1.areEqualPeerDescriptors)(peerDescriptor, request.getCallContext().targetDescriptor));
|
|
18
|
+
requests.forEach((id) => this.handleClientError(id, new proto_rpc_1.RpcError.Disconnected('Peer disconnected')));
|
|
19
|
+
};
|
|
13
20
|
this.transport = transport;
|
|
14
|
-
transport.on('message', this.
|
|
21
|
+
transport.on('message', this.messageListener);
|
|
22
|
+
transport.on('disconnected', this.disconnectedListener);
|
|
15
23
|
}
|
|
16
24
|
destroy() {
|
|
17
|
-
this.transport.off('message', this.
|
|
25
|
+
this.transport.off('message', this.messageListener);
|
|
26
|
+
this.transport.off('disconnected', this.disconnectedListener);
|
|
18
27
|
this.stop();
|
|
19
28
|
}
|
|
20
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListeningRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/ListeningRpcCommunicator.ts"],"names":[],"mappings":";;;AACA,qEAAiE;
|
|
1
|
+
{"version":3,"file":"ListeningRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/ListeningRpcCommunicator.ts"],"names":[],"mappings":";;;AACA,qEAAiE;AACjE,kDAAqE;AAGrE,gDAAwD;AAExD,MAAa,wBAAyB,SAAQ,+CAAsB;IAC/C,SAAS,CAAY;IACrB,eAAe,CAAwB;IACvC,oBAAoB,CAA0C;IAE/E,YAAY,YAAuB,EAAE,SAAqB,EAAE,OAAgC;QACxF,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;QACtE,IAAI,CAAC,eAAe,GAAG,CAAC,GAAY,EAAE,EAAE;YACpC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC,CAAA;QACD,IAAI,CAAC,oBAAoB,GAAG,CAAC,cAA8B,EAAE,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,qCAAuB,EAAC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,gBAAiB,CAAC,CAAC,CAAA;YACrI,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,oBAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;QACxG,CAAC,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7C,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,EAAE,CAAA;IACf,CAAC;CACJ;AAxBD,4DAwBC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Message } from '
|
|
1
|
+
import { Message } from '../../generated/packages/dht/protos/DhtRpc';
|
|
2
2
|
import { RpcCommunicator, RpcCommunicatorOptions } from '@streamr/proto-rpc';
|
|
3
3
|
import { DhtCallContext } from '../rpc-protocol/DhtCallContext';
|
|
4
4
|
import { ServiceID } from '../types/ServiceID';
|
|
@@ -73,6 +73,10 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
73
73
|
* if (any.is(Foo.class)) {
|
|
74
74
|
* foo = any.unpack(Foo.class);
|
|
75
75
|
* }
|
|
76
|
+
* // or ...
|
|
77
|
+
* if (any.isSameTypeAs(Foo.getDefaultInstance())) {
|
|
78
|
+
* foo = any.unpack(Foo.getDefaultInstance());
|
|
79
|
+
* }
|
|
76
80
|
*
|
|
77
81
|
* Example 3: Pack and unpack a message in Python.
|
|
78
82
|
*
|
|
@@ -87,10 +91,13 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
87
91
|
* Example 4: Pack and unpack a message in Go
|
|
88
92
|
*
|
|
89
93
|
* foo := &pb.Foo{...}
|
|
90
|
-
* any, err :=
|
|
94
|
+
* any, err := anypb.New(foo)
|
|
95
|
+
* if err != nil {
|
|
96
|
+
* ...
|
|
97
|
+
* }
|
|
91
98
|
* ...
|
|
92
99
|
* foo := &pb.Foo{}
|
|
93
|
-
* if err :=
|
|
100
|
+
* if err := any.UnmarshalTo(foo); err != nil {
|
|
94
101
|
* ...
|
|
95
102
|
* }
|
|
96
103
|
*
|
|
@@ -100,7 +107,6 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
100
107
|
* in the type URL, for example "foo.bar.com/x/y.z" will yield type
|
|
101
108
|
* name "y.z".
|
|
102
109
|
*
|
|
103
|
-
*
|
|
104
110
|
* JSON
|
|
105
111
|
* ====
|
|
106
112
|
* The JSON representation of an `Any` value uses the regular
|
|
@@ -157,7 +163,8 @@ export interface Any {
|
|
|
157
163
|
*
|
|
158
164
|
* Note: this functionality is not currently available in the official
|
|
159
165
|
* protobuf release, and it is not used for type URLs beginning with
|
|
160
|
-
* type.googleapis.com.
|
|
166
|
+
* type.googleapis.com. As of May 2023, there are no widely used type server
|
|
167
|
+
* implementations and no plans to implement one.
|
|
161
168
|
*
|
|
162
169
|
* Schemes other than `http`, `https` (or the empty scheme) might be
|
|
163
170
|
* used with implementation specific semantics.
|
|
@@ -49,7 +49,6 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
49
49
|
* rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
|
|
50
50
|
* }
|
|
51
51
|
*
|
|
52
|
-
* The JSON representation for `Empty` is empty JSON object `{}`.
|
|
53
52
|
*
|
|
54
53
|
* @generated from protobuf message google.protobuf.Empty
|
|
55
54
|
*/
|
|
@@ -97,8 +97,15 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
97
97
|
* Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
|
|
98
98
|
* .setNanos((int) ((millis % 1000) * 1000000)).build();
|
|
99
99
|
*
|
|
100
|
+
* Example 5: Compute Timestamp from Java `Instant.now()`.
|
|
100
101
|
*
|
|
101
|
-
*
|
|
102
|
+
* Instant now = Instant.now();
|
|
103
|
+
*
|
|
104
|
+
* Timestamp timestamp =
|
|
105
|
+
* Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
|
106
|
+
* .setNanos(now.getNano()).build();
|
|
107
|
+
*
|
|
108
|
+
* Example 6: Compute Timestamp from current time in Python.
|
|
102
109
|
*
|
|
103
110
|
* timestamp = Timestamp()
|
|
104
111
|
* timestamp.GetCurrentTime()
|
|
@@ -127,11 +134,10 @@ import { MessageType } from "@protobuf-ts/runtime";
|
|
|
127
134
|
* [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
|
|
128
135
|
* the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
|
|
129
136
|
* the Joda Time's [`ISODateTimeFormat.dateTime()`](
|
|
130
|
-
* http://
|
|
137
|
+
* http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
|
|
131
138
|
* ) to obtain a formatter capable of generating timestamps in this format.
|
|
132
139
|
*
|
|
133
140
|
*
|
|
134
|
-
*
|
|
135
141
|
* @generated from protobuf message google.protobuf.Timestamp
|
|
136
142
|
*/
|
|
137
143
|
export interface Timestamp {
|