@streamr/dht 0.0.1-tatum.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 (344) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc +3 -0
  3. package/README.md +38 -0
  4. package/dist/src/connection/Connection.d.ts +11 -0
  5. package/dist/src/connection/Connection.js +23 -0
  6. package/dist/src/connection/Connection.js.map +1 -0
  7. package/dist/src/connection/ConnectionLockHandler.d.ts +23 -0
  8. package/dist/src/connection/ConnectionLockHandler.js +94 -0
  9. package/dist/src/connection/ConnectionLockHandler.js.map +1 -0
  10. package/dist/src/connection/ConnectionManager.d.ts +94 -0
  11. package/dist/src/connection/ConnectionManager.js +554 -0
  12. package/dist/src/connection/ConnectionManager.js.map +1 -0
  13. package/dist/src/connection/ConnectivityChecker.d.ts +17 -0
  14. package/dist/src/connection/ConnectivityChecker.js +187 -0
  15. package/dist/src/connection/ConnectivityChecker.js.map +1 -0
  16. package/dist/src/connection/Handshaker.d.ts +19 -0
  17. package/dist/src/connection/Handshaker.js +77 -0
  18. package/dist/src/connection/Handshaker.js.map +1 -0
  19. package/dist/src/connection/IConnection.d.ts +38 -0
  20. package/dist/src/connection/IConnection.js +19 -0
  21. package/dist/src/connection/IConnection.js.map +1 -0
  22. package/dist/src/connection/IConnectionSource.d.ts +4 -0
  23. package/dist/src/connection/IConnectionSource.js +3 -0
  24. package/dist/src/connection/IConnectionSource.js.map +1 -0
  25. package/dist/src/connection/ManagedConnection.d.ts +60 -0
  26. package/dist/src/connection/ManagedConnection.js +352 -0
  27. package/dist/src/connection/ManagedConnection.js.map +1 -0
  28. package/dist/src/connection/ManagedWebRtcConnection.d.ts +7 -0
  29. package/dist/src/connection/ManagedWebRtcConnection.js +20 -0
  30. package/dist/src/connection/ManagedWebRtcConnection.js.map +1 -0
  31. package/dist/src/connection/RemoteConnectionLocker.d.ts +14 -0
  32. package/dist/src/connection/RemoteConnectionLocker.js +93 -0
  33. package/dist/src/connection/RemoteConnectionLocker.js.map +1 -0
  34. package/dist/src/connection/Simulator/Simulator.d.ts +42 -0
  35. package/dist/src/connection/Simulator/Simulator.js +325 -0
  36. package/dist/src/connection/Simulator/Simulator.js.map +1 -0
  37. package/dist/src/connection/Simulator/SimulatorConnection.d.ts +19 -0
  38. package/dist/src/connection/Simulator/SimulatorConnection.js +118 -0
  39. package/dist/src/connection/Simulator/SimulatorConnection.js.map +1 -0
  40. package/dist/src/connection/Simulator/SimulatorConnector.d.ts +17 -0
  41. package/dist/src/connection/Simulator/SimulatorConnector.js +72 -0
  42. package/dist/src/connection/Simulator/SimulatorConnector.js.map +1 -0
  43. package/dist/src/connection/Simulator/SimulatorTransport.d.ts +6 -0
  44. package/dist/src/connection/Simulator/SimulatorTransport.js +11 -0
  45. package/dist/src/connection/Simulator/SimulatorTransport.js.map +1 -0
  46. package/dist/src/connection/Simulator/pings.d.ts +21 -0
  47. package/dist/src/connection/Simulator/pings.js +61 -0
  48. package/dist/src/connection/Simulator/pings.js.map +1 -0
  49. package/dist/src/connection/WebRTC/IWebRtcConnection.d.ts +20 -0
  50. package/dist/src/connection/WebRTC/IWebRtcConnection.js +9 -0
  51. package/dist/src/connection/WebRTC/IWebRtcConnection.js.map +1 -0
  52. package/dist/src/connection/WebRTC/NodeWebRtcConnection.d.ts +47 -0
  53. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js +233 -0
  54. package/dist/src/connection/WebRTC/NodeWebRtcConnection.js.map +1 -0
  55. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.d.ts +12 -0
  56. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js +74 -0
  57. package/dist/src/connection/WebRTC/RemoteWebrtcConnector.js.map +1 -0
  58. package/dist/src/connection/WebRTC/WebRtcConnector.d.ts +47 -0
  59. package/dist/src/connection/WebRTC/WebRtcConnector.js +227 -0
  60. package/dist/src/connection/WebRTC/WebRtcConnector.js.map +1 -0
  61. package/dist/src/connection/WebRTC/iceServerAsString.d.ts +2 -0
  62. package/dist/src/connection/WebRTC/iceServerAsString.js +18 -0
  63. package/dist/src/connection/WebRTC/iceServerAsString.js.map +1 -0
  64. package/dist/src/connection/WebSocket/ClientWebSocket.d.ts +15 -0
  65. package/dist/src/connection/WebSocket/ClientWebSocket.js +113 -0
  66. package/dist/src/connection/WebSocket/ClientWebSocket.js.map +1 -0
  67. package/dist/src/connection/WebSocket/RemoteWebSocketConnector.d.ts +9 -0
  68. package/dist/src/connection/WebSocket/RemoteWebSocketConnector.js +63 -0
  69. package/dist/src/connection/WebSocket/RemoteWebSocketConnector.js.map +1 -0
  70. package/dist/src/connection/WebSocket/ServerWebSocket.d.ts +18 -0
  71. package/dist/src/connection/WebSocket/ServerWebSocket.js +103 -0
  72. package/dist/src/connection/WebSocket/ServerWebSocket.js.map +1 -0
  73. package/dist/src/connection/WebSocket/WebSocketConnector.d.ts +31 -0
  74. package/dist/src/connection/WebSocket/WebSocketConnector.js +202 -0
  75. package/dist/src/connection/WebSocket/WebSocketConnector.js.map +1 -0
  76. package/dist/src/connection/WebSocket/WebSocketServer.d.ts +9 -0
  77. package/dist/src/connection/WebSocket/WebSocketServer.js +101 -0
  78. package/dist/src/connection/WebSocket/WebSocketServer.js.map +1 -0
  79. package/dist/src/dht/DhtNode.d.ts +153 -0
  80. package/dist/src/dht/DhtNode.js +599 -0
  81. package/dist/src/dht/DhtNode.js.map +1 -0
  82. package/dist/src/dht/DhtPeer.d.ts +18 -0
  83. package/dist/src/dht/DhtPeer.js +74 -0
  84. package/dist/src/dht/DhtPeer.js.map +1 -0
  85. package/dist/src/dht/ExternalApi.d.ts +8 -0
  86. package/dist/src/dht/ExternalApi.js +26 -0
  87. package/dist/src/dht/ExternalApi.js.map +1 -0
  88. package/dist/src/dht/RemoteExternalApi.d.ts +6 -0
  89. package/dist/src/dht/RemoteExternalApi.js +26 -0
  90. package/dist/src/dht/RemoteExternalApi.js.map +1 -0
  91. package/dist/src/dht/contact/Contact.d.ts +22 -0
  92. package/dist/src/dht/contact/Contact.js +25 -0
  93. package/dist/src/dht/contact/Contact.js.map +1 -0
  94. package/dist/src/dht/contact/RandomContactList.d.ts +20 -0
  95. package/dist/src/dht/contact/RandomContactList.js +78 -0
  96. package/dist/src/dht/contact/RandomContactList.js.map +1 -0
  97. package/dist/src/dht/contact/Remote.d.ts +15 -0
  98. package/dist/src/dht/contact/Remote.js +24 -0
  99. package/dist/src/dht/contact/Remote.js.map +1 -0
  100. package/dist/src/dht/contact/SortedContactList.d.ts +35 -0
  101. package/dist/src/dht/contact/SortedContactList.js +156 -0
  102. package/dist/src/dht/contact/SortedContactList.js.map +1 -0
  103. package/dist/src/dht/discovery/DiscoverySession.d.ts +36 -0
  104. package/dist/src/dht/discovery/DiscoverySession.js +116 -0
  105. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -0
  106. package/dist/src/dht/discovery/PeerDiscovery.d.ts +42 -0
  107. package/dist/src/dht/discovery/PeerDiscovery.js +157 -0
  108. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -0
  109. package/dist/src/dht/find/RecursiveFindSession.d.ts +46 -0
  110. package/dist/src/dht/find/RecursiveFindSession.js +142 -0
  111. package/dist/src/dht/find/RecursiveFindSession.js.map +1 -0
  112. package/dist/src/dht/find/RecursiveFinder.d.ts +54 -0
  113. package/dist/src/dht/find/RecursiveFinder.js +180 -0
  114. package/dist/src/dht/find/RecursiveFinder.js.map +1 -0
  115. package/dist/src/dht/find/RemoteRecursiveFindSession.d.ts +6 -0
  116. package/dist/src/dht/find/RemoteRecursiveFindSession.js +25 -0
  117. package/dist/src/dht/find/RemoteRecursiveFindSession.js.map +1 -0
  118. package/dist/src/dht/routing/DuplicateDetector.d.ts +13 -0
  119. package/dist/src/dht/routing/DuplicateDetector.js +41 -0
  120. package/dist/src/dht/routing/DuplicateDetector.js.map +1 -0
  121. package/dist/src/dht/routing/RemoteRouter.d.ts +8 -0
  122. package/dist/src/dht/routing/RemoteRouter.js +106 -0
  123. package/dist/src/dht/routing/RemoteRouter.js.map +1 -0
  124. package/dist/src/dht/routing/Router.d.ts +60 -0
  125. package/dist/src/dht/routing/Router.js +207 -0
  126. package/dist/src/dht/routing/Router.js.map +1 -0
  127. package/dist/src/dht/routing/RoutingSession.d.ts +42 -0
  128. package/dist/src/dht/routing/RoutingSession.js +178 -0
  129. package/dist/src/dht/routing/RoutingSession.js.map +1 -0
  130. package/dist/src/dht/store/DataStore.d.ts +45 -0
  131. package/dist/src/dht/store/DataStore.js +244 -0
  132. package/dist/src/dht/store/DataStore.js.map +1 -0
  133. package/dist/src/dht/store/LocalDataStore.d.ts +19 -0
  134. package/dist/src/dht/store/LocalDataStore.js +104 -0
  135. package/dist/src/dht/store/LocalDataStore.js.map +1 -0
  136. package/dist/src/dht/store/RemoteStore.d.ts +8 -0
  137. package/dist/src/dht/store/RemoteStore.js +44 -0
  138. package/dist/src/dht/store/RemoteStore.js.map +1 -0
  139. package/dist/src/exports.d.ts +19 -0
  140. package/dist/src/exports.js +41 -0
  141. package/dist/src/exports.js.map +1 -0
  142. package/dist/src/helpers/AddressTools.d.ts +2 -0
  143. package/dist/src/helpers/AddressTools.js +31 -0
  144. package/dist/src/helpers/AddressTools.js.map +1 -0
  145. package/dist/src/helpers/PeerID.d.ts +25 -0
  146. package/dist/src/helpers/PeerID.js +84 -0
  147. package/dist/src/helpers/PeerID.js.map +1 -0
  148. package/dist/src/helpers/UUID.d.ts +7 -0
  149. package/dist/src/helpers/UUID.js +32 -0
  150. package/dist/src/helpers/UUID.js.map +1 -0
  151. package/dist/src/helpers/debugHelpers.d.ts +3 -0
  152. package/dist/src/helpers/debugHelpers.js +11 -0
  153. package/dist/src/helpers/debugHelpers.js.map +1 -0
  154. package/dist/src/helpers/errors.d.ts +72 -0
  155. package/dist/src/helpers/errors.js +95 -0
  156. package/dist/src/helpers/errors.js.map +1 -0
  157. package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +5 -0
  158. package/dist/src/helpers/peerIdFromPeerDescriptor.js +17 -0
  159. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +1 -0
  160. package/dist/src/helpers/protoClasses.d.ts +2 -0
  161. package/dist/src/helpers/protoClasses.js +35 -0
  162. package/dist/src/helpers/protoClasses.js.map +1 -0
  163. package/dist/src/helpers/protoToString.d.ts +2 -0
  164. package/dist/src/helpers/protoToString.js +20 -0
  165. package/dist/src/helpers/protoToString.js.map +1 -0
  166. package/dist/src/proto/google/protobuf/any.d.ts +173 -0
  167. package/dist/src/proto/google/protobuf/any.js +155 -0
  168. package/dist/src/proto/google/protobuf/any.js.map +1 -0
  169. package/dist/src/proto/google/protobuf/empty.d.ts +32 -0
  170. package/dist/src/proto/google/protobuf/empty.js +34 -0
  171. package/dist/src/proto/google/protobuf/empty.js.map +1 -0
  172. package/dist/src/proto/google/protobuf/timestamp.d.ts +149 -0
  173. package/dist/src/proto/google/protobuf/timestamp.js +136 -0
  174. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -0
  175. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +320 -0
  176. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +245 -0
  177. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -0
  178. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +1089 -0
  179. package/dist/src/proto/packages/dht/protos/DhtRpc.js +710 -0
  180. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -0
  181. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +145 -0
  182. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js +3 -0
  183. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js.map +1 -0
  184. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.d.ts +87 -0
  185. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +66 -0
  186. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js.map +1 -0
  187. package/dist/src/proto/tests.d.ts +39 -0
  188. package/dist/src/proto/tests.js +34 -0
  189. package/dist/src/proto/tests.js.map +1 -0
  190. package/dist/src/rpc-protocol/DhtCallContext.d.ts +12 -0
  191. package/dist/src/rpc-protocol/DhtCallContext.js +8 -0
  192. package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -0
  193. package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +8 -0
  194. package/dist/src/rpc-protocol/DhtRpcOptions.js +3 -0
  195. package/dist/src/rpc-protocol/DhtRpcOptions.js.map +1 -0
  196. package/dist/src/transport/ITransport.d.ts +22 -0
  197. package/dist/src/transport/ITransport.js +3 -0
  198. package/dist/src/transport/ITransport.js.map +1 -0
  199. package/dist/src/transport/ListeningRpcCommunicator.d.ts +6 -0
  200. package/dist/src/transport/ListeningRpcCommunicator.js +14 -0
  201. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -0
  202. package/dist/src/transport/RoutingRpcCommunicator.d.ts +8 -0
  203. package/dist/src/transport/RoutingRpcCommunicator.js +52 -0
  204. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -0
  205. package/jest.config.js +2 -0
  206. package/karma.config.js +20 -0
  207. package/package.json +64 -0
  208. package/proto.sh +3 -0
  209. package/protos/DhtRpc.proto +330 -0
  210. package/protos/tests.proto +16 -0
  211. package/src/connection/Connection.ts +23 -0
  212. package/src/connection/ConnectionLockHandler.ts +105 -0
  213. package/src/connection/ConnectionManager.ts +676 -0
  214. package/src/connection/ConnectivityChecker.ts +173 -0
  215. package/src/connection/Handshaker.ts +92 -0
  216. package/src/connection/IConnection.ts +47 -0
  217. package/src/connection/IConnectionSource.ts +6 -0
  218. package/src/connection/ManagedConnection.ts +398 -0
  219. package/src/connection/ManagedWebRtcConnection.ts +27 -0
  220. package/src/connection/RemoteConnectionLocker.ts +88 -0
  221. package/src/connection/Simulator/Simulator.ts +399 -0
  222. package/src/connection/Simulator/SimulatorConnection.ts +137 -0
  223. package/src/connection/Simulator/SimulatorConnector.ts +104 -0
  224. package/src/connection/Simulator/SimulatorTransport.ts +9 -0
  225. package/src/connection/Simulator/pings.ts +42 -0
  226. package/src/connection/WebRTC/BrowserWebRtcConnection.ts +227 -0
  227. package/src/connection/WebRTC/IWebRtcConnection.ts +24 -0
  228. package/src/connection/WebRTC/NodeWebRtcConnection.ts +256 -0
  229. package/src/connection/WebRTC/RemoteWebrtcConnector.ts +93 -0
  230. package/src/connection/WebRTC/WebRtcConnector.ts +306 -0
  231. package/src/connection/WebRTC/iceServerAsString.ts +15 -0
  232. package/src/connection/WebSocket/ClientWebSocket.ts +118 -0
  233. package/src/connection/WebSocket/RemoteWebSocketConnector.ts +49 -0
  234. package/src/connection/WebSocket/ServerWebSocket.ts +119 -0
  235. package/src/connection/WebSocket/WebSocketConnector.ts +264 -0
  236. package/src/connection/WebSocket/WebSocketServer.ts +97 -0
  237. package/src/dht/DhtNode.ts +776 -0
  238. package/src/dht/DhtPeer.ts +96 -0
  239. package/src/dht/ExternalApi.ts +29 -0
  240. package/src/dht/RemoteExternalApi.ts +25 -0
  241. package/src/dht/contact/Contact.ts +36 -0
  242. package/src/dht/contact/RandomContactList.ts +92 -0
  243. package/src/dht/contact/Remote.ts +40 -0
  244. package/src/dht/contact/SortedContactList.ts +196 -0
  245. package/src/dht/discovery/DiscoverySession.ts +150 -0
  246. package/src/dht/discovery/PeerDiscovery.ts +162 -0
  247. package/src/dht/find/RecursiveFindSession.ts +178 -0
  248. package/src/dht/find/RecursiveFinder.ts +272 -0
  249. package/src/dht/find/RemoteRecursiveFindSession.ts +33 -0
  250. package/src/dht/routing/DuplicateDetector.ts +53 -0
  251. package/src/dht/routing/RemoteRouter.ts +115 -0
  252. package/src/dht/routing/Router.ts +266 -0
  253. package/src/dht/routing/RoutingSession.ts +222 -0
  254. package/src/dht/store/DataStore.ts +321 -0
  255. package/src/dht/store/LocalDataStore.ts +114 -0
  256. package/src/dht/store/RemoteStore.ts +58 -0
  257. package/src/exports.ts +19 -0
  258. package/src/helpers/AddressTools.ts +26 -0
  259. package/src/helpers/PeerID.ts +95 -0
  260. package/src/helpers/UUID.ts +30 -0
  261. package/src/helpers/debugHelpers.ts +9 -0
  262. package/src/helpers/errors.ts +49 -0
  263. package/src/helpers/peerIdFromPeerDescriptor.ts +14 -0
  264. package/src/helpers/protoClasses.ts +63 -0
  265. package/src/helpers/protoToString.ts +21 -0
  266. package/src/proto/google/protobuf/any.ts +319 -0
  267. package/src/proto/google/protobuf/empty.ts +84 -0
  268. package/src/proto/google/protobuf/timestamp.ts +281 -0
  269. package/src/proto/packages/dht/protos/DhtRpc.client.ts +373 -0
  270. package/src/proto/packages/dht/protos/DhtRpc.server.ts +148 -0
  271. package/src/proto/packages/dht/protos/DhtRpc.ts +1399 -0
  272. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +108 -0
  273. package/src/proto/tests.ts +52 -0
  274. package/src/rpc-protocol/DhtCallContext.ts +15 -0
  275. package/src/rpc-protocol/DhtRpcOptions.ts +9 -0
  276. package/src/transport/ITransport.ts +31 -0
  277. package/src/transport/ListeningRpcCommunicator.ts +14 -0
  278. package/src/transport/RoutingRpcCommunicator.ts +59 -0
  279. package/src/types/glogal.d.ts +1 -0
  280. package/src/types/textencoding.d.ts +7 -0
  281. package/test/RandomGraphSimulation.ts +52 -0
  282. package/test/benchmark/KademliaCorrectness.test.ts +115 -0
  283. package/test/benchmark/RecursiveFind.test.ts +87 -0
  284. package/test/benchmark/any.test.ts +28 -0
  285. package/test/benchmark/kademlia-simulation/Contact.ts +32 -0
  286. package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +94 -0
  287. package/test/benchmark/kademlia-simulation/SimulationNode.ts +125 -0
  288. package/test/data/generateGroundTruthData.ts +70 -0
  289. package/test/end-to-end/Layer0-Layer1.test.ts +87 -0
  290. package/test/end-to-end/Layer0.test.ts +60 -0
  291. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +94 -0
  292. package/test/end-to-end/Layer0WebRTC-Layer1.test.ts +134 -0
  293. package/test/end-to-end/Layer0WebRTC.test.ts +98 -0
  294. package/test/end-to-end/Layer1-Scale-WebRTC.test.ts +69 -0
  295. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +73 -0
  296. package/test/end-to-end/WebSocketConnectionRequest.test.ts +62 -0
  297. package/test/integration/ConnectionLocking.test.ts +166 -0
  298. package/test/integration/ConnectionManager.test.ts +291 -0
  299. package/test/integration/DhtNodeExternalAPI.test.ts +43 -0
  300. package/test/integration/DhtPeer.test.ts +73 -0
  301. package/test/integration/DhtRpc.test.ts +131 -0
  302. package/test/integration/DhtWithMockConnectionLatencies.test.ts +46 -0
  303. package/test/integration/DhtWithMockConnections.test.ts +46 -0
  304. package/test/integration/DhtWithRealConnectionLatencies.test.ts +47 -0
  305. package/test/integration/Layer1-scale.test.ts +200 -0
  306. package/test/integration/MigrateData.test.ts +203 -0
  307. package/test/integration/Mock-Layer1-Layer0.test.ts +106 -0
  308. package/test/integration/MultipleEntryPointJoining.test.ts +105 -0
  309. package/test/integration/RecursiveFind.test.ts +50 -0
  310. package/test/integration/RemoteRouter.test.ts +83 -0
  311. package/test/integration/RemoteStore.test.ts +66 -0
  312. package/test/integration/RouteMessage.test.ts +254 -0
  313. package/test/integration/RpcErrors.test.ts +153 -0
  314. package/test/integration/ScaleDownDht.test.ts +66 -0
  315. package/test/integration/SimultaneousConnections.test.ts +308 -0
  316. package/test/integration/Store.test.ts +72 -0
  317. package/test/integration/StoreAndDelete.test.ts +93 -0
  318. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +71 -0
  319. package/test/integration/WebRtcConnectionManagement.test.ts +205 -0
  320. package/test/integration/WebRtcConnectorRpc.test.ts +145 -0
  321. package/test/integration/WebSocket.test.ts +64 -0
  322. package/test/integration/WebSocketConnectionManagement.test.ts +131 -0
  323. package/test/integration/WebSocketConnectorRpc.test.ts +86 -0
  324. package/test/kademlia-simulation/data/nodeids.json +13002 -0
  325. package/test/kademlia-simulation/data/orderedneighbors.json +1001 -0
  326. package/test/unit/AddressTools.test.ts +40 -0
  327. package/test/unit/DuplicateDetector.test.ts +29 -0
  328. package/test/unit/LocalDataStore.test.ts +107 -0
  329. package/test/unit/PeerID.test.ts +22 -0
  330. package/test/unit/ProtobufMessage.test.ts +21 -0
  331. package/test/unit/RandomContactList.test.ts +87 -0
  332. package/test/unit/RecursiveFinder.test.ts +112 -0
  333. package/test/unit/Router.test.ts +124 -0
  334. package/test/unit/SortedContactList.test.ts +127 -0
  335. package/test/unit/UUID.test.ts +49 -0
  336. package/test/unit/WebSocketServer.test.ts +42 -0
  337. package/test/utils/mock/RecursiveFinder.ts +19 -0
  338. package/test/utils/mock/Router.ts +53 -0
  339. package/test/utils/mock/Transport.ts +26 -0
  340. package/test/utils/utils.ts +311 -0
  341. package/tsconfig.browser.json +15 -0
  342. package/tsconfig.jest.json +19 -0
  343. package/tsconfig.json +3 -0
  344. package/tsconfig.node.json +18 -0
