@streamr/dht 100.0.0-testnet-three.5 → 100.0.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.
Files changed (174) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +14 -9
  3. package/dist/src/connection/ConnectionLockHandler.d.ts +2 -2
  4. package/dist/src/connection/ConnectionLockHandler.js +13 -5
  5. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  6. package/dist/src/connection/ConnectionManager.d.ts +6 -5
  7. package/dist/src/connection/ConnectionManager.js +16 -8
  8. package/dist/src/connection/ConnectionManager.js.map +1 -1
  9. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  10. package/dist/src/connection/Handshaker.d.ts +2 -0
  11. package/dist/src/connection/Handshaker.js +12 -14
  12. package/dist/src/connection/Handshaker.js.map +1 -1
  13. package/dist/src/connection/ManagedConnection.js +1 -0
  14. package/dist/src/connection/ManagedConnection.js.map +1 -1
  15. package/dist/src/connection/connectivityChecker.d.ts +1 -1
  16. package/dist/src/connection/connectivityChecker.js +5 -5
  17. package/dist/src/connection/connectivityChecker.js.map +1 -1
  18. package/dist/src/connection/connectivityRequestHandler.d.ts +2 -2
  19. package/dist/src/connection/connectivityRequestHandler.js +6 -7
  20. package/dist/src/connection/connectivityRequestHandler.js.map +1 -1
  21. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +1 -0
  22. package/dist/src/connection/webrtc/WebrtcConnector.js +13 -8
  23. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  24. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +2 -0
  25. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +4 -6
  26. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  27. package/dist/src/connection/websocket/WebsocketConnector.js +24 -21
  28. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
  29. package/dist/src/connection/websocket/WebsocketServer.js +25 -35
  30. package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
  31. package/dist/src/connection/websocket/{ServerWebsocket.d.ts → WebsocketServerConnection.d.ts} +4 -5
  32. package/dist/src/connection/websocket/{ServerWebsocket.js → WebsocketServerConnection.js} +15 -48
  33. package/dist/src/connection/websocket/WebsocketServerConnection.js.map +1 -0
  34. package/dist/src/dht/DhtNode.d.ts +15 -7
  35. package/dist/src/dht/DhtNode.js +63 -21
  36. package/dist/src/dht/DhtNode.js.map +1 -1
  37. package/dist/src/dht/DhtNodeRpcLocal.d.ts +5 -1
  38. package/dist/src/dht/DhtNodeRpcLocal.js +10 -0
  39. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  40. package/dist/src/dht/DhtNodeRpcRemote.d.ts +3 -0
  41. package/dist/src/dht/DhtNodeRpcRemote.js +15 -0
  42. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  43. package/dist/src/dht/ExternalApiRpcLocal.d.ts +2 -2
  44. package/dist/src/dht/ExternalApiRpcLocal.js +3 -3
  45. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  46. package/dist/src/dht/ExternalApiRpcRemote.d.ts +1 -1
  47. package/dist/src/dht/ExternalApiRpcRemote.js +2 -2
  48. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  49. package/dist/src/dht/PeerManager.d.ts +12 -0
  50. package/dist/src/dht/PeerManager.js +30 -5
  51. package/dist/src/dht/PeerManager.js.map +1 -1
  52. package/dist/src/dht/contact/RingContactList.d.ts +31 -0
  53. package/dist/src/dht/contact/RingContactList.js +133 -0
  54. package/dist/src/dht/contact/RingContactList.js.map +1 -0
  55. package/dist/src/dht/contact/ringIdentifiers.d.ts +16 -0
  56. package/dist/src/dht/contact/ringIdentifiers.js +54 -0
  57. package/dist/src/dht/contact/ringIdentifiers.js.map +1 -0
  58. package/dist/src/dht/discovery/PeerDiscovery.d.ts +4 -0
  59. package/dist/src/dht/discovery/PeerDiscovery.js +35 -0
  60. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  61. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +29 -0
  62. package/dist/src/dht/discovery/RingDiscoverySession.js +123 -0
  63. package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -0
  64. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +0 -1
  65. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -1
  66. package/dist/src/dht/routing/Router.d.ts +5 -2
  67. package/dist/src/dht/routing/Router.js +17 -3
  68. package/dist/src/dht/routing/Router.js.map +1 -1
  69. package/dist/src/dht/routing/RouterRpcLocal.d.ts +2 -3
  70. package/dist/src/dht/routing/RouterRpcLocal.js +2 -2
  71. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  72. package/dist/src/dht/routing/RoutingSession.d.ts +8 -6
  73. package/dist/src/dht/routing/RoutingSession.js +42 -40
  74. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  75. package/dist/src/dht/routing/RoutingTablesCache.d.ts +24 -0
  76. package/dist/src/dht/routing/RoutingTablesCache.js +46 -0
  77. package/dist/src/dht/routing/RoutingTablesCache.js.map +1 -0
  78. package/dist/src/dht/store/StoreManager.js +1 -1
  79. package/dist/src/dht/store/StoreManager.js.map +1 -1
  80. package/dist/src/exports.d.ts +1 -0
  81. package/dist/src/exports.js.map +1 -1
  82. package/dist/src/helpers/createPeerDescriptor.d.ts +1 -1
  83. package/dist/src/helpers/createPeerDescriptor.js +2 -1
  84. package/dist/src/helpers/createPeerDescriptor.js.map +1 -1
  85. package/dist/src/helpers/version.d.ts +6 -0
  86. package/dist/src/helpers/version.js +38 -0
  87. package/dist/src/helpers/version.js.map +1 -0
  88. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +16 -6
  89. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +11 -4
  90. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  91. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +98 -87
  92. package/dist/src/proto/packages/dht/protos/DhtRpc.js +45 -49
  93. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  94. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +10 -4
  95. package/dist/src/transport/RoutingRpcCommunicator.js +0 -2
  96. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  97. package/package.json +14 -9
  98. package/protos/DhtRpc.proto +21 -21
  99. package/src/connection/ConnectionLockHandler.ts +13 -5
  100. package/src/connection/ConnectionManager.ts +20 -12
  101. package/src/connection/ConnectorFacade.ts +0 -1
  102. package/src/connection/Handshaker.ts +14 -17
  103. package/src/connection/ManagedConnection.ts +1 -0
  104. package/src/connection/connectivityChecker.ts +6 -7
  105. package/src/connection/connectivityRequestHandler.ts +12 -12
  106. package/src/connection/webrtc/NodeWebrtcConnection.ts +1 -1
  107. package/src/connection/webrtc/WebrtcConnector.ts +14 -8
  108. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +5 -5
  109. package/src/connection/websocket/WebsocketConnector.ts +25 -26
  110. package/src/connection/websocket/WebsocketServer.ts +27 -42
  111. package/src/connection/websocket/{ServerWebsocket.ts → WebsocketServerConnection.ts} +14 -55
  112. package/src/dht/DhtNode.ts +85 -40
  113. package/src/dht/DhtNodeRpcLocal.ts +16 -0
  114. package/src/dht/DhtNodeRpcRemote.ts +18 -0
  115. package/src/dht/ExternalApiRpcLocal.ts +5 -5
  116. package/src/dht/ExternalApiRpcRemote.ts +4 -4
  117. package/src/dht/PeerManager.ts +48 -12
  118. package/src/dht/contact/RingContactList.ts +151 -0
  119. package/src/dht/contact/ringIdentifiers.ts +62 -0
  120. package/src/dht/discovery/PeerDiscovery.ts +37 -0
  121. package/src/dht/discovery/RingDiscoverySession.ts +160 -0
  122. package/src/dht/recursive-operation/RecursiveOperationSession.ts +1 -3
  123. package/src/dht/routing/Router.ts +22 -6
  124. package/src/dht/routing/RouterRpcLocal.ts +4 -5
  125. package/src/dht/routing/RoutingSession.ts +50 -44
  126. package/src/dht/routing/RoutingTablesCache.ts +58 -0
  127. package/src/dht/store/StoreManager.ts +1 -1
  128. package/src/exports.ts +1 -0
  129. package/src/helpers/createPeerDescriptor.ts +2 -1
  130. package/src/helpers/version.ts +32 -0
  131. package/src/proto/packages/dht/protos/DhtRpc.client.ts +22 -9
  132. package/src/proto/packages/dht/protos/DhtRpc.server.ts +10 -4
  133. package/src/proto/packages/dht/protos/DhtRpc.ts +122 -100
  134. package/src/transport/RoutingRpcCommunicator.ts +1 -2
  135. package/test/benchmark/Find.test.ts +3 -4
  136. package/test/benchmark/KademliaCorrectness.test.ts +14 -8
  137. package/test/benchmark/RingCorrectness.test.ts +157 -0
  138. package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +72 -0
  139. package/test/data/generateGroundTruthData.ts +2 -2
  140. package/test/end-to-end/memory-leak.test.ts +1 -2
  141. package/test/integration/ConnectionManager.test.ts +28 -10
  142. package/test/integration/ConnectivityChecking.test.ts +3 -15
  143. package/test/integration/DhtNodeExternalAPI.test.ts +6 -6
  144. package/test/integration/Find.test.ts +4 -4
  145. package/test/integration/Layer1-scale.test.ts +0 -1
  146. package/test/integration/ReplicateData.test.ts +1 -1
  147. package/test/integration/RouteMessage.test.ts +1 -6
  148. package/test/integration/RouterRpcRemote.test.ts +1 -3
  149. package/test/integration/SimultaneousConnections.test.ts +9 -10
  150. package/test/integration/Store.test.ts +2 -2
  151. package/test/integration/StoreAndDelete.test.ts +3 -3
  152. package/test/integration/StoreOnDhtWithThreeNodes.test.ts +5 -5
  153. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +3 -3
  154. package/test/integration/WebrtcConnectionManagement.test.ts +3 -9
  155. package/test/integration/WebsocketConnectionManagement.test.ts +1 -6
  156. package/test/integration/rpc-connections-over-webrpc.test.ts +1 -2
  157. package/test/unit/PeerManager.test.ts +5 -2
  158. package/test/unit/RecursiveOperationManager.test.ts +14 -8
  159. package/test/unit/RecursiveOperationSession.test.ts +1 -1
  160. package/test/unit/Router.test.ts +2 -3
  161. package/test/unit/RoutingSession.test.ts +8 -3
  162. package/test/unit/connectivityRequestHandler.test.ts +5 -9
  163. package/test/unit/createPeerDescriptor.test.ts +12 -6
  164. package/test/unit/version.test.ts +18 -0
  165. package/test/utils/mock/Router.ts +9 -0
  166. package/test/utils/utils.ts +43 -10
  167. package/tsconfig.jest.json +2 -1
  168. package/tsconfig.node.json +2 -1
  169. package/dist/src/connection/websocket/ServerWebsocket.js.map +0 -1
  170. package/dist/src/helpers/versionCompatibility.d.ts +0 -2
  171. package/dist/src/helpers/versionCompatibility.js +0 -18
  172. package/dist/src/helpers/versionCompatibility.js.map +0 -1
  173. package/src/helpers/versionCompatibility.ts +0 -13
  174. package/test/unit/versionCompatibility.test.ts +0 -16
