@streamr/dht 0.0.1-tatum.6 → 0.0.1-tatum.8
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.d.ts +1 -1
- package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
- package/dist/src/connection/ConnectionLockRpcRemote.d.ts +10 -0
- package/dist/src/connection/{RemoteConnectionLocker.js → ConnectionLockRpcRemote.js} +21 -35
- package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -0
- package/dist/src/connection/ConnectionManager.d.ts +17 -41
- package/dist/src/connection/ConnectionManager.js +148 -212
- package/dist/src/connection/ConnectionManager.js.map +1 -1
- package/dist/src/connection/ConnectivityChecker.js +16 -13
- package/dist/src/connection/ConnectivityChecker.js.map +1 -1
- package/dist/src/connection/ConnectorFacade.d.ts +49 -0
- package/dist/src/connection/ConnectorFacade.js +83 -0
- package/dist/src/connection/ConnectorFacade.js.map +1 -0
- package/dist/src/connection/Handshaker.d.ts +1 -2
- package/dist/src/connection/Handshaker.js +1 -4
- package/dist/src/connection/Handshaker.js.map +1 -1
- package/dist/src/connection/ManagedConnection.d.ts +2 -6
- package/dist/src/connection/ManagedConnection.js +27 -36
- package/dist/src/connection/ManagedConnection.js.map +1 -1
- package/dist/src/connection/ManagedWebRtcConnection.d.ts +1 -1
- package/dist/src/connection/ManagedWebRtcConnection.js +2 -2
- package/dist/src/connection/ManagedWebRtcConnection.js.map +1 -1
- package/dist/src/connection/Simulator/Simulator.d.ts +0 -2
- package/dist/src/connection/Simulator/Simulator.js +0 -5
- package/dist/src/connection/Simulator/Simulator.js.map +1 -1
- package/dist/src/connection/Simulator/SimulatorConnection.js +16 -13
- package/dist/src/connection/Simulator/SimulatorConnection.js.map +1 -1
- package/dist/src/connection/Simulator/SimulatorConnector.d.ts +2 -3
- package/dist/src/connection/Simulator/SimulatorConnector.js +12 -14
- package/dist/src/connection/Simulator/SimulatorConnector.js.map +1 -1
- package/dist/src/connection/Simulator/SimulatorTransport.js +6 -1
- package/dist/src/connection/Simulator/SimulatorTransport.js.map +1 -1
- package/dist/src/connection/WebRTC/NodeWebRtcConnection.d.ts +3 -1
- package/dist/src/connection/WebRTC/NodeWebRtcConnection.js +12 -12
- package/dist/src/connection/WebRTC/NodeWebRtcConnection.js.map +1 -1
- package/dist/src/connection/WebRTC/{WebRtcConnector.d.ts → WebRtcConnectorRpcLocal.d.ts} +13 -13
- package/dist/src/connection/WebRTC/{WebRtcConnector.js → WebRtcConnectorRpcLocal.js} +46 -38
- package/dist/src/connection/WebRTC/WebRtcConnectorRpcLocal.js.map +1 -0
- package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.d.ts +11 -0
- package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js +55 -0
- package/dist/src/connection/WebRTC/WebRtcConnectorRpcRemote.js.map +1 -0
- package/dist/src/connection/WebRTC/iceServerAsString.d.ts +1 -1
- package/dist/src/connection/WebSocket/{WebSocketConnector.d.ts → WebSocketConnectorRpcLocal.d.ts} +21 -11
- package/dist/src/connection/WebSocket/{WebSocketConnector.js → WebSocketConnectorRpcLocal.js} +80 -59
- package/dist/src/connection/WebSocket/WebSocketConnectorRpcLocal.js.map +1 -0
- package/dist/src/connection/WebSocket/WebSocketConnectorRpcRemote.d.ts +8 -0
- package/dist/src/connection/WebSocket/{RemoteWebSocketConnector.js → WebSocketConnectorRpcRemote.js} +12 -16
- package/dist/src/connection/WebSocket/WebSocketConnectorRpcRemote.js.map +1 -0
- package/dist/src/connection/WebSocket/WebSocketServer.d.ts +11 -1
- package/dist/src/connection/WebSocket/WebSocketServer.js +15 -10
- package/dist/src/connection/WebSocket/WebSocketServer.js.map +1 -1
- package/dist/src/dht/DhtNode.d.ts +18 -55
- package/dist/src/dht/DhtNode.js +122 -145
- package/dist/src/dht/DhtNode.js.map +1 -1
- package/dist/src/dht/{RemoteExternalApi.d.ts → ExternalApiRpcRemote.d.ts} +2 -2
- package/dist/src/dht/{RemoteExternalApi.js → ExternalApiRpcRemote.js} +5 -6
- package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -0
- package/dist/src/dht/{DhtPeer.d.ts → RemoteDhtNode.d.ts} +2 -3
- package/dist/src/dht/{DhtPeer.js → RemoteDhtNode.js} +21 -19
- package/dist/src/dht/RemoteDhtNode.js.map +1 -0
- package/dist/src/dht/contact/ContactList.d.ts +0 -1
- package/dist/src/dht/contact/ContactList.js +0 -3
- package/dist/src/dht/contact/ContactList.js.map +1 -1
- package/dist/src/dht/contact/RandomContactList.d.ts +0 -1
- package/dist/src/dht/contact/RandomContactList.js +0 -3
- package/dist/src/dht/contact/RandomContactList.js.map +1 -1
- package/dist/src/dht/contact/SortedContactList.d.ts +0 -3
- package/dist/src/dht/contact/SortedContactList.js +0 -9
- package/dist/src/dht/contact/SortedContactList.js.map +1 -1
- package/dist/src/dht/discovery/DiscoverySession.d.ts +5 -7
- package/dist/src/dht/discovery/DiscoverySession.js +9 -10
- package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
- package/dist/src/dht/discovery/PeerDiscovery.d.ts +12 -11
- package/dist/src/dht/discovery/PeerDiscovery.js +33 -37
- package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
- package/dist/src/dht/find/RecursiveFindSession.d.ts +9 -10
- package/dist/src/dht/find/RecursiveFindSession.js +13 -13
- package/dist/src/dht/find/RecursiveFindSession.js.map +1 -1
- package/dist/src/dht/find/RecursiveFinder.d.ts +9 -11
- package/dist/src/dht/find/RecursiveFinder.js +35 -36
- package/dist/src/dht/find/RecursiveFinder.js.map +1 -1
- package/dist/src/dht/find/RemoteRecursiveFindSession.d.ts +1 -1
- package/dist/src/dht/find/RemoteRecursiveFindSession.js +4 -4
- package/dist/src/dht/find/RemoteRecursiveFindSession.js.map +1 -1
- package/dist/src/dht/registerExternalApiRpcMethods.d.ts +1 -1
- package/dist/src/dht/registerExternalApiRpcMethods.js +4 -3
- package/dist/src/dht/registerExternalApiRpcMethods.js.map +1 -1
- package/dist/src/dht/routing/DuplicateDetector.d.ts +1 -2
- package/dist/src/dht/routing/DuplicateDetector.js +2 -7
- package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
- package/dist/src/dht/routing/Router.d.ts +12 -15
- package/dist/src/dht/routing/Router.js +30 -33
- package/dist/src/dht/routing/Router.js.map +1 -1
- package/dist/src/dht/routing/{RemoteRouter.d.ts → RouterRpcRemote.d.ts} +2 -2
- package/dist/src/dht/routing/{RemoteRouter.js → RouterRpcRemote.js} +5 -5
- package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -0
- package/dist/src/dht/routing/RoutingSession.d.ts +3 -4
- package/dist/src/dht/routing/RoutingSession.js +6 -5
- package/dist/src/dht/routing/RoutingSession.js.map +1 -1
- package/dist/src/dht/store/{DataStore.d.ts → StoreRpcLocal.d.ts} +6 -6
- package/dist/src/dht/store/{DataStore.js → StoreRpcLocal.js} +34 -34
- package/dist/src/dht/store/StoreRpcLocal.js.map +1 -0
- package/dist/src/dht/store/{RemoteStore.d.ts → StoreRpcRemote.d.ts} +2 -2
- package/dist/src/dht/store/{RemoteStore.js → StoreRpcRemote.js} +4 -4
- package/dist/src/dht/store/StoreRpcRemote.js.map +1 -0
- package/dist/src/exports.d.ts +2 -8
- package/dist/src/exports.js +2 -14
- package/dist/src/exports.js.map +1 -1
- package/dist/src/helpers/PeerID.d.ts +0 -1
- package/dist/src/helpers/PeerID.js +0 -6
- package/dist/src/helpers/PeerID.js.map +1 -1
- package/dist/src/helpers/browser/isBrowserEnvironment.d.ts +1 -0
- package/dist/src/helpers/browser/isBrowserEnvironment.js +6 -0
- package/dist/src/helpers/browser/isBrowserEnvironment.js.map +1 -0
- package/dist/src/helpers/browser/isBrowserEnvironment_override.d.ts +1 -0
- package/dist/src/helpers/browser/isBrowserEnvironment_override.js +7 -0
- package/dist/src/helpers/browser/isBrowserEnvironment_override.js.map +1 -0
- package/dist/src/helpers/kademliaId.d.ts +1 -0
- package/dist/src/helpers/kademliaId.js +14 -0
- package/dist/src/helpers/kademliaId.js.map +1 -0
- package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +1 -1
- package/dist/src/helpers/peerIdFromPeerDescriptor.js +3 -3
- package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -1
- package/dist/src/helpers/protoClasses.js +2 -2
- package/dist/src/helpers/protoClasses.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +29 -29
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +39 -39
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +49 -162
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +47 -88
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +15 -15
- package/dist/src/transport/RoutingRpcCommunicator.js +1 -0
- package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
- package/package.json +10 -9
- package/protos/DhtRpc.proto +30 -60
- package/src/connection/ConnectionLockHandler.ts +1 -1
- package/src/connection/ConnectionLockRpcRemote.ts +62 -0
- package/src/connection/ConnectionManager.ts +178 -274
- package/src/connection/ConnectivityChecker.ts +15 -12
- package/src/connection/ConnectorFacade.ts +140 -0
- package/src/connection/Handshaker.ts +0 -5
- package/src/connection/ManagedConnection.ts +26 -40
- package/src/connection/ManagedWebRtcConnection.ts +0 -2
- package/src/connection/Simulator/Simulator.ts +0 -7
- package/src/connection/Simulator/SimulatorConnection.ts +16 -13
- package/src/connection/Simulator/SimulatorConnector.ts +13 -19
- package/src/connection/Simulator/SimulatorTransport.ts +6 -1
- package/src/connection/WebRTC/NodeWebRtcConnection.ts +15 -14
- package/src/connection/WebRTC/{WebRtcConnector.ts → WebRtcConnectorRpcLocal.ts} +68 -56
- package/src/connection/WebRTC/WebRtcConnectorRpcRemote.ts +71 -0
- package/src/connection/WebRTC/iceServerAsString.ts +1 -1
- package/src/connection/WebSocket/{WebSocketConnector.ts → WebSocketConnectorRpcLocal.ts} +102 -79
- package/src/connection/WebSocket/WebSocketConnectorRpcRemote.ts +45 -0
- package/src/connection/WebSocket/WebSocketServer.ts +26 -8
- package/src/dht/DhtNode.ts +176 -203
- package/src/dht/{RemoteExternalApi.ts → ExternalApiRpcRemote.ts} +3 -4
- package/src/dht/{DhtPeer.ts → RemoteDhtNode.ts} +11 -9
- package/src/dht/contact/ContactList.ts +0 -4
- package/src/dht/contact/RandomContactList.ts +0 -4
- package/src/dht/contact/SortedContactList.ts +0 -12
- package/src/dht/discovery/DiscoverySession.ts +20 -23
- package/src/dht/discovery/PeerDiscovery.ts +47 -45
- package/src/dht/find/RecursiveFindSession.ts +21 -22
- package/src/dht/find/RecursiveFinder.ts +45 -49
- package/src/dht/find/RemoteRecursiveFindSession.ts +6 -6
- package/src/dht/registerExternalApiRpcMethods.ts +8 -5
- package/src/dht/routing/DuplicateDetector.ts +3 -10
- package/src/dht/routing/Router.ts +39 -45
- package/src/dht/routing/{RemoteRouter.ts → RouterRpcRemote.ts} +4 -4
- package/src/dht/routing/RoutingSession.ts +15 -15
- package/src/dht/store/{DataStore.ts → StoreRpcLocal.ts} +42 -42
- package/src/dht/store/{RemoteStore.ts → StoreRpcRemote.ts} +2 -2
- package/src/exports.ts +2 -8
- package/src/helpers/PeerID.ts +0 -7
- package/src/helpers/browser/isBrowserEnvironment.ts +1 -0
- package/src/helpers/browser/isBrowserEnvironment_override.ts +3 -0
- package/src/helpers/kademliaId.ts +8 -0
- package/src/helpers/peerIdFromPeerDescriptor.ts +1 -1
- package/src/helpers/protoClasses.ts +4 -4
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +54 -54
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +15 -15
- package/src/proto/packages/dht/protos/DhtRpc.ts +77 -216
- package/src/transport/RoutingRpcCommunicator.ts +1 -0
- package/test/benchmark/KademliaCorrectness.test.ts +4 -2
- package/test/benchmark/RecursiveFind.test.ts +6 -6
- package/test/end-to-end/Layer0-Layer1.test.ts +9 -9
- package/test/end-to-end/Layer0WebRTC-Layer1.test.ts +5 -5
- package/test/end-to-end/Layer0WebRTC.test.ts +5 -6
- package/test/end-to-end/Layer1-Scale-WebRTC.test.ts +13 -8
- package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +15 -10
- package/test/end-to-end/WebSocketConnectionRequest.test.ts +5 -5
- package/test/integration/ConnectionLocking.test.ts +32 -26
- package/test/integration/ConnectionManager.test.ts +90 -93
- package/test/integration/DhtJoinPeerDiscovery.test.ts +53 -0
- package/test/integration/DhtRpc.test.ts +4 -6
- package/test/integration/Layer1-scale.test.ts +8 -8
- package/test/integration/MigrateData.test.ts +9 -9
- package/test/integration/Mock-Layer1-Layer0.test.ts +1 -2
- package/test/integration/RecursiveFind.test.ts +5 -5
- package/test/integration/{DhtPeer.test.ts → RemoteDhtNode.test.ts} +11 -12
- package/test/integration/RouteMessage.test.ts +7 -9
- package/test/integration/{RemoteRouter.test.ts → RouterRpcRemote.test.ts} +13 -14
- package/test/integration/RpcErrors.test.ts +25 -10
- package/test/integration/ScaleDownDht.test.ts +8 -8
- package/test/integration/SimultaneousConnections.test.ts +35 -36
- package/test/integration/Store.test.ts +8 -9
- package/test/integration/StoreAndDelete.test.ts +11 -11
- package/test/integration/StoreOnDhtWithTwoNodes.test.ts +7 -7
- package/test/integration/{RemoteStore.test.ts → StoreRpcRemote.test.ts} +17 -18
- package/test/integration/WebRtcConnectionManagement.test.ts +26 -19
- package/test/integration/WebRtcConnectorRpc.test.ts +17 -32
- package/test/integration/WebSocket.test.ts +4 -2
- package/test/integration/WebSocketConnectionManagement.test.ts +30 -17
- package/test/integration/WebSocketConnectorRpc.test.ts +10 -15
- package/test/unit/DuplicateDetector.test.ts +3 -4
- package/test/unit/LocalDataStore.test.ts +6 -8
- package/test/unit/RandomContactList.test.ts +1 -1
- package/test/unit/RecursiveFinder.test.ts +13 -18
- package/test/unit/Router.test.ts +18 -21
- package/test/unit/WebSocketConnectorRpcLocal.test.ts +64 -0
- package/test/unit/WebSocketServer.test.ts +24 -12
- package/test/unit/{webrtcReplaceInternalIpWithExternalIp.ts → webrtcReplaceInternalIpWithExternalIp.test.ts} +1 -1
- package/test/utils/mock/RecursiveFinder.ts +2 -2
- package/test/utils/mock/Router.ts +9 -11
- package/test/utils/mock/Transport.ts +2 -2
- package/test/utils/utils.ts +55 -74
- package/dist/src/connection/RemoteConnectionLocker.d.ts +0 -13
- package/dist/src/connection/RemoteConnectionLocker.js.map +0 -1
- package/dist/src/connection/WebRTC/RemoteWebrtcConnector.d.ts +0 -12
- package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js +0 -74
- package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js.map +0 -1
- package/dist/src/connection/WebRTC/WebRtcConnector.js.map +0 -1
- package/dist/src/connection/WebSocket/RemoteWebSocketConnector.d.ts +0 -9
- package/dist/src/connection/WebSocket/RemoteWebSocketConnector.js.map +0 -1
- package/dist/src/connection/WebSocket/WebSocketConnector.js.map +0 -1
- package/dist/src/dht/DhtPeer.js.map +0 -1
- package/dist/src/dht/RemoteExternalApi.js.map +0 -1
- package/dist/src/dht/routing/RemoteRouter.js.map +0 -1
- package/dist/src/dht/store/DataStore.js.map +0 -1
- package/dist/src/dht/store/RemoteStore.js.map +0 -1
- package/dist/src/helpers/browser/isBrowser.d.ts +0 -1
- package/dist/src/helpers/browser/isBrowser.js +0 -6
- package/dist/src/helpers/browser/isBrowser.js.map +0 -1
- package/dist/src/helpers/browser/isNodeJS.d.ts +0 -1
- package/dist/src/helpers/browser/isNodeJS.js +0 -6
- package/dist/src/helpers/browser/isNodeJS.js.map +0 -1
- package/src/connection/RemoteConnectionLocker.ts +0 -84
- package/src/connection/WebRTC/RemoteWebrtcConnector.ts +0 -93
- package/src/connection/WebSocket/RemoteWebSocketConnector.ts +0 -49
- package/src/helpers/browser/isBrowser.ts +0 -1
- package/src/helpers/browser/isNodeJS.ts +0 -1
- package/test/integration/DhtWithMockConnectionLatencies.test.ts +0 -46
- package/test/integration/DhtWithMockConnections.test.ts +0 -46
- package/test/integration/DhtWithRealConnectionLatencies.test.ts +0 -47
package/protos/DhtRpc.proto
CHANGED
|
@@ -14,40 +14,40 @@ service DhtRpcService {
|
|
|
14
14
|
rpc leaveNotice (LeaveNotice) returns (google.protobuf.Empty);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
service
|
|
17
|
+
service RouterRpc {
|
|
18
18
|
rpc routeMessage (RouteMessageWrapper) returns (RouteMessageAck);
|
|
19
19
|
rpc forwardMessage (RouteMessageWrapper) returns (RouteMessageAck);
|
|
20
20
|
rpc findRecursively (RouteMessageWrapper) returns (RouteMessageAck);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
service
|
|
23
|
+
service StoreRpc {
|
|
24
24
|
rpc storeData (StoreDataRequest) returns (StoreDataResponse);
|
|
25
25
|
rpc migrateData (MigrateDataRequest) returns (MigrateDataResponse);
|
|
26
26
|
rpc deleteData (DeleteDataRequest) returns (DeleteDataResponse);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
service RecursiveFindSessionService {
|
|
30
|
-
rpc
|
|
30
|
+
rpc sendFindResponse(FindResponse) returns (google.protobuf.Empty);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
service
|
|
33
|
+
service WebSocketConnectorRpc {
|
|
34
34
|
rpc requestConnection (WebSocketConnectionRequest) returns (WebSocketConnectionResponse);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
service
|
|
37
|
+
service WebRtcConnectorRpc {
|
|
38
38
|
rpc requestConnection (WebRtcConnectionRequest) returns (google.protobuf.Empty);
|
|
39
39
|
rpc rtcOffer (RtcOffer) returns (google.protobuf.Empty);
|
|
40
40
|
rpc rtcAnswer (RtcAnswer) returns (google.protobuf.Empty);
|
|
41
41
|
rpc iceCandidate (IceCandidate) returns (google.protobuf.Empty);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
service
|
|
44
|
+
service ConnectionLockRpc {
|
|
45
45
|
rpc lockRequest (LockRequest) returns (LockResponse);
|
|
46
46
|
rpc unlockRequest (UnlockRequest) returns (google.protobuf.Empty);
|
|
47
47
|
rpc gracefulDisconnect (DisconnectNotice) returns (DisconnectNoticeResponse);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
service
|
|
50
|
+
service ExternalApiRpc {
|
|
51
51
|
rpc findData (FindDataRequest) returns (FindDataResponse);
|
|
52
52
|
rpc externalStoreData (ExternalStoreDataRequest) returns (ExternalStoreDataResponse);
|
|
53
53
|
}
|
|
@@ -111,18 +111,13 @@ message ClosestPeersResponse {
|
|
|
111
111
|
string requestId = 2;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
message FindRequest {
|
|
115
|
+
string sessionId = 1;
|
|
116
|
+
bool fetchData = 2;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
message
|
|
120
|
-
|
|
121
|
-
FindMode findMode = 2;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
message RecursiveFindReport {
|
|
125
|
-
repeated PeerDescriptor nodes = 1;
|
|
119
|
+
message FindResponse {
|
|
120
|
+
repeated PeerDescriptor closestConnectedPeers = 1;
|
|
126
121
|
repeated DataEntry dataEntries = 2;
|
|
127
122
|
optional bool noCloserNodesFound = 3;
|
|
128
123
|
repeated PeerDescriptor routingPath = 4;
|
|
@@ -148,7 +143,6 @@ message PeerDescriptor {
|
|
|
148
143
|
ConnectivityMethod websocket = 5;
|
|
149
144
|
optional bool openInternet = 6;
|
|
150
145
|
optional uint32 region = 7;
|
|
151
|
-
optional string nodeName = 8;
|
|
152
146
|
}
|
|
153
147
|
|
|
154
148
|
message ConnectivityMethod {
|
|
@@ -181,10 +175,8 @@ message RouteMessageWrapper {
|
|
|
181
175
|
}
|
|
182
176
|
|
|
183
177
|
message RouteMessageAck {
|
|
184
|
-
|
|
185
|
-
string
|
|
186
|
-
PeerDescriptor destinationPeer = 3;
|
|
187
|
-
string error = 4;
|
|
178
|
+
string requestId = 1;
|
|
179
|
+
string error = 2;
|
|
188
180
|
}
|
|
189
181
|
|
|
190
182
|
// Correspond to the MessageType Enum
|
|
@@ -204,15 +196,13 @@ message ConnectivityResponse {
|
|
|
204
196
|
|
|
205
197
|
message HandshakeRequest {
|
|
206
198
|
bytes sourceId = 1;
|
|
207
|
-
|
|
208
|
-
PeerDescriptor peerDescriptor = 3;
|
|
199
|
+
PeerDescriptor peerDescriptor = 2;
|
|
209
200
|
}
|
|
210
201
|
|
|
211
202
|
message HandshakeResponse {
|
|
212
203
|
bytes sourceId = 1;
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
optional string responseError = 4;
|
|
204
|
+
PeerDescriptor peerDescriptor = 2;
|
|
205
|
+
optional string responseError = 3;
|
|
216
206
|
}
|
|
217
207
|
|
|
218
208
|
// Wraps all messages
|
|
@@ -238,7 +228,7 @@ message Message {
|
|
|
238
228
|
HandshakeRequest handshakeRequest = 8;
|
|
239
229
|
HandshakeResponse handshakeResponse = 9;
|
|
240
230
|
protorpc.RpcMessage rpcMessage = 10;
|
|
241
|
-
|
|
231
|
+
FindRequest findRequest = 11;
|
|
242
232
|
};
|
|
243
233
|
}
|
|
244
234
|
|
|
@@ -246,58 +236,42 @@ message Message {
|
|
|
246
236
|
|
|
247
237
|
// WebSocket
|
|
248
238
|
message WebSocketConnectionRequest {
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
string ip = 3;
|
|
252
|
-
uint32 port = 4;
|
|
239
|
+
string ip = 1;
|
|
240
|
+
uint32 port = 2;
|
|
253
241
|
}
|
|
254
242
|
|
|
255
243
|
message WebSocketConnectionResponse {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
bool accepted = 3;
|
|
259
|
-
optional string reason = 4;
|
|
244
|
+
bool accepted = 1;
|
|
245
|
+
optional string reason = 2;
|
|
260
246
|
}
|
|
261
247
|
|
|
262
248
|
// WebRTC
|
|
263
249
|
message WebRtcConnectionRequest {
|
|
264
|
-
|
|
265
|
-
PeerDescriptor target = 2;
|
|
266
|
-
string connectionId = 3;
|
|
250
|
+
string connectionId = 1;
|
|
267
251
|
}
|
|
268
252
|
|
|
269
253
|
message RtcOffer {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
string description = 3;
|
|
273
|
-
string connectionId = 4;
|
|
254
|
+
string description = 1;
|
|
255
|
+
string connectionId = 2;
|
|
274
256
|
}
|
|
275
257
|
|
|
276
258
|
message RtcAnswer {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
string description = 3;
|
|
280
|
-
string connectionId = 4;
|
|
259
|
+
string description = 1;
|
|
260
|
+
string connectionId = 2;
|
|
281
261
|
}
|
|
282
262
|
|
|
283
263
|
message IceCandidate {
|
|
284
264
|
string candidate = 1;
|
|
285
265
|
string mid = 2;
|
|
286
266
|
string connectionId = 3;
|
|
287
|
-
PeerDescriptor requester = 4;
|
|
288
|
-
PeerDescriptor target = 5;
|
|
289
267
|
}
|
|
290
268
|
|
|
291
269
|
message LockRequest {
|
|
292
|
-
string
|
|
293
|
-
PeerDescriptor peerDescriptor = 2;
|
|
294
|
-
string serviceId = 3;
|
|
270
|
+
string serviceId = 1;
|
|
295
271
|
}
|
|
296
272
|
|
|
297
273
|
message UnlockRequest {
|
|
298
|
-
string
|
|
299
|
-
PeerDescriptor peerDescriptor = 2;
|
|
300
|
-
string serviceId = 3;
|
|
274
|
+
string serviceId = 1;
|
|
301
275
|
}
|
|
302
276
|
|
|
303
277
|
message LockResponse {
|
|
@@ -311,18 +285,14 @@ enum DisconnectMode {
|
|
|
311
285
|
}
|
|
312
286
|
|
|
313
287
|
message DisconnectNotice {
|
|
314
|
-
|
|
315
|
-
PeerDescriptor peerDescriptor = 2;
|
|
316
|
-
DisconnectMode disconnecMode = 3;
|
|
288
|
+
DisconnectMode disconnectMode = 1;
|
|
317
289
|
}
|
|
318
290
|
|
|
319
291
|
message DisconnectNoticeResponse {
|
|
320
|
-
string protocolVersion = 1;
|
|
321
292
|
}
|
|
322
293
|
|
|
323
294
|
message FindDataRequest {
|
|
324
295
|
bytes kademliaId = 1;
|
|
325
|
-
PeerDescriptor requestor = 2;
|
|
326
296
|
}
|
|
327
297
|
|
|
328
298
|
message FindDataResponse {
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Logger } from '@streamr/utils'
|
|
2
|
+
import { ProtoRpcClient } from '@streamr/proto-rpc'
|
|
3
|
+
import { IConnectionLockRpcClient } from '../proto/packages/dht/protos/DhtRpc.client'
|
|
4
|
+
import { LockRequest, UnlockRequest, PeerDescriptor, DisconnectNotice, DisconnectMode } from '../proto/packages/dht/protos/DhtRpc'
|
|
5
|
+
|
|
6
|
+
import * as Err from '../helpers/errors'
|
|
7
|
+
import { keyFromPeerDescriptor } from '../helpers/peerIdFromPeerDescriptor'
|
|
8
|
+
import { Remote } from '../dht/contact/Remote'
|
|
9
|
+
|
|
10
|
+
const logger = new Logger(module)
|
|
11
|
+
|
|
12
|
+
export class ConnectionLockRpcRemote extends Remote<IConnectionLockRpcClient> {
|
|
13
|
+
|
|
14
|
+
constructor(
|
|
15
|
+
ownPeerDescriptor: PeerDescriptor,
|
|
16
|
+
targetPeerDescriptor: PeerDescriptor,
|
|
17
|
+
client: ProtoRpcClient<IConnectionLockRpcClient>
|
|
18
|
+
) {
|
|
19
|
+
super(ownPeerDescriptor, targetPeerDescriptor, 'DUMMY', client)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public async lockRequest(serviceId: string): Promise<boolean> {
|
|
23
|
+
logger.trace(`Requesting locked connection to ${keyFromPeerDescriptor(this.getPeerDescriptor())}`)
|
|
24
|
+
const request: LockRequest = {
|
|
25
|
+
serviceId
|
|
26
|
+
}
|
|
27
|
+
const options = this.formDhtRpcOptions()
|
|
28
|
+
try {
|
|
29
|
+
const res = await this.getClient().lockRequest(request, options)
|
|
30
|
+
return res.accepted
|
|
31
|
+
} catch (err) {
|
|
32
|
+
logger.debug(new Err.ConnectionLocker('Connection lock rejected', err).stack!)
|
|
33
|
+
return false
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public unlockRequest(serviceId: string): void {
|
|
38
|
+
logger.trace(`Requesting connection to be unlocked from ${keyFromPeerDescriptor(this.getPeerDescriptor())}`)
|
|
39
|
+
const request: UnlockRequest = {
|
|
40
|
+
serviceId
|
|
41
|
+
}
|
|
42
|
+
const options = this.formDhtRpcOptions({
|
|
43
|
+
notification: true
|
|
44
|
+
})
|
|
45
|
+
this.getClient().unlockRequest(request, options).catch((_e) => {
|
|
46
|
+
logger.trace('failed to send unlockRequest')
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public async gracefulDisconnect(disconnectMode: DisconnectMode): Promise<void> {
|
|
51
|
+
logger.trace(`Notifying a graceful disconnect to ${keyFromPeerDescriptor(this.getPeerDescriptor())}`)
|
|
52
|
+
const request: DisconnectNotice = {
|
|
53
|
+
disconnectMode
|
|
54
|
+
}
|
|
55
|
+
const options = this.formDhtRpcOptions({
|
|
56
|
+
doNotConnect: true,
|
|
57
|
+
doNotMindStopped: true,
|
|
58
|
+
timeout: 2000
|
|
59
|
+
})
|
|
60
|
+
await this.getClient().gracefulDisconnect(request, options)
|
|
61
|
+
}
|
|
62
|
+
}
|