@@ -0,0 +1,320 @@
1
+ import type { FindDataResponse } from "./DhtRpc";
2
+ import type { FindDataRequest } from "./DhtRpc";
3
+ import type { DisconnectNoticeResponse } from "./DhtRpc";
4
+ import type { DisconnectNotice } from "./DhtRpc";
5
+ import type { UnlockRequest } from "./DhtRpc";
6
+ import type { LockResponse } from "./DhtRpc";
7
+ import type { LockRequest } from "./DhtRpc";
8
+ import type { IceCandidate } from "./DhtRpc";
9
+ import type { RtcAnswer } from "./DhtRpc";
10
+ import type { RtcOffer } from "./DhtRpc";
11
+ import type { WebRtcConnectionRequest } from "./DhtRpc";
12
+ import type { WebSocketConnectionResponse } from "./DhtRpc";
13
+ import type { WebSocketConnectionRequest } from "./DhtRpc";
14
+ import type { RecursiveFindReport } from "./DhtRpc";
15
+ import type { DeleteDataResponse } from "./DhtRpc";
16
+ import type { DeleteDataRequest } from "./DhtRpc";
17
+ import type { MigrateDataResponse } from "./DhtRpc";
18
+ import type { MigrateDataRequest } from "./DhtRpc";
19
+ import type { StoreDataResponse } from "./DhtRpc";
20
+ import type { StoreDataRequest } from "./DhtRpc";
21
+ import type { RouteMessageAck } from "./DhtRpc";
22
+ import type { RouteMessageWrapper } from "./DhtRpc";
23
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
24
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
25
+ import type { Empty } from "../../../google/protobuf/empty";
26
+ import type { LeaveNotice } from "./DhtRpc";
27
+ import type { PingResponse } from "./DhtRpc";
28
+ import type { PingRequest } from "./DhtRpc";
29
+ import type { ClosestPeersResponse } from "./DhtRpc";
30
+ import type { ClosestPeersRequest } from "./DhtRpc";
31
+ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
32
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
33
+ /**
34
+ * @generated from protobuf service dht.DhtRpcService
35
+ */
36
+ export interface IDhtRpcServiceClient {
37
+ /**
38
+ * @generated from protobuf rpc: getClosestPeers(dht.ClosestPeersRequest) returns (dht.ClosestPeersResponse);
39
+ */
40
+ getClosestPeers(input: ClosestPeersRequest, options?: RpcOptions): UnaryCall<ClosestPeersRequest, ClosestPeersResponse>;
41
+ /**
42
+ * @generated from protobuf rpc: ping(dht.PingRequest) returns (dht.PingResponse);
43
+ */
44
+ ping(input: PingRequest, options?: RpcOptions): UnaryCall<PingRequest, PingResponse>;
45
+ /**
46
+ * @generated from protobuf rpc: leaveNotice(dht.LeaveNotice) returns (google.protobuf.Empty);
47
+ */
48
+ leaveNotice(input: LeaveNotice, options?: RpcOptions): UnaryCall<LeaveNotice, Empty>;
49
+ }
50
+ /**
51
+ * @generated from protobuf service dht.DhtRpcService
52
+ */
53
+ export declare class DhtRpcServiceClient implements IDhtRpcServiceClient, ServiceInfo {
54
+ private readonly _transport;
55
+ typeName: string;
56
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
57
+ options: {
58
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
59
+ };
60
+ constructor(_transport: RpcTransport);
61
+ /**
62
+ * @generated from protobuf rpc: getClosestPeers(dht.ClosestPeersRequest) returns (dht.ClosestPeersResponse);
63
+ */
64
+ getClosestPeers(input: ClosestPeersRequest, options?: RpcOptions): UnaryCall<ClosestPeersRequest, ClosestPeersResponse>;
65
+ /**
66
+ * @generated from protobuf rpc: ping(dht.PingRequest) returns (dht.PingResponse);
67
+ */
68
+ ping(input: PingRequest, options?: RpcOptions): UnaryCall<PingRequest, PingResponse>;
69
+ /**
70
+ * @generated from protobuf rpc: leaveNotice(dht.LeaveNotice) returns (google.protobuf.Empty);
71
+ */
72
+ leaveNotice(input: LeaveNotice, options?: RpcOptions): UnaryCall<LeaveNotice, Empty>;
73
+ }
74
+ /**
75
+ * @generated from protobuf service dht.RoutingService
76
+ */
77
+ export interface IRoutingServiceClient {
78
+ /**
79
+ * @generated from protobuf rpc: routeMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
80
+ */
81
+ routeMessage(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
82
+ /**
83
+ * @generated from protobuf rpc: forwardMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
84
+ */
85
+ forwardMessage(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
86
+ /**
87
+ * @generated from protobuf rpc: findRecursively(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
88
+ */
89
+ findRecursively(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
90
+ }
91
+ /**
92
+ * @generated from protobuf service dht.RoutingService
93
+ */
94
+ export declare class RoutingServiceClient implements IRoutingServiceClient, ServiceInfo {
95
+ private readonly _transport;
96
+ typeName: string;
97
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
98
+ options: {
99
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
100
+ };
101
+ constructor(_transport: RpcTransport);
102
+ /**
103
+ * @generated from protobuf rpc: routeMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
104
+ */
105
+ routeMessage(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
106
+ /**
107
+ * @generated from protobuf rpc: forwardMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
108
+ */
109
+ forwardMessage(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
110
+ /**
111
+ * @generated from protobuf rpc: findRecursively(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
112
+ */
113
+ findRecursively(input: RouteMessageWrapper, options?: RpcOptions): UnaryCall<RouteMessageWrapper, RouteMessageAck>;
114
+ }
115
+ /**
116
+ * @generated from protobuf service dht.StoreService
117
+ */
118
+ export interface IStoreServiceClient {
119
+ /**
120
+ * @generated from protobuf rpc: storeData(dht.StoreDataRequest) returns (dht.StoreDataResponse);
121
+ */
122
+ storeData(input: StoreDataRequest, options?: RpcOptions): UnaryCall<StoreDataRequest, StoreDataResponse>;
123
+ /**
124
+ * @generated from protobuf rpc: migrateData(dht.MigrateDataRequest) returns (dht.MigrateDataResponse);
125
+ */
126
+ migrateData(input: MigrateDataRequest, options?: RpcOptions): UnaryCall<MigrateDataRequest, MigrateDataResponse>;
127
+ /**
128
+ * @generated from protobuf rpc: deleteData(dht.DeleteDataRequest) returns (dht.DeleteDataResponse);
129
+ */
130
+ deleteData(input: DeleteDataRequest, options?: RpcOptions): UnaryCall<DeleteDataRequest, DeleteDataResponse>;
131
+ }
132
+ /**
133
+ * @generated from protobuf service dht.StoreService
134
+ */
135
+ export declare class StoreServiceClient implements IStoreServiceClient, ServiceInfo {
136
+ private readonly _transport;
137
+ typeName: string;
138
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
139
+ options: {
140
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
141
+ };
142
+ constructor(_transport: RpcTransport);
143
+ /**
144
+ * @generated from protobuf rpc: storeData(dht.StoreDataRequest) returns (dht.StoreDataResponse);
145
+ */
146
+ storeData(input: StoreDataRequest, options?: RpcOptions): UnaryCall<StoreDataRequest, StoreDataResponse>;
147
+ /**
148
+ * @generated from protobuf rpc: migrateData(dht.MigrateDataRequest) returns (dht.MigrateDataResponse);
149
+ */
150
+ migrateData(input: MigrateDataRequest, options?: RpcOptions): UnaryCall<MigrateDataRequest, MigrateDataResponse>;
151
+ /**
152
+ * @generated from protobuf rpc: deleteData(dht.DeleteDataRequest) returns (dht.DeleteDataResponse);
153
+ */
154
+ deleteData(input: DeleteDataRequest, options?: RpcOptions): UnaryCall<DeleteDataRequest, DeleteDataResponse>;
155
+ }
156
+ /**
157
+ * @generated from protobuf service dht.RecursiveFindSessionService
158
+ */
159
+ export interface IRecursiveFindSessionServiceClient {
160
+ /**
161
+ * @generated from protobuf rpc: reportRecursiveFindResult(dht.RecursiveFindReport) returns (google.protobuf.Empty);
162
+ */
163
+ reportRecursiveFindResult(input: RecursiveFindReport, options?: RpcOptions): UnaryCall<RecursiveFindReport, Empty>;
164
+ }
165
+ /**
166
+ * @generated from protobuf service dht.RecursiveFindSessionService
167
+ */
168
+ export declare class RecursiveFindSessionServiceClient implements IRecursiveFindSessionServiceClient, ServiceInfo {
169
+ private readonly _transport;
170
+ typeName: string;
171
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
172
+ options: {
173
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
174
+ };
175
+ constructor(_transport: RpcTransport);
176
+ /**
177
+ * @generated from protobuf rpc: reportRecursiveFindResult(dht.RecursiveFindReport) returns (google.protobuf.Empty);
178
+ */
179
+ reportRecursiveFindResult(input: RecursiveFindReport, options?: RpcOptions): UnaryCall<RecursiveFindReport, Empty>;
180
+ }
181
+ /**
182
+ * @generated from protobuf service dht.WebSocketConnectorService
183
+ */
184
+ export interface IWebSocketConnectorServiceClient {
185
+ /**
186
+ * @generated from protobuf rpc: requestConnection(dht.WebSocketConnectionRequest) returns (dht.WebSocketConnectionResponse);
187
+ */
188
+ requestConnection(input: WebSocketConnectionRequest, options?: RpcOptions): UnaryCall<WebSocketConnectionRequest, WebSocketConnectionResponse>;
189
+ }
190
+ /**
191
+ * @generated from protobuf service dht.WebSocketConnectorService
192
+ */
193
+ export declare class WebSocketConnectorServiceClient implements IWebSocketConnectorServiceClient, ServiceInfo {
194
+ private readonly _transport;
195
+ typeName: string;
196
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
197
+ options: {
198
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
199
+ };
200
+ constructor(_transport: RpcTransport);
201
+ /**
202
+ * @generated from protobuf rpc: requestConnection(dht.WebSocketConnectionRequest) returns (dht.WebSocketConnectionResponse);
203
+ */
204
+ requestConnection(input: WebSocketConnectionRequest, options?: RpcOptions): UnaryCall<WebSocketConnectionRequest, WebSocketConnectionResponse>;
205
+ }
206
+ /**
207
+ * @generated from protobuf service dht.WebRtcConnectorService
208
+ */
209
+ export interface IWebRtcConnectorServiceClient {
210
+ /**
211
+ * @generated from protobuf rpc: requestConnection(dht.WebRtcConnectionRequest) returns (google.protobuf.Empty);
212
+ */
213
+ requestConnection(input: WebRtcConnectionRequest, options?: RpcOptions): UnaryCall<WebRtcConnectionRequest, Empty>;
214
+ /**
215
+ * @generated from protobuf rpc: rtcOffer(dht.RtcOffer) returns (google.protobuf.Empty);
216
+ */
217
+ rtcOffer(input: RtcOffer, options?: RpcOptions): UnaryCall<RtcOffer, Empty>;
218
+ /**
219
+ * @generated from protobuf rpc: rtcAnswer(dht.RtcAnswer) returns (google.protobuf.Empty);
220
+ */
221
+ rtcAnswer(input: RtcAnswer, options?: RpcOptions): UnaryCall<RtcAnswer, Empty>;
222
+ /**
223
+ * @generated from protobuf rpc: iceCandidate(dht.IceCandidate) returns (google.protobuf.Empty);
224
+ */
225
+ iceCandidate(input: IceCandidate, options?: RpcOptions): UnaryCall<IceCandidate, Empty>;
226
+ }
227
+ /**
228
+ * @generated from protobuf service dht.WebRtcConnectorService
229
+ */
230
+ export declare class WebRtcConnectorServiceClient implements IWebRtcConnectorServiceClient, ServiceInfo {
231
+ private readonly _transport;
232
+ typeName: string;
233
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
234
+ options: {
235
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
236
+ };
237
+ constructor(_transport: RpcTransport);
238
+ /**
239
+ * @generated from protobuf rpc: requestConnection(dht.WebRtcConnectionRequest) returns (google.protobuf.Empty);
240
+ */
241
+ requestConnection(input: WebRtcConnectionRequest, options?: RpcOptions): UnaryCall<WebRtcConnectionRequest, Empty>;
242
+ /**
243
+ * @generated from protobuf rpc: rtcOffer(dht.RtcOffer) returns (google.protobuf.Empty);
244
+ */
245
+ rtcOffer(input: RtcOffer, options?: RpcOptions): UnaryCall<RtcOffer, Empty>;
246
+ /**
247
+ * @generated from protobuf rpc: rtcAnswer(dht.RtcAnswer) returns (google.protobuf.Empty);
248
+ */
249
+ rtcAnswer(input: RtcAnswer, options?: RpcOptions): UnaryCall<RtcAnswer, Empty>;
250
+ /**
251
+ * @generated from protobuf rpc: iceCandidate(dht.IceCandidate) returns (google.protobuf.Empty);
252
+ */
253
+ iceCandidate(input: IceCandidate, options?: RpcOptions): UnaryCall<IceCandidate, Empty>;
254
+ }
255
+ /**
256
+ * @generated from protobuf service dht.ConnectionLocker
257
+ */
258
+ export interface IConnectionLockerClient {
259
+ /**
260
+ * @generated from protobuf rpc: lockRequest(dht.LockRequest) returns (dht.LockResponse);
261
+ */
262
+ lockRequest(input: LockRequest, options?: RpcOptions): UnaryCall<LockRequest, LockResponse>;
263
+ /**
264
+ * @generated from protobuf rpc: unlockRequest(dht.UnlockRequest) returns (google.protobuf.Empty);
265
+ */
266
+ unlockRequest(input: UnlockRequest, options?: RpcOptions): UnaryCall<UnlockRequest, Empty>;
267
+ /**
268
+ * @generated from protobuf rpc: gracefulDisconnect(dht.DisconnectNotice) returns (dht.DisconnectNoticeResponse);
269
+ */
270
+ gracefulDisconnect(input: DisconnectNotice, options?: RpcOptions): UnaryCall<DisconnectNotice, DisconnectNoticeResponse>;
271
+ }
272
+ /**
273
+ * @generated from protobuf service dht.ConnectionLocker
274
+ */
275
+ export declare class ConnectionLockerClient implements IConnectionLockerClient, ServiceInfo {
276
+ private readonly _transport;
277
+ typeName: string;
278
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
279
+ options: {
280
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
281
+ };
282
+ constructor(_transport: RpcTransport);
283
+ /**
284
+ * @generated from protobuf rpc: lockRequest(dht.LockRequest) returns (dht.LockResponse);
285
+ */
286
+ lockRequest(input: LockRequest, options?: RpcOptions): UnaryCall<LockRequest, LockResponse>;
287
+ /**
288
+ * @generated from protobuf rpc: unlockRequest(dht.UnlockRequest) returns (google.protobuf.Empty);
289
+ */
290
+ unlockRequest(input: UnlockRequest, options?: RpcOptions): UnaryCall<UnlockRequest, Empty>;
291
+ /**
292
+ * @generated from protobuf rpc: gracefulDisconnect(dht.DisconnectNotice) returns (dht.DisconnectNoticeResponse);
293
+ */
294
+ gracefulDisconnect(input: DisconnectNotice, options?: RpcOptions): UnaryCall<DisconnectNotice, DisconnectNoticeResponse>;
295
+ }
296
+ /**
297
+ * @generated from protobuf service dht.ExternalApiService
298
+ */
299
+ export interface IExternalApiServiceClient {
300
+ /**
301
+ * @generated from protobuf rpc: findData(dht.FindDataRequest) returns (dht.FindDataResponse);
302
+ */
303
+ findData(input: FindDataRequest, options?: RpcOptions): UnaryCall<FindDataRequest, FindDataResponse>;
304
+ }
305
+ /**
306
+ * @generated from protobuf service dht.ExternalApiService
307
+ */
308
+ export declare class ExternalApiServiceClient implements IExternalApiServiceClient, ServiceInfo {
309
+ private readonly _transport;
310
+ typeName: string;
311
+ methods: import("@protobuf-ts/runtime-rpc").MethodInfo<any, any>[];
312
+ options: {
313
+ [extensionName: string]: import("@protobuf-ts/runtime").JsonValue;
314
+ };
315
+ constructor(_transport: RpcTransport);
316
+ /**
317
+ * @generated from protobuf rpc: findData(dht.FindDataRequest) returns (dht.FindDataResponse);
318
+ */
319
+ findData(input: FindDataRequest, options?: RpcOptions): UnaryCall<FindDataRequest, FindDataResponse>;
320
+ }
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExternalApiServiceClient = exports.ConnectionLockerClient = exports.WebRtcConnectorServiceClient = exports.WebSocketConnectorServiceClient = exports.RecursiveFindSessionServiceClient = exports.StoreServiceClient = exports.RoutingServiceClient = exports.DhtRpcServiceClient = void 0;
4
+ // @generated by protobuf-ts 2.8.2 with parameter server_generic,generate_dependencies,long_type_number
5
+ // @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
6
+ // tslint:disable
7
+ const DhtRpc_1 = require("./DhtRpc");
8
+ const DhtRpc_2 = require("./DhtRpc");
9
+ const DhtRpc_3 = require("./DhtRpc");
10
+ const DhtRpc_4 = require("./DhtRpc");
11
+ const DhtRpc_5 = require("./DhtRpc");
12
+ const DhtRpc_6 = require("./DhtRpc");
13
+ const DhtRpc_7 = require("./DhtRpc");
14
+ const DhtRpc_8 = require("./DhtRpc");
15
+ const runtime_rpc_1 = require("@protobuf-ts/runtime-rpc");
16
+ /**
17
+ * @generated from protobuf service dht.DhtRpcService
18
+ */
19
+ class DhtRpcServiceClient {
20
+ constructor(_transport) {
21
+ this._transport = _transport;
22
+ this.typeName = DhtRpc_8.DhtRpcService.typeName;
23
+ this.methods = DhtRpc_8.DhtRpcService.methods;
24
+ this.options = DhtRpc_8.DhtRpcService.options;
25
+ }
26
+ /**
27
+ * @generated from protobuf rpc: getClosestPeers(dht.ClosestPeersRequest) returns (dht.ClosestPeersResponse);
28
+ */
29
+ getClosestPeers(input, options) {
30
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
31
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
32
+ }
33
+ /**
34
+ * @generated from protobuf rpc: ping(dht.PingRequest) returns (dht.PingResponse);
35
+ */
36
+ ping(input, options) {
37
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
38
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
39
+ }
40
+ /**
41
+ * @generated from protobuf rpc: leaveNotice(dht.LeaveNotice) returns (google.protobuf.Empty);
42
+ */
43
+ leaveNotice(input, options) {
44
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
45
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
46
+ }
47
+ }
48
+ exports.DhtRpcServiceClient = DhtRpcServiceClient;
49
+ /**
50
+ * @generated from protobuf service dht.RoutingService
51
+ */
52
+ class RoutingServiceClient {
53
+ constructor(_transport) {
54
+ this._transport = _transport;
55
+ this.typeName = DhtRpc_7.RoutingService.typeName;
56
+ this.methods = DhtRpc_7.RoutingService.methods;
57
+ this.options = DhtRpc_7.RoutingService.options;
58
+ }
59
+ /**
60
+ * @generated from protobuf rpc: routeMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
61
+ */
62
+ routeMessage(input, options) {
63
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
64
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
65
+ }
66
+ /**
67
+ * @generated from protobuf rpc: forwardMessage(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
68
+ */
69
+ forwardMessage(input, options) {
70
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
71
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
72
+ }
73
+ /**
74
+ * @generated from protobuf rpc: findRecursively(dht.RouteMessageWrapper) returns (dht.RouteMessageAck);
75
+ */
76
+ findRecursively(input, options) {
77
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
78
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
79
+ }
80
+ }
81
+ exports.RoutingServiceClient = RoutingServiceClient;
82
+ /**
83
+ * @generated from protobuf service dht.StoreService
84
+ */
85
+ class StoreServiceClient {
86
+ constructor(_transport) {
87
+ this._transport = _transport;
88
+ this.typeName = DhtRpc_6.StoreService.typeName;
89
+ this.methods = DhtRpc_6.StoreService.methods;
90
+ this.options = DhtRpc_6.StoreService.options;
91
+ }
92
+ /**
93
+ * @generated from protobuf rpc: storeData(dht.StoreDataRequest) returns (dht.StoreDataResponse);
94
+ */
95
+ storeData(input, options) {
96
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
97
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
98
+ }
99
+ /**
100
+ * @generated from protobuf rpc: migrateData(dht.MigrateDataRequest) returns (dht.MigrateDataResponse);
101
+ */
102
+ migrateData(input, options) {
103
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
104
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
105
+ }
106
+ /**
107
+ * @generated from protobuf rpc: deleteData(dht.DeleteDataRequest) returns (dht.DeleteDataResponse);
108
+ */
109
+ deleteData(input, options) {
110
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
111
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
112
+ }
113
+ }
114
+ exports.StoreServiceClient = StoreServiceClient;
115
+ /**
116
+ * @generated from protobuf service dht.RecursiveFindSessionService
117
+ */
118
+ class RecursiveFindSessionServiceClient {
119
+ constructor(_transport) {
120
+ this._transport = _transport;
121
+ this.typeName = DhtRpc_5.RecursiveFindSessionService.typeName;
122
+ this.methods = DhtRpc_5.RecursiveFindSessionService.methods;
123
+ this.options = DhtRpc_5.RecursiveFindSessionService.options;
124
+ }
125
+ /**
126
+ * @generated from protobuf rpc: reportRecursiveFindResult(dht.RecursiveFindReport) returns (google.protobuf.Empty);
127
+ */
128
+ reportRecursiveFindResult(input, options) {
129
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
130
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
131
+ }
132
+ }
133
+ exports.RecursiveFindSessionServiceClient = RecursiveFindSessionServiceClient;
134
+ /**
135
+ * @generated from protobuf service dht.WebSocketConnectorService
136
+ */
137
+ class WebSocketConnectorServiceClient {
138
+ constructor(_transport) {
139
+ this._transport = _transport;
140
+ this.typeName = DhtRpc_4.WebSocketConnectorService.typeName;
141
+ this.methods = DhtRpc_4.WebSocketConnectorService.methods;
142
+ this.options = DhtRpc_4.WebSocketConnectorService.options;
143
+ }
144
+ /**
145
+ * @generated from protobuf rpc: requestConnection(dht.WebSocketConnectionRequest) returns (dht.WebSocketConnectionResponse);
146
+ */
147
+ requestConnection(input, options) {
148
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
149
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
150
+ }
151
+ }
152
+ exports.WebSocketConnectorServiceClient = WebSocketConnectorServiceClient;
153
+ /**
154
+ * @generated from protobuf service dht.WebRtcConnectorService
155
+ */
156
+ class WebRtcConnectorServiceClient {
157
+ constructor(_transport) {
158
+ this._transport = _transport;
159
+ this.typeName = DhtRpc_3.WebRtcConnectorService.typeName;
160
+ this.methods = DhtRpc_3.WebRtcConnectorService.methods;
161
+ this.options = DhtRpc_3.WebRtcConnectorService.options;
162
+ }
163
+ /**
164
+ * @generated from protobuf rpc: requestConnection(dht.WebRtcConnectionRequest) returns (google.protobuf.Empty);
165
+ */
166
+ requestConnection(input, options) {
167
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
168
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
169
+ }
170
+ /**
171
+ * @generated from protobuf rpc: rtcOffer(dht.RtcOffer) returns (google.protobuf.Empty);
172
+ */
173
+ rtcOffer(input, options) {
174
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
175
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
176
+ }
177
+ /**
178
+ * @generated from protobuf rpc: rtcAnswer(dht.RtcAnswer) returns (google.protobuf.Empty);
179
+ */
180
+ rtcAnswer(input, options) {
181
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
182
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
183
+ }
184
+ /**
185
+ * @generated from protobuf rpc: iceCandidate(dht.IceCandidate) returns (google.protobuf.Empty);
186
+ */
187
+ iceCandidate(input, options) {
188
+ const method = this.methods[3], opt = this._transport.mergeOptions(options);
189
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
190
+ }
191
+ }
192
+ exports.WebRtcConnectorServiceClient = WebRtcConnectorServiceClient;
193
+ /**
194
+ * @generated from protobuf service dht.ConnectionLocker
195
+ */
196
+ class ConnectionLockerClient {
197
+ constructor(_transport) {
198
+ this._transport = _transport;
199
+ this.typeName = DhtRpc_2.ConnectionLocker.typeName;
200
+ this.methods = DhtRpc_2.ConnectionLocker.methods;
201
+ this.options = DhtRpc_2.ConnectionLocker.options;
202
+ }
203
+ /**
204
+ * @generated from protobuf rpc: lockRequest(dht.LockRequest) returns (dht.LockResponse);
205
+ */
206
+ lockRequest(input, options) {
207
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
208
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
209
+ }
210
+ /**
211
+ * @generated from protobuf rpc: unlockRequest(dht.UnlockRequest) returns (google.protobuf.Empty);
212
+ */
213
+ unlockRequest(input, options) {
214
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
215
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
216
+ }
217
+ /**
218
+ * @generated from protobuf rpc: gracefulDisconnect(dht.DisconnectNotice) returns (dht.DisconnectNoticeResponse);
219
+ */
220
+ gracefulDisconnect(input, options) {
221
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
222
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
223
+ }
224
+ }
225
+ exports.ConnectionLockerClient = ConnectionLockerClient;
226
+ /**
227
+ * @generated from protobuf service dht.ExternalApiService
228
+ */
229
+ class ExternalApiServiceClient {
230
+ constructor(_transport) {
231
+ this._transport = _transport;
232
+ this.typeName = DhtRpc_1.ExternalApiService.typeName;
233
+ this.methods = DhtRpc_1.ExternalApiService.methods;
234
+ this.options = DhtRpc_1.ExternalApiService.options;
235
+ }
236
+ /**
237
+ * @generated from protobuf rpc: findData(dht.FindDataRequest) returns (dht.FindDataResponse);
238
+ */
239
+ findData(input, options) {
240
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
241
+ return (0, runtime_rpc_1.stackIntercept)("unary", this._transport, method, opt, input);
242
+ }
243
+ }
244
+ exports.ExternalApiServiceClient = ExternalApiServiceClient;
245
+ //# sourceMappingURL=DhtRpc.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DhtRpc.client.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.client.ts"],"names":[],"mappings":"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"}