@streamr/dht 100.0.0-pretestnet.4 → 100.0.0-testnet-one.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/src/connection/ConnectionLockHandler.js +2 -2
- package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcRemote.d.ts +2 -2
- package/dist/src/connection/ConnectionLockRpcRemote.js +2 -2
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
- package/dist/src/connection/ConnectionManager.js +4 -1
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectorFacade.js.map +1 -1
- package/dist/src/connection/ManagedConnection.js +1 -0
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/connectivityChecker.d.ts +9 -0
- package/dist/src/connection/connectivityChecker.js +121 -0
- package/dist/src/connection/connectivityChecker.js.map +1 -0
- package/dist/src/connection/connectivityRequestHandler.d.ts +2 -0
- package/dist/src/connection/connectivityRequestHandler.js +79 -0
- package/dist/src/connection/connectivityRequestHandler.js.map +1 -0
- package/dist/src/connection/simulator/Simulator.js +3 -2
- package/dist/src/connection/simulator/Simulator.js.map +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.js +1 -1
- package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js +1 -1
- package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.js +1 -1
- package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +2 -2
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +2 -2
- package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js +1 -1
- package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
- package/dist/src/connection/websocket/ClientWebsocket.js +1 -0
- package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnector.d.ts +0 -1
- package/dist/src/connection/websocket/WebsocketConnector.js +41 -7
- package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +2 -2
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +2 -2
- package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +9 -19
- package/dist/src/dht/DhtNode.js +76 -216
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcLocal.js +3 -3
- package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
- package/dist/src/dht/DhtNodeRpcRemote.d.ts +3 -3
- package/dist/src/dht/DhtNodeRpcRemote.js +4 -4
- package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcLocal.d.ts +4 -4
- package/dist/src/dht/ExternalApiRpcLocal.js +5 -12
- package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
- package/dist/src/dht/ExternalApiRpcRemote.d.ts +3 -3
- package/dist/src/dht/ExternalApiRpcRemote.js +5 -5
- package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
- package/dist/src/dht/PeerManager.d.ts +48 -0
- package/dist/src/dht/PeerManager.js +208 -0
- package/dist/src/dht/PeerManager.js.map +1 -0
- package/dist/src/dht/contact/ContactList.d.ts +1 -1
- package/dist/src/dht/contact/ContactList.js +1 -0
- package/dist/src/dht/contact/ContactList.js.map +1 -1
- package/dist/src/dht/contact/{Remote.d.ts → RpcRemote.d.ts} +3 -3
- package/dist/src/dht/contact/{Remote.js → RpcRemote.js} +8 -8
- package/dist/src/dht/contact/RpcRemote.js.map +1 -0
- package/dist/src/dht/discovery/DiscoverySession.d.ts +2 -9
- package/dist/src/dht/discovery/DiscoverySession.js +12 -26
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +2 -9
- package/dist/src/dht/discovery/PeerDiscovery.js +13 -15
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/find/FindRpcLocal.js +2 -1
- package/dist/src/dht/find/FindRpcLocal.js.map +1 -1
- package/dist/src/dht/find/FindSession.d.ts +6 -6
- package/dist/src/dht/find/FindSession.js +13 -13
- package/dist/src/dht/find/FindSession.js.map +1 -1
- package/dist/src/dht/find/FindSessionRpcLocal.d.ts +1 -1
- package/dist/src/dht/find/FindSessionRpcRemote.d.ts +2 -2
- package/dist/src/dht/find/FindSessionRpcRemote.js +2 -2
- package/dist/src/dht/find/FindSessionRpcRemote.js.map +1 -1
- package/dist/src/dht/find/Finder.d.ts +4 -4
- package/dist/src/dht/find/Finder.js +50 -42
- package/dist/src/dht/find/Finder.js.map +1 -1
- package/dist/src/dht/routing/FindRpcRemote.d.ts +2 -2
- package/dist/src/dht/routing/FindRpcRemote.js +7 -5
- package/dist/src/dht/routing/FindRpcRemote.js.map +1 -1
- package/dist/src/dht/routing/Router.d.ts +2 -6
- package/dist/src/dht/routing/Router.js +21 -18
- 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 +4 -3
- 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 +13 -8
- 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 +16 -11
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/routing/getPreviousPeer.js.map +1 -1
- package/dist/src/dht/store/LocalDataStore.d.ts +3 -3
- package/dist/src/dht/store/LocalDataStore.js +18 -17
- package/dist/src/dht/store/LocalDataStore.js.map +1 -1
- package/dist/src/dht/store/StoreRpcLocal.d.ts +10 -9
- package/dist/src/dht/store/StoreRpcLocal.js +91 -99
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
- package/dist/src/dht/store/StoreRpcRemote.d.ts +4 -5
- package/dist/src/dht/store/StoreRpcRemote.js +6 -15
- package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
- package/dist/src/exports.d.ts +1 -1
- package/dist/src/exports.js +4 -4
- package/dist/src/exports.js.map +1 -1
- package/dist/src/helpers/PeerID.js +2 -2
- package/dist/src/helpers/PeerID.js.map +1 -1
- package/dist/src/helpers/UUID.js +1 -1
- package/dist/src/helpers/UUID.js.map +1 -1
- package/dist/src/helpers/nodeId.d.ts +1 -0
- package/dist/src/helpers/{kademliaId.js → nodeId.js} +4 -4
- package/dist/src/helpers/nodeId.js.map +1 -0
- package/dist/src/helpers/peerIdFromPeerDescriptor.js +3 -3
- package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +5 -16
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +2 -9
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +80 -95
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +67 -66
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +3 -10
- package/dist/src/transport/RoutingRpcCommunicator.js +2 -0
- package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
- package/karma.config.js +2 -2
- package/package.json +5 -5
- package/protos/DhtRpc.proto +36 -36
- package/src/connection/ConnectionLockHandler.ts +2 -2
- package/src/connection/ConnectionLockRpcRemote.ts +2 -2
- package/src/connection/ConnectionManager.ts +4 -1
- package/src/connection/ConnectorFacade.ts +5 -4
- package/src/connection/ManagedConnection.ts +1 -0
- package/src/connection/connectivityChecker.ts +101 -0
- package/src/connection/connectivityRequestHandler.ts +79 -0
- package/src/connection/simulator/Simulator.ts +3 -2
- package/src/connection/simulator/SimulatorConnection.ts +1 -1
- package/src/connection/webrtc/BrowserWebrtcConnection.ts +10 -10
- package/src/connection/webrtc/NodeWebrtcConnection.ts +1 -1
- package/src/connection/webrtc/WebrtcConnector.ts +1 -1
- package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +1 -1
- package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +2 -2
- package/src/connection/webrtc/iceServerAsString.ts +1 -1
- package/src/connection/websocket/ClientWebsocket.ts +1 -0
- package/src/connection/websocket/WebsocketConnector.ts +22 -12
- package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +2 -2
- package/src/dht/DhtNode.ts +102 -269
- package/src/dht/DhtNodeRpcLocal.ts +3 -3
- package/src/dht/DhtNodeRpcRemote.ts +4 -4
- package/src/dht/ExternalApiRpcLocal.ts +8 -13
- package/src/dht/ExternalApiRpcRemote.ts +5 -5
- package/src/dht/PeerManager.ts +256 -0
- package/src/dht/contact/ContactList.ts +3 -2
- package/src/dht/contact/{Remote.ts → RpcRemote.ts} +7 -6
- package/src/dht/discovery/DiscoverySession.ts +15 -40
- package/src/dht/discovery/PeerDiscovery.ts +18 -23
- package/src/dht/find/FindRpcLocal.ts +2 -2
- package/src/dht/find/FindSession.ts +20 -20
- package/src/dht/find/FindSessionRpcLocal.ts +1 -1
- package/src/dht/find/FindSessionRpcRemote.ts +2 -2
- package/src/dht/find/Finder.ts +79 -58
- package/src/dht/routing/FindRpcRemote.ts +7 -5
- package/src/dht/routing/Router.ts +22 -21
- package/src/dht/routing/RouterRpcLocal.ts +5 -5
- package/src/dht/routing/RouterRpcRemote.ts +13 -10
- package/src/dht/routing/RoutingSession.ts +15 -10
- package/src/dht/routing/getPreviousPeer.ts +1 -1
- package/src/dht/store/LocalDataStore.ts +18 -17
- package/src/dht/store/StoreRpcLocal.ts +101 -108
- package/src/dht/store/StoreRpcRemote.ts +7 -23
- package/src/exports.ts +1 -1
- package/src/helpers/PeerID.ts +2 -2
- package/src/helpers/UUID.ts +1 -1
- package/src/helpers/{kademliaId.ts → nodeId.ts} +1 -1
- package/src/helpers/peerIdFromPeerDescriptor.ts +3 -3
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +6 -20
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +3 -10
- package/src/proto/packages/dht/protos/DhtRpc.ts +103 -135
- package/src/transport/RoutingRpcCommunicator.ts +2 -0
- package/test/benchmark/Find.test.ts +4 -4
- package/test/benchmark/KademliaCorrectness.test.ts +2 -2
- package/test/benchmark/kademlia-simulation/Contact.ts +1 -1
- package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +1 -1
- package/test/end-to-end/Layer0-Layer1.test.ts +1 -1
- package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +1 -1
- package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +2 -2
- package/test/end-to-end/Layer0Webrtc.test.ts +2 -2
- package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +1 -1
- package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +1 -1
- package/test/end-to-end/WebsocketConnectionRequest.test.ts +1 -1
- package/test/end-to-end/memory-leak.test.ts +8 -12
- package/test/integration/ConnectionLocking.test.ts +2 -2
- package/test/integration/ConnectionManager.test.ts +14 -14
- package/test/integration/DhtJoinPeerDiscovery.test.ts +1 -1
- package/test/integration/DhtNodeExternalAPI.test.ts +10 -7
- package/test/integration/DhtNodeRpcRemote.test.ts +4 -4
- package/test/integration/DhtRpc.test.ts +6 -6
- package/test/integration/Find.test.ts +3 -3
- package/test/integration/Layer1-scale.test.ts +2 -2
- package/test/integration/Mock-Layer1-Layer0.test.ts +1 -1
- package/test/integration/{MigrateData.test.ts → ReplicateData.test.ts} +9 -9
- package/test/integration/RouteMessage.test.ts +2 -2
- package/test/integration/RouterRpcRemote.test.ts +2 -2
- package/test/integration/RpcErrors.test.ts +2 -2
- package/test/integration/ScaleDownDht.test.ts +4 -2
- package/test/integration/SimultaneousConnections.test.ts +8 -8
- package/test/integration/Store.test.ts +33 -13
- package/test/integration/StoreAndDelete.test.ts +19 -17
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +20 -20
- package/test/integration/StoreRpcRemote.test.ts +3 -3
- package/test/integration/WebrtcConnectionManagement.test.ts +2 -2
- package/test/integration/WebrtcConnectorRpc.test.ts +1 -1
- package/test/integration/WebsocketConnectionManagement.test.ts +2 -2
- package/test/integration/WebsocketConnectorRpc.test.ts +2 -2
- package/test/unit/ConnectivityHelpers.test.ts +4 -4
- package/test/unit/Finder.test.ts +69 -23
- package/test/unit/LocalDataStore.test.ts +60 -43
- package/test/unit/RandomContactList.test.ts +2 -2
- package/test/unit/Router.test.ts +19 -11
- package/test/unit/RoutingSession.test.ts +76 -0
- package/test/unit/SortedContactList.test.ts +2 -2
- package/test/unit/WebsocketConnector.test.ts +1 -1
- package/test/unit/connectivityRequestHandler.test.ts +71 -0
- package/test/utils/mock/Router.ts +1 -1
- package/test/utils/utils.ts +24 -22
- package/dist/src/connection/ConnectivityChecker.d.ts +0 -17
- package/dist/src/connection/ConnectivityChecker.js +0 -208
- package/dist/src/connection/ConnectivityChecker.js.map +0 -1
- package/dist/src/dht/contact/Remote.js.map +0 -1
- package/dist/src/helpers/kademliaId.d.ts +0 -1
- package/dist/src/helpers/kademliaId.js.map +0 -1
- package/src/connection/ConnectivityChecker.ts +0 -199
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":";;;;AAAA,uGAAuG;AACvG,kGAAkG;AAClG,iBAAiB;AACjB,0DAAuD;AACvD,0DAAuD;AACvD,kDAAmE;AACnE,8DAA6D;AAC7D,kEAA+D;AAC/D,sDAAmD;AA4hBnD;;GAEG;AACH,IAAY,UAaX;AAbD,WAAY,UAAU;IAClB;;OAEG;IACH,2CAAQ,CAAA;IACR;;OAEG;IACH,uDAAc,CAAA;IACd;;OAEG;IACH,yDAAe,CAAA;AACnB,CAAC,EAbW,UAAU,0BAAV,UAAU,QAarB;AACD;;GAEG;AACH,IAAY,QAaX;AAbD,WAAY,QAAQ;IAChB;;OAEG;IACH,2CAAU,CAAA;IACV;;OAEG;IACH,6CAAW,CAAA;IACX;;OAEG;IACH,6CAAW,CAAA;AACf,CAAC,EAbW,QAAQ,wBAAR,QAAQ,QAanB;AACD;;GAEG;AACH,IAAY,gBAiBX;AAjBD,WAAY,gBAAgB;IACxB;;OAEG;IACH,yEAAiB,CAAA;IACjB;;OAEG;IACH,2EAAkB,CAAA;IAClB;;OAEG;IACH,uEAAgB,CAAA;IAChB;;OAEG;IACH,mFAAsB,CAAA;AAC1B,CAAC,EAjBW,gBAAgB,gCAAhB,gBAAgB,QAiB3B;AACD;;GAEG;AACH,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IACzB;;OAEG;IACH,qEAAc,CAAA;IACd;;OAEG;IACH,mEAAa,CAAA;IACb;;;;;OAKG;IACH,+DAAW,CAAA;AACf,CAAC,EAhBW,iBAAiB,iCAAjB,iBAAiB,QAgB5B;AACD;;GAEG;AACH,IAAY,cASX;AATD,WAAY,cAAc;IACtB;;OAEG;IACH,mFAAwB,CAAA;IACxB;;OAEG;IACH,uGAAkC,CAAA;AACtC,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AACD,qBAAqB;AAErB;;GAEG;AACH,IAAY,WAyBX;AAzBD,WAAY,WAAW;IACnB;;OAEG;IACH,2CAAO,CAAA;IACP;;OAEG;IACH,6EAAwB,CAAA;IACxB;;OAEG;IACH,+EAAyB,CAAA;IACzB;;OAEG;IACH,uEAAqB,CAAA;IACrB;;OAEG;IACH,yEAAsB,CAAA;IACtB;;OAEG;IACH,6DAAgB,CAAA;AACpB,CAAC,EAzBW,WAAW,2BAAX,WAAW,QAyBtB;AACD;;GAEG;AACH,IAAY,cASX;AATD,WAAY,cAAc;IACtB;;OAEG;IACH,uDAAU,CAAA;IACV;;OAEG;IACH,yDAAW,CAAA;AACf,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AACD,2FAA2F;AAC3F,MAAM,qBAAsB,SAAQ,qBAA8B;IAC9D;QACI,KAAK,CAAC,sBAAsB,EAAE;YAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAG,EAAE;YACtD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YACjE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE;SACtE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC5D,2FAA2F;AAC3F,MAAM,sBAAuB,SAAQ,qBAA+B;IAChE;QACI,KAAK,CAAC,uBAAuB,EAAE;YAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACvE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAC9D,2FAA2F;AAC3F,MAAM,6BAA8B,SAAQ,qBAAsC;IAC9E;QACI,KAAK,CAAC,8BAA8B,EAAE;YAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAG,EAAE;SACzD,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC5E,2FAA2F;AAC3F,MAAM,8BAA+B,SAAQ,qBAAuC;IAChF;QACI,KAAK,CAAC,+BAA+B,EAAE;YACnC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;SACxG,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,yBAAyB,GAAG,IAAI,8BAA8B,EAAE,CAAC;AAC9E,2FAA2F;AAC3F,MAAM,yBAA0B,SAAQ,qBAAkC;IACtE;QACI,KAAK,CAAC,0BAA0B,EAAE;YAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,iBAAS,EAAE;SAChE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACpE,2FAA2F;AAC3F,MAAM,cAAe,SAAQ,qBAAuB;IAChD;QACI,KAAK,CAAC,eAAe,EAAE;YACnB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,SAAG,EAAE;YACtD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YACjE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAS,EAAE;YAChE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;SACvE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;AAC9C,2FAA2F;AAC3F,MAAM,wBAAyB,SAAQ,qBAAiC;IACpE;QACI,KAAK,CAAC,yBAAyB,EAAE;YAC7B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;YACrE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC3E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAClE,2FAA2F;AAC3F,MAAM,yBAA0B,SAAQ,qBAAkC;IACtE;QACI,KAAK,CAAC,0BAA0B,EAAE;YAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACnG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC3E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACpE,2FAA2F;AAC3F,MAAM,gBAAiB,SAAQ,qBAAyB;IACpD;QACI,KAAK,CAAC,iBAAiB,EAAE;YACrB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE;SACnF,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAClD,2FAA2F;AAC3F,MAAM,iBAAkB,SAAQ,qBAA0B;IACtD;QACI,KAAK,CAAC,kBAAkB,EAAE;YACtB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACnH,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,iBAAS,EAAE;YACpG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAC/E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;SAC5G,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACpD,2FAA2F;AAC3F,MAAM,gBAAiB,SAAQ,qBAAyB;IACpD;QACI,KAAK,CAAC,iBAAiB,EAAE;YACrB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC3E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAClD,2FAA2F;AAC3F,MAAM,iBAAkB,SAAQ,qBAA0B;IACtD;QACI,KAAK,CAAC,kBAAkB,EAAE;YACtB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC3E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACpD,2FAA2F;AAC3F,MAAM,gBAAiB,SAAQ,qBAAyB;IACpD;QACI,KAAK,CAAC,iBAAiB,EAAE;YACrB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC3E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAClD,2FAA2F;AAC3F,MAAM,mBAAoB,SAAQ,qBAA4B;IAC1D;QACI,KAAK,CAAC,oBAAoB,EAAE;YACxB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;YACrE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,0BAAkB,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,0BAAkB,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,0BAAkB,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE;SACpF,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;AACxD,2FAA2F;AAC3F,MAAM,uBAAwB,SAAQ,qBAAgC;IAClE;QACI,KAAK,CAAC,wBAAwB,EAAE;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;SACnE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,kBAAkB,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAChE,2FAA2F;AAC3F,MAAM,wBAAyB,SAAQ,qBAAiC;IACpE;QACI,KAAK,CAAC,yBAAyB,EAAE;YAC7B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACvE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YAC5E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,eAAO,EAAE;YAC7D,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YAC9G,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;SAC5G,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAClE,2FAA2F;AAC3F,MAAM,oBAAqB,SAAQ,qBAA6B;IAC5D;QACI,KAAK,CAAC,qBAAqB,EAAE;YACzB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,EAAE;SAC3G,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC1D,2FAA2F;AAC3F,MAAM,wBAAyB,SAAQ,qBAAiC;IACpE;QACI,KAAK,CAAC,yBAAyB,EAAE;YAC7B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE;YACpE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;YAChE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC9E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;SAC1E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,mBAAmB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAClE,2FAA2F;AAC3F,MAAM,yBAA0B,SAAQ,qBAAkC;IACtE;QACI,KAAK,CAAC,0BAA0B,EAAE;YAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACnE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACtE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,0BAAkB,EAAE;SAC7E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,yBAAyB,EAAE,CAAC;AACpE,2FAA2F;AAC3F,MAAM,qBAAsB,SAAQ,qBAA8B;IAC9D;QACI,KAAK,CAAC,sBAAsB,EAAE;YAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACjF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;SACpF,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC5D,2FAA2F;AAC3F,MAAM,sBAAuB,SAAQ,qBAA+B;IAChE;QACI,KAAK,CAAC,uBAAuB,EAAE;YAC3B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YACjF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE;SACrG,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAC9D,2FAA2F;AAC3F,MAAM,YAAa,SAAQ,qBAAqB;IAC5C;QACI,KAAK,CAAC,aAAa,EAAE;YACjB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE;YACvF,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YAC7E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,sBAAc,EAAE;YAC7E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,2BAAmB,EAAE;YACpG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,4BAAoB,EAAE;YACtG,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,wBAAgB,EAAE;YAC9F,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,yBAAiB,EAAE;YAChG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,qBAAU,EAAE;YACnF,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,mBAAW,EAAE;SACxF,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;AAC1C,2FAA2F;AAC3F,MAAM,+BAAgC,SAAQ,qBAAwC;IAClF;QACI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,0BAA0B,GAAG,IAAI,+BAA+B,EAAE,CAAC;AAChF,2FAA2F;AAC3F,MAAM,gCAAiC,SAAQ,qBAAyC;IACpF;QACI,KAAK,CAAC,iCAAiC,EAAE;YACrC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,2BAA2B,GAAG,IAAI,gCAAgC,EAAE,CAAC;AAClF,2FAA2F;AAC3F,MAAM,4BAA6B,SAAQ,qBAAqC;IAC5E;QACI,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAC1E,2FAA2F;AAC3F,MAAM,aAAc,SAAQ,qBAAsB;IAC9C;QACI,KAAK,CAAC,cAAc,EAAE;YAClB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC9E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;AAC5C,2FAA2F;AAC3F,MAAM,cAAe,SAAQ,qBAAuB;IAChD;QACI,KAAK,CAAC,eAAe,EAAE;YACnB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAC1E,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC9E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;AAC9C,2FAA2F;AAC3F,MAAM,iBAAkB,SAAQ,qBAA0B;IACtD;QACI,KAAK,CAAC,kBAAkB,EAAE;YACtB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YACxE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;YAClE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SAC9E,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACpD,2FAA2F;AAC3F,MAAM,gBAAiB,SAAQ,qBAAyB;IACpD;QACI,KAAK,CAAC,iBAAiB,EAAE;YACrB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAClD,2FAA2F;AAC3F,MAAM,kBAAmB,SAAQ,qBAA2B;IACxD;QACI,KAAK,CAAC,mBAAmB,EAAE;YACvB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,aAAa,GAAG,IAAI,kBAAkB,EAAE,CAAC;AACtD,2FAA2F;AAC3F,MAAM,iBAAkB,SAAQ,qBAA0B;IACtD;QACI,KAAK,CAAC,kBAAkB,EAAE;YACtB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,EAAE;SACxE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;AACpD,2FAA2F;AAC3F,MAAM,qBAAsB,SAAQ,qBAA8B;IAC9D;QACI,KAAK,CAAC,sBAAsB,EAAE;YAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,EAAE;SACnG,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC5D,2FAA2F;AAC3F,MAAM,6BAA8B,SAAQ,qBAAsC;IAC9E;QACI,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC5E,2FAA2F;AAC3F,MAAM,4BAA6B,SAAQ,qBAAqC;IAC5E;QACI,KAAK,CAAC,6BAA6B,EAAE;YACjC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,oBAAoB,EAAE;SACrE,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,uBAAuB,GAAG,IAAI,4BAA4B,EAAE,CAAC;AAC1E,2FAA2F;AAC3F,MAAM,6BAA8B,SAAQ,qBAAsC;IAC9E;QACI,KAAK,CAAC,8BAA8B,EAAE;YAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,iBAAS,EAAE;SACnG,CAAC,CAAC;IACP,CAAC;CACJ;AACD;;GAEG;AACU,QAAA,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;AAC5E;;GAEG;AACU,QAAA,UAAU,GAAG,IAAI,yBAAW,CAAC,gBAAgB,EAAE;IACxD,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,2BAAmB,EAAE,CAAC,EAAE,4BAAoB,EAAE;IACzF,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAW,EAAE,CAAC,EAAE,oBAAY,EAAE;IAC9D,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAW,EAAE,CAAC,EAAE,aAAK,EAAE;CACjE,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,SAAS,GAAG,IAAI,yBAAW,CAAC,eAAe,EAAE;IACtD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,2BAAmB,EAAE,CAAC,EAAE,uBAAe,EAAE;IACjF,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,2BAAmB,EAAE,CAAC,EAAE,uBAAe,EAAE;CACtF,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,OAAO,GAAG,IAAI,yBAAW,CAAC,aAAa,EAAE;IAClD,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,2BAAmB,EAAE,CAAC,EAAE,uBAAe,EAAE;CACxF,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,QAAQ,GAAG,IAAI,yBAAW,CAAC,cAAc,EAAE;IACpD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,wBAAgB,EAAE,CAAC,EAAE,yBAAiB,EAAE;IAC7E,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,4BAAoB,EAAE,CAAC,EAAE,aAAK,EAAE;CAC5E,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,yBAAW,CAAC,oBAAoB,EAAE;IAChE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,oBAAY,EAAE,CAAC,EAAE,aAAK,EAAE;CACvE,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,qBAAqB,GAAG,IAAI,yBAAW,CAAC,2BAA2B,EAAE;IAC9E,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,kCAA0B,EAAE,CAAC,EAAE,mCAA2B,EAAE;CAC5G,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,kBAAkB,GAAG,IAAI,yBAAW,CAAC,wBAAwB,EAAE;IACxE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,+BAAuB,EAAE,CAAC,EAAE,aAAK,EAAE;IAChF,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,gBAAQ,EAAE,CAAC,EAAE,aAAK,EAAE;IACxD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,iBAAS,EAAE,CAAC,EAAE,aAAK,EAAE;IAC1D,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,oBAAY,EAAE,CAAC,EAAE,aAAK,EAAE;CACnE,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,iBAAiB,GAAG,IAAI,yBAAW,CAAC,uBAAuB,EAAE;IACtE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,mBAAW,EAAE,CAAC,EAAE,oBAAY,EAAE;IACrE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,qBAAa,EAAE,CAAC,EAAE,aAAK,EAAE;IAClE,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,wBAAgB,EAAE,CAAC,EAAE,gCAAwB,EAAE;CAChG,CAAC,CAAC;AACH;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,yBAAW,CAAC,oBAAoB,EAAE;IAChE,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,+BAAuB,EAAE,CAAC,EAAE,gCAAwB,EAAE;IAClG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,gCAAwB,EAAE,CAAC,EAAE,iCAAyB,EAAE;CACxG,CAAC,CAAC"}
|
|
@@ -14,10 +14,7 @@ import { WebrtcConnectionRequest } from "./DhtRpc";
|
|
|
14
14
|
import { WebsocketConnectionResponse } from "./DhtRpc";
|
|
15
15
|
import { WebsocketConnectionRequest } from "./DhtRpc";
|
|
16
16
|
import { FindResponse } from "./DhtRpc";
|
|
17
|
-
import {
|
|
18
|
-
import { DeleteDataRequest } from "./DhtRpc";
|
|
19
|
-
import { MigrateDataResponse } from "./DhtRpc";
|
|
20
|
-
import { MigrateDataRequest } from "./DhtRpc";
|
|
17
|
+
import { ReplicateDataRequest } from "./DhtRpc";
|
|
21
18
|
import { StoreDataResponse } from "./DhtRpc";
|
|
22
19
|
import { StoreDataRequest } from "./DhtRpc";
|
|
23
20
|
import { RouteMessageAck } from "./DhtRpc";
|
|
@@ -77,13 +74,9 @@ export interface IStoreRpc<T = ServerCallContext> {
|
|
|
77
74
|
*/
|
|
78
75
|
storeData(request: StoreDataRequest, context: T): Promise<StoreDataResponse>;
|
|
79
76
|
/**
|
|
80
|
-
* @generated from protobuf rpc:
|
|
77
|
+
* @generated from protobuf rpc: replicateData(dht.ReplicateDataRequest) returns (google.protobuf.Empty);
|
|
81
78
|
*/
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* @generated from protobuf rpc: deleteData(dht.DeleteDataRequest) returns (dht.DeleteDataResponse);
|
|
85
|
-
*/
|
|
86
|
-
deleteData(request: DeleteDataRequest, context: T): Promise<DeleteDataResponse>;
|
|
79
|
+
replicateData(request: ReplicateDataRequest, context: T): Promise<Empty>;
|
|
87
80
|
}
|
|
88
81
|
/**
|
|
89
82
|
* @generated from protobuf service dht.FindSessionRpc
|
|
@@ -29,6 +29,7 @@ class RoutingRpcCommunicator extends proto_rpc_1.RpcCommunicator {
|
|
|
29
29
|
messageType: DhtRpc_1.MessageType.RPC,
|
|
30
30
|
targetDescriptor
|
|
31
31
|
};
|
|
32
|
+
// TODO is it possible to have explicit default values for "doNotConnect" and "doNotMindStopped"?
|
|
32
33
|
if (msg.header.response || callContext && callContext.doNotConnect && callContext.doNotMindStopped) {
|
|
33
34
|
return this.sendFn(message, true, true);
|
|
34
35
|
}
|
|
@@ -44,6 +45,7 @@ class RoutingRpcCommunicator extends proto_rpc_1.RpcCommunicator {
|
|
|
44
45
|
if (message.serviceId == this.ownServiceId && message.body.oneofKind === 'rpcMessage') {
|
|
45
46
|
const context = new DhtCallContext_1.DhtCallContext();
|
|
46
47
|
context.incomingSourceDescriptor = message.sourceDescriptor;
|
|
48
|
+
// TODO should we have some handling for this floating promise?
|
|
47
49
|
this.handleIncomingMessage(message.body.rpcMessage, context);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutingRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/RoutingRpcCommunicator.ts"],"names":[],"mappings":";;;AAAA,gEAA0F;AAC1F,+BAAyB;AACzB,kDAA2E;AAC3E,mEAA+D;AAI/D,MAAa,sBAAuB,SAAQ,2BAAe;IAIvD,YACI,YAAuB,EACvB,MAA+D,EAC/D,MAA8B;QAE9B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAe,EAAE,UAAkB,EAAE,WAA4B,EAAE,EAAE;YAClG,IAAI,gBAAgC,CAAA;YACpC,mBAAmB;YACnB,IAAI,WAAY,CAAC,gBAAgB,EAAE;gBAC/B,gBAAgB,GAAG,WAAY,CAAC,gBAAiB,CAAA;aACpD;iBAAM,EAAE,oBAAoB;gBACzB,gBAAgB,GAAG,WAAY,CAAC,wBAAyB,CAAA;aAC5D;YAED,MAAM,OAAO,GAAY;gBACrB,SAAS,EAAE,IAAA,SAAE,GAAE;gBACf,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,IAAI,EAAE;oBACF,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,GAAG;iBAClB;gBACD,WAAW,EAAE,oBAAW,CAAC,GAAG;gBAC5B,gBAAgB;aACnB,CAAA;YAED,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,gBAAgB,EAAG;gBACjG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aAC1C;iBAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;gBACvE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;aACpC;iBAAM;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;aAC9B;QAEL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACnF,MAAM,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAA;YACpC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAA;YAC3D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;SAC/D;IACL,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"RoutingRpcCommunicator.js","sourceRoot":"","sources":["../../../src/transport/RoutingRpcCommunicator.ts"],"names":[],"mappings":";;;AAAA,gEAA0F;AAC1F,+BAAyB;AACzB,kDAA2E;AAC3E,mEAA+D;AAI/D,MAAa,sBAAuB,SAAQ,2BAAe;IAIvD,YACI,YAAuB,EACvB,MAA+D,EAC/D,MAA8B;QAE9B,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QAEpB,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAe,EAAE,UAAkB,EAAE,WAA4B,EAAE,EAAE;YAClG,IAAI,gBAAgC,CAAA;YACpC,mBAAmB;YACnB,IAAI,WAAY,CAAC,gBAAgB,EAAE;gBAC/B,gBAAgB,GAAG,WAAY,CAAC,gBAAiB,CAAA;aACpD;iBAAM,EAAE,oBAAoB;gBACzB,gBAAgB,GAAG,WAAY,CAAC,wBAAyB,CAAA;aAC5D;YAED,MAAM,OAAO,GAAY;gBACrB,SAAS,EAAE,IAAA,SAAE,GAAE;gBACf,SAAS,EAAE,IAAI,CAAC,YAAY;gBAC5B,IAAI,EAAE;oBACF,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,GAAG;iBAClB;gBACD,WAAW,EAAE,oBAAW,CAAC,GAAG;gBAC5B,gBAAgB;aACnB,CAAA;YAED,iGAAiG;YACjG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,gBAAgB,EAAG;gBACjG,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;aAC1C;iBAAM,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;gBACvE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;aACpC;iBAAM;gBACH,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;aAC9B;QAEL,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,qBAAqB,CAAC,OAAgB;QACzC,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE;YACnF,MAAM,OAAO,GAAG,IAAI,+BAAc,EAAE,CAAA;YACpC,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAA;YAC3D,+DAA+D;YAC/D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;SAC/D;IACL,CAAC;CACJ;AArDD,wDAqDC"}
|
package/karma.config.js
CHANGED
|
@@ -3,8 +3,8 @@ const path = require('path')
|
|
|
3
3
|
const { createKarmaConfig, createWebpackConfig } = require('@streamr/browser-test-runner')
|
|
4
4
|
|
|
5
5
|
const TEST_PATHS = [
|
|
6
|
-
'test/unit
|
|
7
|
-
'./test/integration/**/!(DhtWith*|
|
|
6
|
+
'test/unit/**/!(connectivityRequestHandler*).ts',
|
|
7
|
+
'./test/integration/**/!(DhtWith*|ReplicateData*).ts/',
|
|
8
8
|
'./test/end-to-end/**/!(RecoveryFromFailedAutoCertification*|memory-leak*).ts'
|
|
9
9
|
]
|
|
10
10
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamr/dht",
|
|
3
|
-
"version": "100.0.0-
|
|
3
|
+
"version": "100.0.0-testnet-one.0",
|
|
4
4
|
"description": "Streamr Network DHT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@protobuf-ts/runtime": "^2.8.2",
|
|
33
33
|
"@protobuf-ts/runtime-rpc": "^2.8.2",
|
|
34
|
-
"@streamr/autocertifier-client": "100.0.0-
|
|
35
|
-
"@streamr/proto-rpc": "100.0.0-
|
|
36
|
-
"@streamr/utils": "100.0.0-
|
|
34
|
+
"@streamr/autocertifier-client": "100.0.0-testnet-one.0",
|
|
35
|
+
"@streamr/proto-rpc": "100.0.0-testnet-one.0",
|
|
36
|
+
"@streamr/utils": "100.0.0-testnet-one.0",
|
|
37
37
|
"eventemitter3": "^5.0.0",
|
|
38
38
|
"heap": "^0.2.6",
|
|
39
39
|
"ipaddr.js": "^2.0.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@streamr/browser-test-runner": "^0.0.1",
|
|
49
|
-
"@streamr/test-utils": "100.0.0-
|
|
49
|
+
"@streamr/test-utils": "100.0.0-testnet-one.0",
|
|
50
50
|
"@types/express": "^4.17.21",
|
|
51
51
|
"@types/heap": "^0.2.34",
|
|
52
52
|
"@types/k-bucket": "^5.0.1",
|
package/protos/DhtRpc.proto
CHANGED
|
@@ -25,8 +25,7 @@ service FindRpc {
|
|
|
25
25
|
|
|
26
26
|
service StoreRpc {
|
|
27
27
|
rpc storeData (StoreDataRequest) returns (StoreDataResponse);
|
|
28
|
-
rpc
|
|
29
|
-
rpc deleteData (DeleteDataRequest) returns (DeleteDataResponse);
|
|
28
|
+
rpc replicateData (ReplicateDataRequest) returns (google.protobuf.Empty);
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
service FindSessionRpc {
|
|
@@ -58,10 +57,11 @@ service ExternalApiRpc {
|
|
|
58
57
|
// Used inside RpcMessage
|
|
59
58
|
|
|
60
59
|
message StoreDataRequest {
|
|
61
|
-
bytes
|
|
60
|
+
bytes key = 1;
|
|
62
61
|
google.protobuf.Any data = 2;
|
|
63
|
-
|
|
64
|
-
google.protobuf.Timestamp
|
|
62
|
+
PeerDescriptor creator = 3;
|
|
63
|
+
google.protobuf.Timestamp createdAt = 4;
|
|
64
|
+
uint32 ttl = 5;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
message StoreDataResponse {
|
|
@@ -77,35 +77,23 @@ message ExternalStoreDataResponse {
|
|
|
77
77
|
repeated PeerDescriptor storers = 1;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
message
|
|
81
|
-
DataEntry
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
message MigrateDataResponse {
|
|
85
|
-
string error = 1;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
message DeleteDataRequest {
|
|
89
|
-
bytes kademliaId = 1;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
message DeleteDataResponse {
|
|
93
|
-
bool deleted = 1;
|
|
80
|
+
message ReplicateDataRequest {
|
|
81
|
+
DataEntry entry = 1;
|
|
94
82
|
}
|
|
95
83
|
|
|
96
84
|
message DataEntry {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
google.protobuf.Timestamp
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
bool
|
|
104
|
-
|
|
85
|
+
bytes key = 1;
|
|
86
|
+
google.protobuf.Any data = 2;
|
|
87
|
+
PeerDescriptor creator = 3;
|
|
88
|
+
google.protobuf.Timestamp createdAt = 4;
|
|
89
|
+
google.protobuf.Timestamp storedAt = 5;
|
|
90
|
+
uint32 ttl = 6; // milliseconds
|
|
91
|
+
bool stale = 7;
|
|
92
|
+
bool deleted = 8;
|
|
105
93
|
}
|
|
106
94
|
|
|
107
95
|
message ClosestPeersRequest {
|
|
108
|
-
bytes
|
|
96
|
+
bytes nodeId = 1;
|
|
109
97
|
string requestId = 2;
|
|
110
98
|
}
|
|
111
99
|
|
|
@@ -116,13 +104,19 @@ message ClosestPeersResponse {
|
|
|
116
104
|
|
|
117
105
|
message FindRequest {
|
|
118
106
|
string sessionId = 1;
|
|
119
|
-
|
|
107
|
+
FindAction action = 2;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
enum FindAction {
|
|
111
|
+
NODE = 0;
|
|
112
|
+
FETCH_DATA = 1;
|
|
113
|
+
DELETE_DATA = 2;
|
|
120
114
|
}
|
|
121
115
|
|
|
122
116
|
message FindResponse {
|
|
123
117
|
repeated PeerDescriptor closestConnectedPeers = 1;
|
|
124
118
|
repeated DataEntry dataEntries = 2;
|
|
125
|
-
|
|
119
|
+
bool noCloserNodesFound = 3;
|
|
126
120
|
repeated PeerDescriptor routingPath = 4;
|
|
127
121
|
}
|
|
128
122
|
|
|
@@ -139,7 +133,7 @@ message LeaveNotice {
|
|
|
139
133
|
}
|
|
140
134
|
|
|
141
135
|
message PeerDescriptor {
|
|
142
|
-
bytes
|
|
136
|
+
bytes nodeId = 1;
|
|
143
137
|
NodeType type = 2;
|
|
144
138
|
ConnectivityMethod udp = 3;
|
|
145
139
|
ConnectivityMethod tcp = 4;
|
|
@@ -177,7 +171,15 @@ message RouteMessageWrapper {
|
|
|
177
171
|
|
|
178
172
|
message RouteMessageAck {
|
|
179
173
|
string requestId = 1;
|
|
180
|
-
|
|
174
|
+
optional RouteMessageError error = 2;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
enum RouteMessageError {
|
|
178
|
+
NO_TARGETS = 0;
|
|
179
|
+
DUPLICATE = 1;
|
|
180
|
+
// TODO: can this be removed? If DhtNode is already stopped the server side requests
|
|
181
|
+
// should not be processed
|
|
182
|
+
STOPPED = 2;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
185
|
// Correspond to the MessageType Enum
|
|
@@ -277,7 +279,6 @@ message UnlockRequest {
|
|
|
277
279
|
|
|
278
280
|
message LockResponse {
|
|
279
281
|
bool accepted = 1;
|
|
280
|
-
optional bool reason = 2;
|
|
281
282
|
}
|
|
282
283
|
|
|
283
284
|
enum DisconnectMode {
|
|
@@ -293,10 +294,9 @@ message DisconnectNoticeResponse {
|
|
|
293
294
|
}
|
|
294
295
|
|
|
295
296
|
message ExternalFindDataRequest {
|
|
296
|
-
bytes
|
|
297
|
+
bytes key = 1;
|
|
297
298
|
}
|
|
298
299
|
|
|
299
300
|
message ExternalFindDataResponse {
|
|
300
|
-
repeated DataEntry
|
|
301
|
-
optional string error = 2;
|
|
301
|
+
repeated DataEntry entries = 1;
|
|
302
302
|
}
|
|
@@ -26,7 +26,7 @@ export class ConnectionLockHandler {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
public isLocalLocked(id: PeerIDKey, lockId?: LockID): boolean {
|
|
29
|
-
if (
|
|
29
|
+
if (lockId === undefined) {
|
|
30
30
|
return this.localLocks.has(id)
|
|
31
31
|
} else {
|
|
32
32
|
return this.localLocks.has(id) && this.localLocks.get(id)!.has(lockId)
|
|
@@ -34,7 +34,7 @@ export class ConnectionLockHandler {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
public isRemoteLocked(id: PeerIDKey, lockId?: LockID): boolean {
|
|
37
|
-
if (
|
|
37
|
+
if (lockId === undefined) {
|
|
38
38
|
return this.remoteLocks.has(id)
|
|
39
39
|
} else {
|
|
40
40
|
if (this.remoteLocks.has(id) && this.remoteLocks.get(id)!.has(lockId)) {
|
|
@@ -4,12 +4,12 @@ import { IConnectionLockRpcClient } from '../proto/packages/dht/protos/DhtRpc.cl
|
|
|
4
4
|
import { LockRequest, UnlockRequest, PeerDescriptor, DisconnectNotice, DisconnectMode } from '../proto/packages/dht/protos/DhtRpc'
|
|
5
5
|
import * as Err from '../helpers/errors'
|
|
6
6
|
import { getNodeIdFromPeerDescriptor } from '../helpers/peerIdFromPeerDescriptor'
|
|
7
|
-
import {
|
|
7
|
+
import { RpcRemote } from '../dht/contact/RpcRemote'
|
|
8
8
|
import { LockID } from './ConnectionLockHandler'
|
|
9
9
|
|
|
10
10
|
const logger = new Logger(module)
|
|
11
11
|
|
|
12
|
-
export class ConnectionLockRpcRemote extends
|
|
12
|
+
export class ConnectionLockRpcRemote extends RpcRemote<IConnectionLockRpcClient> {
|
|
13
13
|
|
|
14
14
|
constructor(
|
|
15
15
|
localPeerDescriptor: PeerDescriptor,
|
|
@@ -141,6 +141,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
141
141
|
addRemoteLocked: (id: PeerIDKey, serviceId: string) => this.locks.addRemoteLocked(id, serviceId),
|
|
142
142
|
removeRemoteLocked: (id: PeerIDKey, serviceId: string) => this.locks.removeRemoteLocked(id, serviceId),
|
|
143
143
|
closeConnection: (peerDescriptor: PeerDescriptor, gracefulLeave: boolean, reason?: string) => {
|
|
144
|
+
// TODO should we have some handling for this floating promise?
|
|
144
145
|
this.closeConnection(peerDescriptor, gracefulLeave, reason)
|
|
145
146
|
},
|
|
146
147
|
getLocalPeerDescriptor: () => this.getLocalPeerDescriptor()
|
|
@@ -213,6 +214,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
213
214
|
} else {
|
|
214
215
|
logger.trace('handshake of connection not completed, force-closing')
|
|
215
216
|
const eventReceived = waitForEvent3<ManagedConnectionEvents>(peer, 'disconnected', 2000)
|
|
217
|
+
// TODO should we have some handling for this floating promise?
|
|
216
218
|
peer.close(true)
|
|
217
219
|
try {
|
|
218
220
|
await eventReceived
|
|
@@ -383,7 +385,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
383
385
|
+ ' onDisconnected() did nothing, no such connection in connectionManager')
|
|
384
386
|
if (storedConnection) {
|
|
385
387
|
logger.trace(getNodeIdOrUnknownFromPeerDescriptor(connection.getPeerDescriptor())
|
|
386
|
-
+ ' connectionIds do not match ' + storedConnection.connectionId + ' ' + connection.connectionId)
|
|
388
|
+
+ ' connectionIds do not match ' + storedConnection.connectionId.toString() + ' ' + connection.connectionId.toString())
|
|
387
389
|
}
|
|
388
390
|
}
|
|
389
391
|
|
|
@@ -522,6 +524,7 @@ export class ConnectionManager extends EventEmitter<TransportEvents> implements
|
|
|
522
524
|
})
|
|
523
525
|
.catch((e) => {
|
|
524
526
|
logger.trace('force-closing connection after timeout ' + e)
|
|
527
|
+
// TODO should we have some handling for this floating promise?
|
|
525
528
|
connection.close(true)
|
|
526
529
|
})
|
|
527
530
|
.finally(() => {
|
|
@@ -39,6 +39,7 @@ export interface DefaultConnectorFacadeConfig {
|
|
|
39
39
|
webrtcPortRange?: PortRange
|
|
40
40
|
maxMessageSize?: number
|
|
41
41
|
tlsCertificate?: TlsCertificate
|
|
42
|
+
// TODO explicit default value for "websocketServerEnableTls" or make it required
|
|
42
43
|
websocketServerEnableTls?: boolean
|
|
43
44
|
autoCertifierUrl?: string
|
|
44
45
|
autoCertifierConfigFile?: string
|
|
@@ -63,7 +64,7 @@ export class DefaultConnectorFacade implements ConnectorFacade {
|
|
|
63
64
|
): Promise<void> {
|
|
64
65
|
logger.trace(`Creating WebsocketConnectorRpcLocal`)
|
|
65
66
|
const webSocketConnectorConfig = {
|
|
66
|
-
transport: this.config.transport
|
|
67
|
+
transport: this.config.transport,
|
|
67
68
|
// TODO should we use canConnect also for WebrtcConnector? (NET-1142)
|
|
68
69
|
canConnect: (peerDescriptor: PeerDescriptor) => canConnect(peerDescriptor),
|
|
69
70
|
onNewConnection,
|
|
@@ -80,7 +81,7 @@ export class DefaultConnectorFacade implements ConnectorFacade {
|
|
|
80
81
|
this.websocketConnector = new WebsocketConnector(webSocketConnectorConfig)
|
|
81
82
|
logger.trace(`Creating WebRtcConnectorRpcLocal`)
|
|
82
83
|
this.webrtcConnector = new WebrtcConnector({
|
|
83
|
-
transport: this.config.transport
|
|
84
|
+
transport: this.config.transport,
|
|
84
85
|
iceServers: this.config.iceServers,
|
|
85
86
|
allowPrivateAddresses: this.config.webrtcAllowPrivateAddresses,
|
|
86
87
|
bufferThresholdLow: this.config.webrtcDatachannelBufferThresholdLow,
|
|
@@ -101,8 +102,8 @@ export class DefaultConnectorFacade implements ConnectorFacade {
|
|
|
101
102
|
this.setLocalPeerDescriptor(localPeerDescriptor)
|
|
102
103
|
if (localPeerDescriptor.websocket && !this.config.tlsCertificate && this.config.websocketServerEnableTls) {
|
|
103
104
|
try {
|
|
104
|
-
await this.websocketConnector
|
|
105
|
-
const connectivityResponse = await this.websocketConnector
|
|
105
|
+
await this.websocketConnector.autoCertify()
|
|
106
|
+
const connectivityResponse = await this.websocketConnector.checkConnectivity(false)
|
|
106
107
|
const autocertifiedLocalPeerDescriptor = this.config.createLocalPeerDescriptor(connectivityResponse)
|
|
107
108
|
if (autocertifiedLocalPeerDescriptor.websocket !== undefined) {
|
|
108
109
|
this.setLocalPeerDescriptor(autocertifiedLocalPeerDescriptor)
|
|
@@ -85,6 +85,7 @@ export class ManagedConnection extends EventEmitter<Events> {
|
|
|
85
85
|
|
|
86
86
|
this.handshaker.once('handshakeFailed', (error) => {
|
|
87
87
|
if (error === HandshakeError.INVALID_TARGET_PEER_DESCRIPTOR) {
|
|
88
|
+
// TODO should we have some handling for this floating promise?
|
|
88
89
|
this.close(false)
|
|
89
90
|
} else {
|
|
90
91
|
logger.trace(getNodeIdOrUnknownFromPeerDescriptor(this.remotePeerDescriptor) + ' handshakeFailed: ' + error)
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Logger, RunAndRaceEventsReturnType, runAndRaceEvents3 } from '@streamr/utils'
|
|
2
|
+
import { v4 } from 'uuid'
|
|
3
|
+
import * as Err from '../helpers/errors'
|
|
4
|
+
import {
|
|
5
|
+
ConnectivityRequest, ConnectivityResponse,
|
|
6
|
+
Message, MessageType, PeerDescriptor
|
|
7
|
+
} from '../proto/packages/dht/protos/DhtRpc'
|
|
8
|
+
import { ConnectionEvents, IConnection } from './IConnection'
|
|
9
|
+
import { ClientWebsocket } from './websocket/ClientWebsocket'
|
|
10
|
+
import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketConnector'
|
|
11
|
+
|
|
12
|
+
const logger = new Logger(module)
|
|
13
|
+
|
|
14
|
+
export const connectAsync = async ({ url, selfSigned, timeoutMs = 1000 }:
|
|
15
|
+
{ url: string, selfSigned: boolean, timeoutMs?: number }
|
|
16
|
+
): Promise<IConnection> => {
|
|
17
|
+
const socket = new ClientWebsocket()
|
|
18
|
+
let result: RunAndRaceEventsReturnType<ConnectionEvents>
|
|
19
|
+
try {
|
|
20
|
+
result = await runAndRaceEvents3<ConnectionEvents>([
|
|
21
|
+
() => { socket.connect(url, selfSigned) }],
|
|
22
|
+
socket, ['connected', 'error'],
|
|
23
|
+
timeoutMs)
|
|
24
|
+
} catch (e) {
|
|
25
|
+
throw new Err.ConnectionFailed('WebSocket connection timed out')
|
|
26
|
+
}
|
|
27
|
+
if (result.winnerName === 'error') {
|
|
28
|
+
throw new Err.ConnectionFailed('Could not open WebSocket connection')
|
|
29
|
+
}
|
|
30
|
+
return socket
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const CONNECTIVITY_CHECKER_SERVICE_ID = 'system/connectivity-checker'
|
|
34
|
+
const CONNECTIVITY_CHECKER_TIMEOUT = 5000
|
|
35
|
+
|
|
36
|
+
export const sendConnectivityRequest = async (
|
|
37
|
+
request: ConnectivityRequest,
|
|
38
|
+
entryPoint: PeerDescriptor
|
|
39
|
+
): Promise<ConnectivityResponse> => {
|
|
40
|
+
let outgoingConnection: IConnection
|
|
41
|
+
const wsServerInfo = {
|
|
42
|
+
host: entryPoint.websocket!.host,
|
|
43
|
+
port: entryPoint.websocket!.port,
|
|
44
|
+
tls: entryPoint.websocket!.tls,
|
|
45
|
+
}
|
|
46
|
+
const url = connectivityMethodToWebsocketUrl(wsServerInfo, 'connectivityRequest')
|
|
47
|
+
try {
|
|
48
|
+
outgoingConnection = await connectAsync({
|
|
49
|
+
url,
|
|
50
|
+
selfSigned: request.selfSigned
|
|
51
|
+
})
|
|
52
|
+
} catch (e) {
|
|
53
|
+
throw new Err.ConnectionFailed(`Failed to connect to the entrypoint ${url}`, e)
|
|
54
|
+
}
|
|
55
|
+
// send connectivity request
|
|
56
|
+
const msg: Message = {
|
|
57
|
+
serviceId: CONNECTIVITY_CHECKER_SERVICE_ID,
|
|
58
|
+
messageType: MessageType.CONNECTIVITY_REQUEST, messageId: v4(),
|
|
59
|
+
body: {
|
|
60
|
+
oneofKind: 'connectivityRequest',
|
|
61
|
+
connectivityRequest: request
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const responseAwaiter = () => {
|
|
65
|
+
return new Promise((resolve: (res: ConnectivityResponse) => void, reject) => {
|
|
66
|
+
const timeoutId = setTimeout(() => {
|
|
67
|
+
// TODO should we have some handling for this floating promise?
|
|
68
|
+
outgoingConnection.close(false)
|
|
69
|
+
reject(new Err.ConnectivityResponseTimeout('timeout'))
|
|
70
|
+
}, CONNECTIVITY_CHECKER_TIMEOUT)
|
|
71
|
+
const listener = (bytes: Uint8Array) => {
|
|
72
|
+
// TODO should we have some handling for this floating promise?
|
|
73
|
+
outgoingConnection.close(false)
|
|
74
|
+
try {
|
|
75
|
+
const message: Message = Message.fromBinary(bytes)
|
|
76
|
+
if (message.body.oneofKind === 'connectivityResponse') {
|
|
77
|
+
logger.trace('ConnectivityResponse received: ' + JSON.stringify(Message.toJson(message)))
|
|
78
|
+
const connectivityResponseMessage = message.body.connectivityResponse
|
|
79
|
+
outgoingConnection!.off('data', listener)
|
|
80
|
+
clearTimeout(timeoutId)
|
|
81
|
+
resolve(connectivityResponseMessage)
|
|
82
|
+
} else {
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
} catch (err) {
|
|
86
|
+
logger.trace(`Could not parse message: ${err}`)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
outgoingConnection!.on('data', listener)
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
const retPromise = responseAwaiter()
|
|
94
|
+
outgoingConnection.send(Message.toBinary(msg))
|
|
95
|
+
logger.trace('ConnectivityRequest sent: ' + JSON.stringify(Message.toJson(msg)))
|
|
96
|
+
return await retPromise
|
|
97
|
+
} catch (e) {
|
|
98
|
+
logger.error('error getting connectivityresponse')
|
|
99
|
+
throw e
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Logger } from '@streamr/utils'
|
|
2
|
+
import { v4 } from 'uuid'
|
|
3
|
+
import {
|
|
4
|
+
ConnectivityRequest, ConnectivityResponse,
|
|
5
|
+
Message, MessageType
|
|
6
|
+
} from '../proto/packages/dht/protos/DhtRpc'
|
|
7
|
+
import { NatType } from './ConnectionManager'
|
|
8
|
+
import { CONNECTIVITY_CHECKER_SERVICE_ID, connectAsync } from './connectivityChecker'
|
|
9
|
+
import { IConnection } from './IConnection'
|
|
10
|
+
import { ServerWebsocket } from './websocket/ServerWebsocket'
|
|
11
|
+
import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketConnector'
|
|
12
|
+
|
|
13
|
+
const logger = new Logger(module)
|
|
14
|
+
|
|
15
|
+
export const attachConnectivityRequestHandler = (connectionToListenTo: ServerWebsocket): void => {
|
|
16
|
+
connectionToListenTo.on('data', async (data: Uint8Array) => {
|
|
17
|
+
logger.trace('server received data')
|
|
18
|
+
try {
|
|
19
|
+
const message = Message.fromBinary(data)
|
|
20
|
+
if (message.body.oneofKind === 'connectivityRequest') {
|
|
21
|
+
logger.trace('ConnectivityRequest received: ' + JSON.stringify(Message.toJson(message)))
|
|
22
|
+
try {
|
|
23
|
+
await handleIncomingConnectivityRequest(connectionToListenTo, message.body.connectivityRequest)
|
|
24
|
+
logger.trace('handleIncomingConnectivityRequest ok')
|
|
25
|
+
} catch (e) {
|
|
26
|
+
logger.error('handleIncomingConnectivityRequest', { error: e })
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
logger.trace(`Could not parse message: ${err}`)
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const handleIncomingConnectivityRequest = async (connection: ServerWebsocket, connectivityRequest: ConnectivityRequest): Promise<void> => {
|
|
36
|
+
let outgoingConnection: IConnection | undefined
|
|
37
|
+
let connectivityResponseMessage: ConnectivityResponse | undefined
|
|
38
|
+
const host = connectivityRequest.host ?? connection.getRemoteAddress()
|
|
39
|
+
try {
|
|
40
|
+
const wsServerInfo = {
|
|
41
|
+
host,
|
|
42
|
+
port: connectivityRequest.port,
|
|
43
|
+
tls: connectivityRequest.tls
|
|
44
|
+
}
|
|
45
|
+
const url = connectivityMethodToWebsocketUrl(wsServerInfo, 'connectivityProbe')
|
|
46
|
+
logger.trace(`Attempting Connectivity Check to ${url}`)
|
|
47
|
+
outgoingConnection = await connectAsync({
|
|
48
|
+
url,
|
|
49
|
+
selfSigned: connectivityRequest.selfSigned
|
|
50
|
+
})
|
|
51
|
+
} catch (err) {
|
|
52
|
+
logger.debug('error', { err })
|
|
53
|
+
connectivityResponseMessage = {
|
|
54
|
+
host,
|
|
55
|
+
natType: NatType.UNKNOWN
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (outgoingConnection) {
|
|
59
|
+
// TODO should we have some handling for this floating promise?
|
|
60
|
+
outgoingConnection.close(false)
|
|
61
|
+
logger.trace('Connectivity test produced positive result, communicating reply to the requester ' + host + ':' + connectivityRequest.port)
|
|
62
|
+
connectivityResponseMessage = {
|
|
63
|
+
host,
|
|
64
|
+
natType: NatType.OPEN_INTERNET,
|
|
65
|
+
websocket: { host, port: connectivityRequest.port, tls: connectivityRequest.tls }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const msg: Message = {
|
|
69
|
+
serviceId: CONNECTIVITY_CHECKER_SERVICE_ID,
|
|
70
|
+
messageType: MessageType.CONNECTIVITY_RESPONSE,
|
|
71
|
+
messageId: v4(),
|
|
72
|
+
body: {
|
|
73
|
+
oneofKind: 'connectivityResponse',
|
|
74
|
+
connectivityResponse: connectivityResponseMessage!
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
connection.send(Message.toBinary(msg))
|
|
78
|
+
logger.trace('ConnectivityResponse sent: ' + JSON.stringify(Message.toJson(msg)))
|
|
79
|
+
}
|
|
@@ -148,7 +148,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
|
|
|
148
148
|
this.latencyTable = getRegionDelayMatrix()
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
if (this.latencyType === LatencyType.FIXED &&
|
|
151
|
+
if ((this.latencyType === LatencyType.FIXED) && (this.fixedLatency === undefined)) {
|
|
152
152
|
throw new Error('LatencyType.FIXED requires the desired latency to be given as second parameter')
|
|
153
153
|
}
|
|
154
154
|
|
|
@@ -185,7 +185,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
|
|
|
185
185
|
|
|
186
186
|
if (sourceRegion === undefined || targetRegion === undefined || sourceRegion > 15 || targetRegion > 15) {
|
|
187
187
|
logger.error('invalid region index given to Simulator')
|
|
188
|
-
throw ('invalid region index given to Simulator')
|
|
188
|
+
throw new Error('invalid region index given to Simulator')
|
|
189
189
|
}
|
|
190
190
|
|
|
191
191
|
latency = this.latencyTable![sourceRegion][targetRegion]
|
|
@@ -313,6 +313,7 @@ export class Simulator extends EventEmitter<ConnectionSourceEvents> {
|
|
|
313
313
|
this.simulatorTimeout = setTimeout(this.executeQueuedOperations, timeDifference)
|
|
314
314
|
|
|
315
315
|
if (Simulator.clock) {
|
|
316
|
+
// TODO should we have some handling for this floating promise?
|
|
316
317
|
Simulator.clock.runAllAsync()
|
|
317
318
|
}
|
|
318
319
|
}
|