@@ -1,2 +0,0 @@
1
- export declare const isCompatibleVersion: (version1: string, version2: string) => boolean;
2
- export declare const excludePatchVersion: (version: string) => string;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.excludePatchVersion = exports.isCompatibleVersion = void 0;
4
- // Is able to compare versions such as 1.2.3 and 1.2.4
5
- // can also compare versions such as 100.0.0-pretestnet.0 and 100.0.0-pretestnet.40
6
- const isCompatibleVersion = (version1, version2) => {
7
- const minorVersion1 = (0, exports.excludePatchVersion)(version1);
8
- const minorVersion2 = (0, exports.excludePatchVersion)(version2);
9
- return minorVersion1 === minorVersion2;
10
- };
11
- exports.isCompatibleVersion = isCompatibleVersion;
12
- const excludePatchVersion = (version) => {
13
- const versionParts = version.split('.');
14
- versionParts.pop();
15
- return versionParts.join('.');
16
- };
17
- exports.excludePatchVersion = excludePatchVersion;
18
- //# sourceMappingURL=versionCompatibility.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"versionCompatibility.js","sourceRoot":"","sources":["../../../src/helpers/versionCompatibility.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,mFAAmF;AAC5E,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,QAAgB,EAAW,EAAE;IAC/E,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAA;IACnD,OAAO,aAAa,KAAK,aAAa,CAAA;AAC1C,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B;AAEM,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvC,YAAY,CAAC,GAAG,EAAE,CAAA;IAClB,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC,CAAA;AAJY,QAAA,mBAAmB,uBAI/B"}
@@ -1,13 +0,0 @@
1
- // Is able to compare versions such as 1.2.3 and 1.2.4
2
- // can also compare versions such as 100.0.0-pretestnet.0 and 100.0.0-pretestnet.40
3
- export const isCompatibleVersion = (version1: string, version2: string): boolean => {
4
- const minorVersion1 = excludePatchVersion(version1)
5
- const minorVersion2 = excludePatchVersion(version2)
6
- return minorVersion1 === minorVersion2
7
- }
8
-
9
- export const excludePatchVersion = (version: string): string => {
10
- const versionParts = version.split('.')
11
- versionParts.pop()
12
- return versionParts.join('.')
13
- }
@@ -1,16 +0,0 @@
1
- import { isCompatibleVersion } from '../../src/helpers/versionCompatibility'
2
-
3
- describe('version compatibility', () => {
4
-
5
- it('same minor versions should be compatible', () => {
6
- expect(isCompatibleVersion('1.2.3', '1.2.4')).toBe(true)
7
- expect(isCompatibleVersion('100.0.0-pretestnet.0', '100.0.0-pretestnet.40')).toBe(true)
8
- })
9
-
10
- it('different minor versions should not be compatible', () => {
11
- expect(isCompatibleVersion('1.2.3', '2.2.4')).toBe(false)
12
- expect(isCompatibleVersion('1.2.3', '1.3.4')).toBe(false)
13
- expect(isCompatibleVersion('100.0.0-testnet.0', '101.0.0-pretestnet.40')).toBe(false)
14
- })
15
-
16
- })