@streamr/dht 100.0.0-pretestnet.6 → 100.0.0-rc.1

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 (444) hide show
  1. package/README.md +90 -8
  2. package/dist/package.json +70 -0
  3. package/dist/src/connection/Connection.d.ts +1 -0
  4. package/dist/src/connection/Connection.js +10 -3
  5. package/dist/src/connection/Connection.js.map +1 -1
  6. package/dist/src/connection/ConnectionLockHandler.d.ts +14 -14
  7. package/dist/src/connection/ConnectionLockHandler.js +22 -16
  8. package/dist/src/connection/ConnectionLockHandler.js.map +1 -1
  9. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +3 -3
  10. package/dist/src/connection/ConnectionLockRpcLocal.js +7 -6
  11. package/dist/src/connection/ConnectionLockRpcLocal.js.map +1 -1
  12. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +4 -6
  13. package/dist/src/connection/ConnectionLockRpcRemote.js +10 -37
  14. package/dist/src/connection/ConnectionLockRpcRemote.js.map +1 -1
  15. package/dist/src/connection/ConnectionManager.d.ts +19 -20
  16. package/dist/src/connection/ConnectionManager.js +132 -117
  17. package/dist/src/connection/ConnectionManager.js.map +1 -1
  18. package/dist/src/connection/ConnectorFacade.d.ts +3 -2
  19. package/dist/src/connection/ConnectorFacade.js +10 -3
  20. package/dist/src/connection/ConnectorFacade.js.map +1 -1
  21. package/dist/src/connection/Handshaker.d.ts +3 -1
  22. package/dist/src/connection/Handshaker.js +19 -10
  23. package/dist/src/connection/Handshaker.js.map +1 -1
  24. package/dist/src/connection/IConnection.d.ts +2 -7
  25. package/dist/src/connection/IConnection.js +1 -8
  26. package/dist/src/connection/IConnection.js.map +1 -1
  27. package/dist/src/connection/ManagedConnection.d.ts +5 -7
  28. package/dist/src/connection/ManagedConnection.js +42 -26
  29. package/dist/src/connection/ManagedConnection.js.map +1 -1
  30. package/dist/src/connection/ManagedWebrtcConnection.js.map +1 -1
  31. package/dist/src/connection/connectivityChecker.d.ts +9 -0
  32. package/dist/src/connection/connectivityChecker.js +130 -0
  33. package/dist/src/connection/connectivityChecker.js.map +1 -0
  34. package/dist/src/connection/connectivityRequestHandler.d.ts +3 -0
  35. package/dist/src/connection/connectivityRequestHandler.js +101 -0
  36. package/dist/src/connection/connectivityRequestHandler.js.map +1 -0
  37. package/dist/src/connection/simulator/Simulator.d.ts +0 -3
  38. package/dist/src/connection/simulator/Simulator.js +34 -69
  39. package/dist/src/connection/simulator/Simulator.js.map +1 -1
  40. package/dist/src/connection/simulator/SimulatorConnection.js +27 -25
  41. package/dist/src/connection/simulator/SimulatorConnection.js.map +1 -1
  42. package/dist/src/connection/simulator/SimulatorConnector.js +16 -12
  43. package/dist/src/connection/simulator/SimulatorConnector.js.map +1 -1
  44. package/dist/src/connection/simulator/pings.js.map +1 -1
  45. package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +2 -3
  46. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +40 -27
  47. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +1 -1
  48. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +1 -2
  49. package/dist/src/connection/webrtc/WebrtcConnector.js +36 -32
  50. package/dist/src/connection/webrtc/WebrtcConnector.js.map +1 -1
  51. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +4 -2
  52. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +28 -22
  53. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +1 -1
  54. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +3 -6
  55. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +2 -5
  56. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +1 -1
  57. package/dist/src/connection/webrtc/iceServerAsString.js +1 -1
  58. package/dist/src/connection/webrtc/iceServerAsString.js.map +1 -1
  59. package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +1 -2
  60. package/dist/src/connection/websocket/AutoCertifierClientFacade.js +6 -4
  61. package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +1 -1
  62. package/dist/src/connection/websocket/ClientWebsocket.d.ts +1 -0
  63. package/dist/src/connection/websocket/ClientWebsocket.js +14 -7
  64. package/dist/src/connection/websocket/ClientWebsocket.js.map +1 -1
  65. package/dist/src/connection/websocket/WebsocketConnector.d.ts +3 -9
  66. package/dist/src/connection/websocket/WebsocketConnector.js +142 -74
  67. package/dist/src/connection/websocket/WebsocketConnector.js.map +1 -1
  68. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.d.ts +5 -3
  69. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js +9 -12
  70. package/dist/src/connection/websocket/WebsocketConnectorRpcLocal.js.map +1 -1
  71. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.d.ts +4 -7
  72. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js +7 -44
  73. package/dist/src/connection/websocket/WebsocketConnectorRpcRemote.js.map +1 -1
  74. package/dist/src/connection/websocket/WebsocketServer.d.ts +1 -4
  75. package/dist/src/connection/websocket/WebsocketServer.js +49 -40
  76. package/dist/src/connection/websocket/WebsocketServer.js.map +1 -1
  77. package/dist/src/connection/websocket/{ServerWebsocket.d.ts → WebsocketServerConnection.d.ts} +8 -4
  78. package/dist/src/connection/websocket/WebsocketServerConnection.js +97 -0
  79. package/dist/src/connection/websocket/WebsocketServerConnection.js.map +1 -0
  80. package/dist/src/dht/DhtNode.d.ts +45 -49
  81. package/dist/src/dht/DhtNode.js +229 -317
  82. package/dist/src/dht/DhtNode.js.map +1 -1
  83. package/dist/src/dht/DhtNodeRpcLocal.d.ts +10 -9
  84. package/dist/src/dht/DhtNodeRpcLocal.js +19 -11
  85. package/dist/src/dht/DhtNodeRpcLocal.js.map +1 -1
  86. package/dist/src/dht/DhtNodeRpcRemote.d.ts +15 -10
  87. package/dist/src/dht/DhtNodeRpcRemote.js +38 -21
  88. package/dist/src/dht/DhtNodeRpcRemote.js.map +1 -1
  89. package/dist/src/dht/ExternalApiRpcLocal.d.ts +7 -6
  90. package/dist/src/dht/ExternalApiRpcLocal.js +9 -13
  91. package/dist/src/dht/ExternalApiRpcLocal.js.map +1 -1
  92. package/dist/src/dht/ExternalApiRpcRemote.d.ts +6 -5
  93. package/dist/src/dht/ExternalApiRpcRemote.js +10 -7
  94. package/dist/src/dht/ExternalApiRpcRemote.js.map +1 -1
  95. package/dist/src/dht/PeerManager.d.ts +61 -0
  96. package/dist/src/dht/PeerManager.js +288 -0
  97. package/dist/src/dht/PeerManager.js.map +1 -0
  98. package/dist/src/dht/contact/Contact.d.ts +2 -2
  99. package/dist/src/dht/contact/Contact.js +4 -3
  100. package/dist/src/dht/contact/Contact.js.map +1 -1
  101. package/dist/src/dht/contact/ContactList.d.ts +8 -8
  102. package/dist/src/dht/contact/ContactList.js +12 -7
  103. package/dist/src/dht/contact/ContactList.js.map +1 -1
  104. package/dist/src/dht/contact/RandomContactList.d.ts +4 -4
  105. package/dist/src/dht/contact/RandomContactList.js +13 -12
  106. package/dist/src/dht/contact/RandomContactList.js.map +1 -1
  107. package/dist/src/dht/contact/RingContactList.d.ts +31 -0
  108. package/dist/src/dht/contact/RingContactList.js +133 -0
  109. package/dist/src/dht/contact/RingContactList.js.map +1 -0
  110. package/dist/src/dht/contact/{Remote.d.ts → RpcRemote.d.ts} +8 -7
  111. package/dist/src/dht/contact/{Remote.js → RpcRemote.js} +16 -13
  112. package/dist/src/dht/contact/RpcRemote.js.map +1 -0
  113. package/dist/src/dht/contact/SortedContactList.d.ts +29 -15
  114. package/dist/src/dht/contact/SortedContactList.js +79 -42
  115. package/dist/src/dht/contact/SortedContactList.js.map +1 -1
  116. package/dist/src/dht/contact/ringIdentifiers.d.ts +16 -0
  117. package/dist/src/dht/contact/ringIdentifiers.js +54 -0
  118. package/dist/src/dht/contact/ringIdentifiers.js.map +1 -0
  119. package/dist/src/dht/discovery/DiscoverySession.d.ts +8 -18
  120. package/dist/src/dht/discovery/DiscoverySession.js +32 -48
  121. package/dist/src/dht/discovery/DiscoverySession.js.map +1 -1
  122. package/dist/src/dht/discovery/PeerDiscovery.d.ts +16 -12
  123. package/dist/src/dht/discovery/PeerDiscovery.js +82 -39
  124. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  125. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +29 -0
  126. package/dist/src/dht/discovery/RingDiscoverySession.js +123 -0
  127. package/dist/src/dht/discovery/RingDiscoverySession.js.map +1 -0
  128. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +36 -0
  129. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +166 -0
  130. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +1 -0
  131. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +14 -0
  132. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +26 -0
  133. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +1 -0
  134. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +6 -0
  135. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +44 -0
  136. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +1 -0
  137. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +44 -0
  138. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +187 -0
  139. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +1 -0
  140. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +14 -0
  141. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +20 -0
  142. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +1 -0
  143. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +6 -0
  144. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js +21 -0
  145. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js.map +1 -0
  146. package/dist/src/dht/routing/DuplicateDetector.d.ts +2 -4
  147. package/dist/src/dht/routing/DuplicateDetector.js +10 -15
  148. package/dist/src/dht/routing/DuplicateDetector.js.map +1 -1
  149. package/dist/src/dht/routing/Router.d.ts +11 -27
  150. package/dist/src/dht/routing/Router.js +92 -58
  151. package/dist/src/dht/routing/Router.js.map +1 -1
  152. package/dist/src/dht/routing/RouterRpcLocal.d.ts +3 -4
  153. package/dist/src/dht/routing/RouterRpcLocal.js +17 -16
  154. package/dist/src/dht/routing/RouterRpcLocal.js.map +1 -1
  155. package/dist/src/dht/routing/RouterRpcRemote.d.ts +3 -3
  156. package/dist/src/dht/routing/RouterRpcRemote.js +29 -20
  157. package/dist/src/dht/routing/RouterRpcRemote.js.map +1 -1
  158. package/dist/src/dht/routing/RoutingSession.d.ts +29 -21
  159. package/dist/src/dht/routing/RoutingSession.js +93 -68
  160. package/dist/src/dht/routing/RoutingSession.js.map +1 -1
  161. package/dist/src/dht/routing/RoutingTablesCache.d.ts +24 -0
  162. package/dist/src/dht/routing/RoutingTablesCache.js +46 -0
  163. package/dist/src/dht/routing/RoutingTablesCache.js.map +1 -0
  164. package/dist/src/dht/routing/getPreviousPeer.js.map +1 -1
  165. package/dist/src/dht/store/LocalDataStore.d.ts +9 -14
  166. package/dist/src/dht/store/LocalDataStore.js +46 -72
  167. package/dist/src/dht/store/LocalDataStore.js.map +1 -1
  168. package/dist/src/dht/store/StoreManager.d.ts +33 -0
  169. package/dist/src/dht/store/StoreManager.js +182 -0
  170. package/dist/src/dht/store/StoreManager.js.map +1 -0
  171. package/dist/src/dht/store/StoreRpcLocal.d.ts +11 -41
  172. package/dist/src/dht/store/StoreRpcLocal.js +27 -234
  173. package/dist/src/dht/store/StoreRpcLocal.js.map +1 -1
  174. package/dist/src/dht/store/StoreRpcRemote.d.ts +6 -7
  175. package/dist/src/dht/store/StoreRpcRemote.js +10 -20
  176. package/dist/src/dht/store/StoreRpcRemote.js.map +1 -1
  177. package/dist/src/exports.d.ts +5 -3
  178. package/dist/src/exports.js +10 -8
  179. package/dist/src/exports.js.map +1 -1
  180. package/dist/src/helpers/AddressTools.js +2 -0
  181. package/dist/src/helpers/AddressTools.js.map +1 -1
  182. package/dist/src/helpers/Connectivity.js.map +1 -1
  183. package/dist/src/helpers/MapWithTtl.d.ts +14 -0
  184. package/dist/src/helpers/MapWithTtl.js +60 -0
  185. package/dist/src/helpers/MapWithTtl.js.map +1 -0
  186. package/dist/src/helpers/createPeerDescriptor.d.ts +3 -0
  187. package/dist/src/helpers/createPeerDescriptor.js +57 -0
  188. package/dist/src/helpers/createPeerDescriptor.js.map +1 -0
  189. package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +2 -0
  190. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +30 -0
  191. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +1 -0
  192. package/dist/src/helpers/debugHelpers.js.map +1 -1
  193. package/dist/src/helpers/errors.js +2 -0
  194. package/dist/src/helpers/errors.js.map +1 -1
  195. package/dist/src/helpers/offering.d.ts +4 -0
  196. package/dist/src/helpers/offering.js +18 -0
  197. package/dist/src/helpers/offering.js.map +1 -0
  198. package/dist/src/helpers/protoClasses.js +2 -3
  199. package/dist/src/helpers/protoClasses.js.map +1 -1
  200. package/dist/src/helpers/protoToString.js.map +1 -1
  201. package/dist/src/helpers/version.d.ts +6 -0
  202. package/dist/src/helpers/version.js +38 -0
  203. package/dist/src/helpers/version.js.map +1 -0
  204. package/dist/src/identifiers.d.ts +10 -0
  205. package/dist/src/identifiers.js +31 -0
  206. package/dist/src/identifiers.js.map +1 -0
  207. package/dist/src/proto/google/protobuf/any.js +8 -8
  208. package/dist/src/proto/google/protobuf/any.js.map +1 -1
  209. package/dist/src/proto/google/protobuf/empty.js +2 -4
  210. package/dist/src/proto/google/protobuf/empty.js.map +1 -1
  211. package/dist/src/proto/google/protobuf/timestamp.js +10 -10
  212. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
  213. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +46 -49
  214. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +63 -54
  215. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  216. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +226 -232
  217. package/dist/src/proto/packages/dht/protos/DhtRpc.js +146 -168
  218. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  219. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +26 -29
  220. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  221. package/dist/src/rpc-protocol/DhtCallContext.d.ts +2 -2
  222. package/dist/src/rpc-protocol/DhtCallContext.js +8 -0
  223. package/dist/src/rpc-protocol/DhtCallContext.js.map +1 -1
  224. package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +2 -1
  225. package/dist/src/transport/ITransport.d.ts +10 -2
  226. package/dist/src/transport/ITransport.js +5 -0
  227. package/dist/src/transport/ITransport.js.map +1 -1
  228. package/dist/src/transport/ListeningRpcCommunicator.js +3 -1
  229. package/dist/src/transport/ListeningRpcCommunicator.js.map +1 -1
  230. package/dist/src/transport/RoutingRpcCommunicator.d.ts +4 -2
  231. package/dist/src/transport/RoutingRpcCommunicator.js +19 -12
  232. package/dist/src/transport/RoutingRpcCommunicator.js.map +1 -1
  233. package/jest.config.js +4 -1
  234. package/karma-setup.js +2 -0
  235. package/karma.config.js +13 -9
  236. package/package.json +17 -14
  237. package/protos/DhtRpc.proto +76 -76
  238. package/src/connection/Connection.ts +6 -1
  239. package/src/connection/ConnectionLockHandler.ts +30 -22
  240. package/src/connection/ConnectionLockRpcLocal.ts +7 -12
  241. package/src/connection/ConnectionLockRpcRemote.ts +9 -19
  242. package/src/connection/ConnectionManager.ts +132 -138
  243. package/src/connection/ConnectorFacade.ts +10 -9
  244. package/src/connection/Handshaker.ts +24 -12
  245. package/src/connection/IConnection.ts +2 -8
  246. package/src/connection/ManagedConnection.ts +34 -35
  247. package/src/connection/connectivityChecker.ts +109 -0
  248. package/src/connection/connectivityRequestHandler.ts +103 -0
  249. package/src/connection/simulator/Simulator.ts +6 -37
  250. package/src/connection/simulator/SimulatorConnection.ts +23 -25
  251. package/src/connection/simulator/SimulatorConnector.ts +11 -11
  252. package/src/connection/webrtc/BrowserWebrtcConnection.ts +17 -25
  253. package/src/connection/webrtc/NodeWebrtcConnection.ts +25 -27
  254. package/src/connection/webrtc/WebrtcConnector.ts +31 -36
  255. package/src/connection/webrtc/WebrtcConnectorRpcLocal.ts +31 -25
  256. package/src/connection/webrtc/WebrtcConnectorRpcRemote.ts +4 -14
  257. package/src/connection/webrtc/iceServerAsString.ts +1 -1
  258. package/src/connection/websocket/AutoCertifierClientFacade.ts +4 -6
  259. package/src/connection/websocket/ClientWebsocket.ts +10 -4
  260. package/src/connection/websocket/WebsocketConnector.ts +120 -97
  261. package/src/connection/websocket/WebsocketConnectorRpcLocal.ts +13 -15
  262. package/src/connection/websocket/WebsocketConnectorRpcRemote.ts +7 -27
  263. package/src/connection/websocket/WebsocketServer.ts +50 -53
  264. package/src/connection/websocket/WebsocketServerConnection.ts +104 -0
  265. package/src/dht/DhtNode.ts +289 -410
  266. package/src/dht/DhtNodeRpcLocal.ts +25 -17
  267. package/src/dht/DhtNodeRpcRemote.ts +43 -27
  268. package/src/dht/ExternalApiRpcLocal.ts +30 -17
  269. package/src/dht/ExternalApiRpcRemote.ts +14 -11
  270. package/src/dht/PeerManager.ts +339 -0
  271. package/src/dht/contact/Contact.ts +4 -4
  272. package/src/dht/contact/ContactList.ts +11 -10
  273. package/src/dht/contact/RandomContactList.ts +15 -15
  274. package/src/dht/contact/RingContactList.ts +151 -0
  275. package/src/dht/contact/{Remote.ts → RpcRemote.ts} +16 -19
  276. package/src/dht/contact/SortedContactList.ts +120 -72
  277. package/src/dht/contact/ringIdentifiers.ts +62 -0
  278. package/src/dht/discovery/DiscoverySession.ts +36 -61
  279. package/src/dht/discovery/PeerDiscovery.ts +98 -43
  280. package/src/dht/discovery/RingDiscoverySession.ts +160 -0
  281. package/src/dht/recursive-operation/RecursiveOperationManager.ts +246 -0
  282. package/src/dht/recursive-operation/RecursiveOperationRpcLocal.ts +34 -0
  283. package/src/dht/recursive-operation/RecursiveOperationRpcRemote.ts +43 -0
  284. package/src/dht/recursive-operation/RecursiveOperationSession.ts +232 -0
  285. package/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.ts +35 -0
  286. package/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.ts +30 -0
  287. package/src/dht/routing/DuplicateDetector.ts +9 -21
  288. package/src/dht/routing/Router.ts +95 -92
  289. package/src/dht/routing/RouterRpcLocal.ts +16 -18
  290. package/src/dht/routing/RouterRpcRemote.ts +26 -24
  291. package/src/dht/routing/RoutingSession.ts +119 -98
  292. package/src/dht/routing/RoutingTablesCache.ts +58 -0
  293. package/src/dht/routing/getPreviousPeer.ts +1 -1
  294. package/src/dht/store/LocalDataStore.ts +47 -77
  295. package/src/dht/store/StoreManager.ts +209 -0
  296. package/src/dht/store/StoreRpcLocal.ts +39 -308
  297. package/src/dht/store/StoreRpcRemote.ts +13 -31
  298. package/src/exports.ts +13 -3
  299. package/src/helpers/AddressTools.ts +2 -0
  300. package/src/helpers/MapWithTtl.ts +71 -0
  301. package/src/helpers/createPeerDescriptor.ts +57 -0
  302. package/src/helpers/createPeerDescriptorSignaturePayload.ts +28 -0
  303. package/src/helpers/offering.ts +15 -0
  304. package/src/helpers/protoClasses.ts +4 -6
  305. package/src/helpers/version.ts +32 -0
  306. package/src/identifiers.ts +29 -0
  307. package/src/proto/google/protobuf/any.ts +4 -4
  308. package/src/proto/google/protobuf/empty.ts +2 -4
  309. package/src/proto/google/protobuf/timestamp.ts +4 -4
  310. package/src/proto/packages/dht/protos/DhtRpc.client.ts +65 -68
  311. package/src/proto/packages/dht/protos/DhtRpc.server.ts +27 -30
  312. package/src/proto/packages/dht/protos/DhtRpc.ts +297 -313
  313. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  314. package/src/rpc-protocol/DhtCallContext.ts +2 -2
  315. package/src/rpc-protocol/DhtRpcOptions.ts +2 -1
  316. package/src/transport/ITransport.ts +11 -2
  317. package/src/transport/ListeningRpcCommunicator.ts +1 -1
  318. package/src/transport/RoutingRpcCommunicator.ts +21 -14
  319. package/test/RandomGraphSimulation.ts +3 -2
  320. package/test/benchmark/Find.test.ts +13 -28
  321. package/test/benchmark/KademliaCorrectness.test.ts +24 -28
  322. package/test/benchmark/RingCorrectness.test.ts +157 -0
  323. package/test/benchmark/SortedContactListBenchmark.test.ts +151 -0
  324. package/test/benchmark/WebsocketServerMemoryLeak.test.ts +41 -0
  325. package/test/benchmark/hybrid-network-simulation/RingContactList.test.ts +72 -0
  326. package/test/benchmark/kademlia-simulation/Contact.ts +9 -9
  327. package/test/benchmark/kademlia-simulation/KademliaSimulation.ts +11 -11
  328. package/test/benchmark/kademlia-simulation/SimulationNode.ts +29 -25
  329. package/test/data/generateGroundTruthData.ts +7 -6
  330. package/test/end-to-end/Layer0-Layer1.test.ts +11 -15
  331. package/test/end-to-end/Layer0.test.ts +19 -22
  332. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +19 -21
  333. package/test/end-to-end/Layer0Webrtc-Layer1.test.ts +26 -28
  334. package/test/end-to-end/Layer0Webrtc.test.ts +19 -19
  335. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +10 -18
  336. package/test/end-to-end/Layer1-Scale-Webrtc.test.ts +8 -15
  337. package/test/end-to-end/RecoveryFromFailedAutoCertification.test.ts +2 -2
  338. package/test/end-to-end/WebsocketConnectionRequest.test.ts +8 -9
  339. package/test/end-to-end/memory-leak.test.ts +19 -24
  340. package/test/integration/ConnectionLocking.test.ts +66 -60
  341. package/test/integration/ConnectionManager.test.ts +43 -63
  342. package/test/integration/ConnectivityChecking.test.ts +52 -0
  343. package/test/integration/DhtJoinPeerDiscovery.test.ts +8 -12
  344. package/test/integration/DhtNodeExternalAPI.test.ts +17 -21
  345. package/test/integration/DhtNodeRpcRemote.test.ts +19 -26
  346. package/test/integration/DhtRpc.test.ts +20 -24
  347. package/test/integration/Find.test.ts +10 -12
  348. package/test/integration/Layer1-scale.test.ts +25 -37
  349. package/test/integration/Mock-Layer1-Layer0.test.ts +39 -59
  350. package/test/integration/MultipleEntryPointJoining.test.ts +14 -14
  351. package/test/integration/ReplicateData.test.ts +106 -0
  352. package/test/integration/RouteMessage.test.ts +42 -68
  353. package/test/integration/RouterRpcRemote.test.ts +19 -24
  354. package/test/integration/ScaleDownDht.test.ts +14 -12
  355. package/test/integration/SimultaneousConnections.test.ts +112 -111
  356. package/test/integration/Store.test.ts +43 -27
  357. package/test/integration/StoreAndDelete.test.ts +36 -48
  358. package/test/integration/StoreOnDhtWithThreeNodes.test.ts +59 -0
  359. package/test/integration/StoreOnDhtWithTwoNodes.test.ts +17 -37
  360. package/test/integration/StoreRpcRemote.test.ts +20 -32
  361. package/test/integration/WebrtcConnectionManagement.test.ts +39 -25
  362. package/test/integration/WebrtcConnectorRpc.test.ts +6 -11
  363. package/test/integration/WebsocketConnectionManagement.test.ts +87 -22
  364. package/test/integration/WebsocketConnectorRpc.test.ts +14 -24
  365. package/test/integration/{RpcErrors.test.ts → rpc-connections-over-webrpc.test.ts} +15 -26
  366. package/test/unit/AddressTools.test.ts +4 -0
  367. package/test/unit/ConnectivityHelpers.test.ts +9 -17
  368. package/test/unit/DuplicateDetector.test.ts +8 -5
  369. package/test/unit/LocalDataStore.test.ts +78 -75
  370. package/test/unit/PeerManager.test.ts +33 -0
  371. package/test/unit/RandomContactList.test.ts +12 -9
  372. package/test/unit/RecursiveOperationManager.test.ts +157 -0
  373. package/test/unit/RecursiveOperationSession.test.ts +68 -0
  374. package/test/unit/Router.test.ts +52 -35
  375. package/test/unit/RoutingSession.test.ts +79 -0
  376. package/test/unit/SortedContactList.test.ts +61 -30
  377. package/test/unit/StoreManager.test.ts +138 -0
  378. package/test/unit/WebsocketConnector.test.ts +27 -35
  379. package/test/unit/connectivityRequestHandler.test.ts +104 -0
  380. package/test/unit/createPeerDescriptor.test.ts +69 -0
  381. package/test/unit/customMatchers.test.ts +16 -0
  382. package/test/unit/version.test.ts +18 -0
  383. package/test/utils/FakeTransport.ts +47 -0
  384. package/test/utils/customMatchers.ts +71 -0
  385. package/test/utils/mock/MockRpcCommunicator.ts +7 -0
  386. package/test/utils/mock/Router.ts +13 -3
  387. package/test/utils/mock/Transport.ts +1 -1
  388. package/test/utils/mock/mockDataEntry.ts +38 -0
  389. package/test/utils/utils.ts +104 -107
  390. package/tsconfig.browser.json +2 -1
  391. package/tsconfig.jest.json +4 -2
  392. package/tsconfig.node.json +4 -2
  393. package/dist/src/connection/ConnectivityChecker.d.ts +0 -17
  394. package/dist/src/connection/ConnectivityChecker.js +0 -208
  395. package/dist/src/connection/ConnectivityChecker.js.map +0 -1
  396. package/dist/src/connection/websocket/ServerWebsocket.js +0 -100
  397. package/dist/src/connection/websocket/ServerWebsocket.js.map +0 -1
  398. package/dist/src/dht/contact/Remote.js.map +0 -1
  399. package/dist/src/dht/find/FindRpcLocal.d.ts +0 -14
  400. package/dist/src/dht/find/FindRpcLocal.js +0 -25
  401. package/dist/src/dht/find/FindRpcLocal.js.map +0 -1
  402. package/dist/src/dht/find/FindSession.d.ts +0 -44
  403. package/dist/src/dht/find/FindSession.js +0 -145
  404. package/dist/src/dht/find/FindSession.js.map +0 -1
  405. package/dist/src/dht/find/FindSessionRpcLocal.d.ts +0 -12
  406. package/dist/src/dht/find/FindSessionRpcLocal.js +0 -17
  407. package/dist/src/dht/find/FindSessionRpcLocal.js.map +0 -1
  408. package/dist/src/dht/find/FindSessionRpcRemote.d.ts +0 -6
  409. package/dist/src/dht/find/FindSessionRpcRemote.js +0 -21
  410. package/dist/src/dht/find/FindSessionRpcRemote.js.map +0 -1
  411. package/dist/src/dht/find/Finder.d.ts +0 -49
  412. package/dist/src/dht/find/Finder.js +0 -184
  413. package/dist/src/dht/find/Finder.js.map +0 -1
  414. package/dist/src/dht/routing/FindRpcRemote.d.ts +0 -6
  415. package/dist/src/dht/routing/FindRpcRemote.js +0 -41
  416. package/dist/src/dht/routing/FindRpcRemote.js.map +0 -1
  417. package/dist/src/helpers/PeerID.d.ts +0 -24
  418. package/dist/src/helpers/PeerID.js +0 -78
  419. package/dist/src/helpers/PeerID.js.map +0 -1
  420. package/dist/src/helpers/UUID.d.ts +0 -8
  421. package/dist/src/helpers/UUID.js +0 -36
  422. package/dist/src/helpers/UUID.js.map +0 -1
  423. package/dist/src/helpers/kademliaId.d.ts +0 -1
  424. package/dist/src/helpers/kademliaId.js +0 -14
  425. package/dist/src/helpers/kademliaId.js.map +0 -1
  426. package/dist/src/helpers/peerIdFromPeerDescriptor.d.ts +0 -6
  427. package/dist/src/helpers/peerIdFromPeerDescriptor.js +0 -23
  428. package/dist/src/helpers/peerIdFromPeerDescriptor.js.map +0 -1
  429. package/src/connection/ConnectivityChecker.ts +0 -199
  430. package/src/connection/websocket/ServerWebsocket.ts +0 -114
  431. package/src/dht/find/FindRpcLocal.ts +0 -35
  432. package/src/dht/find/FindSession.ts +0 -178
  433. package/src/dht/find/FindSessionRpcLocal.ts +0 -25
  434. package/src/dht/find/FindSessionRpcRemote.ts +0 -30
  435. package/src/dht/find/Finder.ts +0 -275
  436. package/src/dht/routing/FindRpcRemote.ts +0 -40
  437. package/src/helpers/PeerID.ts +0 -88
  438. package/src/helpers/UUID.ts +0 -35
  439. package/src/helpers/kademliaId.ts +0 -8
  440. package/src/helpers/peerIdFromPeerDescriptor.ts +0 -20
  441. package/test/integration/MigrateData.test.ts +0 -204
  442. package/test/unit/Finder.test.ts +0 -110
  443. package/test/unit/PeerID.test.ts +0 -22
  444. package/test/unit/UUID.test.ts +0 -55
@@ -1,9 +1,9 @@
1
- // @generated by protobuf-ts 2.9.1 with parameter server_generic,generate_dependencies,long_type_number
1
+ // @generated by protobuf-ts 2.9.3 with parameter server_generic,generate_dependencies,long_type_number
2
2
  // @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
3
3
  // tslint:disable
4
4
  import { Empty } from "../../../google/protobuf/empty";
5
5
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
6
- import { MessageType as MessageType$ } from "@protobuf-ts/runtime";
6
+ import { MessageType } from "@protobuf-ts/runtime";
7
7
  import { RpcMessage } from "../../proto-rpc/protos/ProtoRpc";
8
8
  import { Timestamp } from "../../../google/protobuf/timestamp";
9
9
  import { Any } from "../../../google/protobuf/any";
@@ -14,30 +14,30 @@ import { Any } from "../../../google/protobuf/any";
14
14
  */
15
15
  export interface StoreDataRequest {
16
16
  /**
17
- * @generated from protobuf field: bytes kademliaId = 1;
17
+ * @generated from protobuf field: bytes key = 1;
18
18
  */
19
- kademliaId: Uint8Array;
19
+ key: Uint8Array;
20
20
  /**
21
21
  * @generated from protobuf field: google.protobuf.Any data = 2;
22
22
  */
23
23
  data?: Any;
24
24
  /**
25
- * @generated from protobuf field: uint32 ttl = 3;
25
+ * @generated from protobuf field: bytes creator = 3;
26
26
  */
27
- ttl: number;
27
+ creator: Uint8Array;
28
28
  /**
29
- * @generated from protobuf field: google.protobuf.Timestamp storerTime = 4;
29
+ * @generated from protobuf field: google.protobuf.Timestamp createdAt = 4;
30
+ */
31
+ createdAt?: Timestamp;
32
+ /**
33
+ * @generated from protobuf field: uint32 ttl = 5;
30
34
  */
31
- storerTime?: Timestamp;
35
+ ttl: number;
32
36
  }
33
37
  /**
34
38
  * @generated from protobuf message dht.StoreDataResponse
35
39
  */
36
40
  export interface StoreDataResponse {
37
- /**
38
- * @generated from protobuf field: string error = 1;
39
- */
40
- error: string;
41
41
  }
42
42
  /**
43
43
  * @generated from protobuf message dht.ExternalStoreDataRequest
@@ -62,86 +62,59 @@ export interface ExternalStoreDataResponse {
62
62
  storers: PeerDescriptor[];
63
63
  }
64
64
  /**
65
- * @generated from protobuf message dht.MigrateDataRequest
66
- */
67
- export interface MigrateDataRequest {
68
- /**
69
- * @generated from protobuf field: dht.DataEntry dataEntry = 1;
70
- */
71
- dataEntry?: DataEntry;
72
- }
73
- /**
74
- * @generated from protobuf message dht.MigrateDataResponse
75
- */
76
- export interface MigrateDataResponse {
77
- /**
78
- * @generated from protobuf field: string error = 1;
79
- */
80
- error: string;
81
- }
82
- /**
83
- * @generated from protobuf message dht.DeleteDataRequest
84
- */
85
- export interface DeleteDataRequest {
86
- /**
87
- * @generated from protobuf field: bytes kademliaId = 1;
88
- */
89
- kademliaId: Uint8Array;
90
- }
91
- /**
92
- * @generated from protobuf message dht.DeleteDataResponse
65
+ * @generated from protobuf message dht.ReplicateDataRequest
93
66
  */
94
- export interface DeleteDataResponse {
67
+ export interface ReplicateDataRequest {
95
68
  /**
96
- * @generated from protobuf field: bool deleted = 1;
69
+ * @generated from protobuf field: dht.DataEntry entry = 1;
97
70
  */
98
- deleted: boolean;
71
+ entry?: DataEntry;
99
72
  }
100
73
  /**
101
74
  * @generated from protobuf message dht.DataEntry
102
75
  */
103
76
  export interface DataEntry {
104
77
  /**
105
- * @generated from protobuf field: dht.PeerDescriptor storer = 1;
78
+ * @generated from protobuf field: bytes key = 1;
79
+ */
80
+ key: Uint8Array;
81
+ /**
82
+ * @generated from protobuf field: google.protobuf.Any data = 2;
106
83
  */
107
- storer?: PeerDescriptor;
84
+ data?: Any;
108
85
  /**
109
- * @generated from protobuf field: bytes kademliaId = 2;
86
+ * @generated from protobuf field: bytes creator = 3;
110
87
  */
111
- kademliaId: Uint8Array;
88
+ creator: Uint8Array;
112
89
  /**
113
- * @generated from protobuf field: google.protobuf.Any data = 3;
90
+ * @generated from protobuf field: google.protobuf.Timestamp createdAt = 4;
114
91
  */
115
- data?: Any;
92
+ createdAt?: Timestamp;
116
93
  /**
117
- * @generated from protobuf field: google.protobuf.Timestamp storedAt = 4;
94
+ * @generated from protobuf field: google.protobuf.Timestamp storedAt = 5;
118
95
  */
119
96
  storedAt?: Timestamp;
120
97
  /**
121
- * @generated from protobuf field: uint32 ttl = 5;
98
+ * @generated from protobuf field: uint32 ttl = 6;
122
99
  */
123
100
  ttl: number; // milliseconds
124
101
  /**
125
- * @generated from protobuf field: bool stale = 6;
102
+ * @generated from protobuf field: bool stale = 7;
126
103
  */
127
104
  stale: boolean;
128
105
  /**
129
- * @generated from protobuf field: bool deleted = 7;
106
+ * @generated from protobuf field: bool deleted = 8;
130
107
  */
131
108
  deleted: boolean;
132
- /**
133
- * @generated from protobuf field: google.protobuf.Timestamp storerTime = 8;
134
- */
135
- storerTime?: Timestamp;
136
109
  }
137
110
  /**
138
111
  * @generated from protobuf message dht.ClosestPeersRequest
139
112
  */
140
113
  export interface ClosestPeersRequest {
141
114
  /**
142
- * @generated from protobuf field: bytes kademliaId = 1;
115
+ * @generated from protobuf field: bytes nodeId = 1;
143
116
  */
144
- kademliaId: Uint8Array;
117
+ nodeId: Uint8Array;
145
118
  /**
146
119
  * @generated from protobuf field: string requestId = 2;
147
120
  */
@@ -161,22 +134,52 @@ export interface ClosestPeersResponse {
161
134
  requestId: string;
162
135
  }
163
136
  /**
164
- * @generated from protobuf message dht.FindRequest
137
+ * @generated from protobuf message dht.ClosestRingPeersRequest
165
138
  */
166
- export interface FindRequest {
139
+ export interface ClosestRingPeersRequest {
140
+ /**
141
+ * @generated from protobuf field: bytes ringId = 1;
142
+ */
143
+ ringId: Uint8Array;
144
+ /**
145
+ * @generated from protobuf field: string requestId = 2;
146
+ */
147
+ requestId: string;
148
+ }
149
+ /**
150
+ * @generated from protobuf message dht.ClosestRingPeersResponse
151
+ */
152
+ export interface ClosestRingPeersResponse {
153
+ /**
154
+ * @generated from protobuf field: repeated dht.PeerDescriptor leftPeers = 1;
155
+ */
156
+ leftPeers: PeerDescriptor[];
157
+ /**
158
+ * @generated from protobuf field: repeated dht.PeerDescriptor rightPeers = 2;
159
+ */
160
+ rightPeers: PeerDescriptor[];
161
+ /**
162
+ * @generated from protobuf field: string requestId = 3;
163
+ */
164
+ requestId: string;
165
+ }
166
+ /**
167
+ * @generated from protobuf message dht.RecursiveOperationRequest
168
+ */
169
+ export interface RecursiveOperationRequest {
167
170
  /**
168
171
  * @generated from protobuf field: string sessionId = 1;
169
172
  */
170
173
  sessionId: string;
171
174
  /**
172
- * @generated from protobuf field: bool fetchData = 2;
175
+ * @generated from protobuf field: dht.RecursiveOperation operation = 2;
173
176
  */
174
- fetchData: boolean;
177
+ operation: RecursiveOperation;
175
178
  }
176
179
  /**
177
- * @generated from protobuf message dht.FindResponse
180
+ * @generated from protobuf message dht.RecursiveOperationResponse
178
181
  */
179
- export interface FindResponse {
182
+ export interface RecursiveOperationResponse {
180
183
  /**
181
184
  * @generated from protobuf field: repeated dht.PeerDescriptor closestConnectedPeers = 1;
182
185
  */
@@ -186,9 +189,9 @@ export interface FindResponse {
186
189
  */
187
190
  dataEntries: DataEntry[];
188
191
  /**
189
- * @generated from protobuf field: optional bool noCloserNodesFound = 3;
192
+ * @generated from protobuf field: bool noCloserNodesFound = 3;
190
193
  */
191
- noCloserNodesFound?: boolean;
194
+ noCloserNodesFound: boolean;
192
195
  /**
193
196
  * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 4;
194
197
  */
@@ -216,19 +219,15 @@ export interface PingResponse {
216
219
  * @generated from protobuf message dht.LeaveNotice
217
220
  */
218
221
  export interface LeaveNotice {
219
- /**
220
- * @generated from protobuf field: string serviceId = 1;
221
- */
222
- serviceId: string;
223
222
  }
224
223
  /**
225
224
  * @generated from protobuf message dht.PeerDescriptor
226
225
  */
227
226
  export interface PeerDescriptor {
228
227
  /**
229
- * @generated from protobuf field: bytes kademliaId = 1;
228
+ * @generated from protobuf field: bytes nodeId = 1;
230
229
  */
231
- kademliaId: Uint8Array;
230
+ nodeId: Uint8Array;
232
231
  /**
233
232
  * @generated from protobuf field: dht.NodeType type = 2;
234
233
  */
@@ -249,6 +248,20 @@ export interface PeerDescriptor {
249
248
  * @generated from protobuf field: optional uint32 region = 6;
250
249
  */
251
250
  region?: number;
251
+ /**
252
+ * @generated from protobuf field: optional uint32 ipAddress = 7;
253
+ */
254
+ ipAddress?: number;
255
+ /**
256
+ * @generated from protobuf field: optional bytes publicKey = 8;
257
+ */
258
+ publicKey?: Uint8Array;
259
+ /**
260
+ * signature of fields 2-8
261
+ *
262
+ * @generated from protobuf field: optional bytes signature = 9;
263
+ */
264
+ signature?: Uint8Array;
252
265
  }
253
266
  /**
254
267
  * @generated from protobuf message dht.ConnectivityMethod
@@ -272,17 +285,17 @@ export interface ConnectivityMethod {
272
285
  */
273
286
  export interface RouteMessageWrapper {
274
287
  /**
275
- * @generated from protobuf field: dht.PeerDescriptor sourcePeer = 1;
288
+ * @generated from protobuf field: string requestId = 1;
276
289
  */
277
- sourcePeer?: PeerDescriptor;
290
+ requestId: string;
278
291
  /**
279
- * @generated from protobuf field: string requestId = 2;
292
+ * @generated from protobuf field: dht.PeerDescriptor sourcePeer = 2;
280
293
  */
281
- requestId: string;
294
+ sourcePeer?: PeerDescriptor;
282
295
  /**
283
- * @generated from protobuf field: dht.PeerDescriptor destinationPeer = 3;
296
+ * @generated from protobuf field: bytes target = 3;
284
297
  */
285
- destinationPeer?: PeerDescriptor;
298
+ target: Uint8Array;
286
299
  /**
287
300
  * @generated from protobuf field: dht.Message message = 4;
288
301
  */
@@ -295,6 +308,10 @@ export interface RouteMessageWrapper {
295
308
  * @generated from protobuf field: repeated dht.PeerDescriptor routingPath = 6;
296
309
  */
297
310
  routingPath: PeerDescriptor[];
311
+ /**
312
+ * @generated from protobuf field: repeated string parallelRootNodeIds = 7;
313
+ */
314
+ parallelRootNodeIds: string[];
298
315
  }
299
316
  /**
300
317
  * @generated from protobuf message dht.RouteMessageAck
@@ -305,12 +322,10 @@ export interface RouteMessageAck {
305
322
  */
306
323
  requestId: string;
307
324
  /**
308
- * @generated from protobuf field: string error = 2;
325
+ * @generated from protobuf field: optional dht.RouteMessageError error = 2;
309
326
  */
310
- error: string;
327
+ error?: RouteMessageError;
311
328
  }
312
- // Correspond to the MessageType Enum
313
-
314
329
  /**
315
330
  * @generated from protobuf message dht.ConnectivityRequest
316
331
  */
@@ -348,6 +363,14 @@ export interface ConnectivityResponse {
348
363
  * @generated from protobuf field: dht.ConnectivityMethod websocket = 3;
349
364
  */
350
365
  websocket?: ConnectivityMethod;
366
+ /**
367
+ * @generated from protobuf field: uint32 ipAddress = 4;
368
+ */
369
+ ipAddress: number;
370
+ /**
371
+ * @generated from protobuf field: string version = 5;
372
+ */
373
+ version: string;
351
374
  }
352
375
  /**
353
376
  * @generated from protobuf message dht.HandshakeRequest
@@ -361,6 +384,10 @@ export interface HandshakeRequest {
361
384
  * @generated from protobuf field: optional dht.PeerDescriptor targetPeerDescriptor = 2;
362
385
  */
363
386
  targetPeerDescriptor?: PeerDescriptor;
387
+ /**
388
+ * @generated from protobuf field: string version = 3;
389
+ */
390
+ version: string;
364
391
  }
365
392
  /**
366
393
  * @generated from protobuf message dht.HandshakeResponse
@@ -374,7 +401,13 @@ export interface HandshakeResponse {
374
401
  * @generated from protobuf field: optional dht.HandshakeError error = 2;
375
402
  */
376
403
  error?: HandshakeError;
404
+ /**
405
+ * @generated from protobuf field: string version = 3;
406
+ */
407
+ version: string;
377
408
  }
409
+ // Wraps all messages
410
+
378
411
  /**
379
412
  * @generated from protobuf message dht.Message
380
413
  */
@@ -384,25 +417,27 @@ export interface Message {
384
417
  */
385
418
  messageId: string;
386
419
  /**
387
- * @generated from protobuf field: dht.MessageType messageType = 2;
388
- */
389
- messageType: MessageType;
390
- /**
391
- * @generated from protobuf field: dht.PeerDescriptor sourceDescriptor = 3;
420
+ * @generated from protobuf field: dht.PeerDescriptor sourceDescriptor = 2;
392
421
  */
393
422
  sourceDescriptor?: PeerDescriptor;
394
423
  /**
395
- * @generated from protobuf field: dht.PeerDescriptor targetDescriptor = 4;
424
+ * @generated from protobuf field: dht.PeerDescriptor targetDescriptor = 3;
396
425
  */
397
426
  targetDescriptor?: PeerDescriptor;
398
427
  /**
399
- * @generated from protobuf field: string serviceId = 5;
428
+ * @generated from protobuf field: string serviceId = 4;
400
429
  */
401
430
  serviceId: string; // id of the RPC service
402
431
  /**
403
432
  * @generated from protobuf oneof: body
404
433
  */
405
434
  body: {
435
+ oneofKind: "rpcMessage";
436
+ /**
437
+ * @generated from protobuf field: protorpc.RpcMessage rpcMessage = 5;
438
+ */
439
+ rpcMessage: RpcMessage;
440
+ } | {
406
441
  oneofKind: "connectivityRequest";
407
442
  /**
408
443
  * @generated from protobuf field: dht.ConnectivityRequest connectivityRequest = 6;
@@ -427,17 +462,11 @@ export interface Message {
427
462
  */
428
463
  handshakeResponse: HandshakeResponse;
429
464
  } | {
430
- oneofKind: "rpcMessage";
431
- /**
432
- * @generated from protobuf field: protorpc.RpcMessage rpcMessage = 10;
433
- */
434
- rpcMessage: RpcMessage;
435
- } | {
436
- oneofKind: "findRequest";
465
+ oneofKind: "recursiveOperationRequest";
437
466
  /**
438
- * @generated from protobuf field: dht.FindRequest findRequest = 11;
467
+ * @generated from protobuf field: dht.RecursiveOperationRequest recursiveOperationRequest = 10;
439
468
  */
440
- findRequest: FindRequest;
469
+ recursiveOperationRequest: RecursiveOperationRequest;
441
470
  } | {
442
471
  oneofKind: undefined;
443
472
  };
@@ -451,15 +480,6 @@ export interface Message {
451
480
  */
452
481
  export interface WebsocketConnectionRequest {
453
482
  }
454
- /**
455
- * @generated from protobuf message dht.WebsocketConnectionResponse
456
- */
457
- export interface WebsocketConnectionResponse {
458
- /**
459
- * @generated from protobuf field: bool accepted = 1;
460
- */
461
- accepted: boolean;
462
- }
463
483
  /**
464
484
  * WebRTC
465
485
  *
@@ -536,10 +556,6 @@ export interface LockResponse {
536
556
  * @generated from protobuf field: bool accepted = 1;
537
557
  */
538
558
  accepted: boolean;
539
- /**
540
- * @generated from protobuf field: optional bool reason = 2;
541
- */
542
- reason?: boolean;
543
559
  }
544
560
  /**
545
561
  * @generated from protobuf message dht.DisconnectNotice
@@ -551,31 +567,39 @@ export interface DisconnectNotice {
551
567
  disconnectMode: DisconnectMode;
552
568
  }
553
569
  /**
554
- * @generated from protobuf message dht.DisconnectNoticeResponse
570
+ * @generated from protobuf message dht.ExternalFetchDataRequest
555
571
  */
556
- export interface DisconnectNoticeResponse {
572
+ export interface ExternalFetchDataRequest {
573
+ /**
574
+ * @generated from protobuf field: bytes key = 1;
575
+ */
576
+ key: Uint8Array;
557
577
  }
558
578
  /**
559
- * @generated from protobuf message dht.ExternalFindDataRequest
579
+ * @generated from protobuf message dht.ExternalFetchDataResponse
560
580
  */
561
- export interface ExternalFindDataRequest {
581
+ export interface ExternalFetchDataResponse {
562
582
  /**
563
- * @generated from protobuf field: bytes kademliaId = 1;
583
+ * @generated from protobuf field: repeated dht.DataEntry entries = 1;
564
584
  */
565
- kademliaId: Uint8Array;
585
+ entries: DataEntry[];
566
586
  }
567
587
  /**
568
- * @generated from protobuf message dht.ExternalFindDataResponse
588
+ * @generated from protobuf enum dht.RecursiveOperation
569
589
  */
570
- export interface ExternalFindDataResponse {
590
+ export enum RecursiveOperation {
571
591
  /**
572
- * @generated from protobuf field: repeated dht.DataEntry dataEntries = 1;
592
+ * @generated from protobuf enum value: FIND_CLOSEST_NODES = 0;
573
593
  */
574
- dataEntries: DataEntry[];
594
+ FIND_CLOSEST_NODES = 0,
595
+ /**
596
+ * @generated from protobuf enum value: FETCH_DATA = 1;
597
+ */
598
+ FETCH_DATA = 1,
575
599
  /**
576
- * @generated from protobuf field: optional string error = 2;
600
+ * @generated from protobuf enum value: DELETE_DATA = 2;
577
601
  */
578
- error?: string;
602
+ DELETE_DATA = 2
579
603
  }
580
604
  /**
581
605
  * @generated from protobuf enum dht.NodeType
@@ -588,11 +612,7 @@ export enum NodeType {
588
612
  /**
589
613
  * @generated from protobuf enum value: BROWSER = 1;
590
614
  */
591
- BROWSER = 1,
592
- /**
593
- * @generated from protobuf enum value: VIRTUAL = 3;
594
- */
595
- VIRTUAL = 3
615
+ BROWSER = 1
596
616
  }
597
617
  /**
598
618
  * @generated from protobuf enum dht.RpcResponseError
@@ -616,48 +636,41 @@ export enum RpcResponseError {
616
636
  UNKNOWN_RPC_METHOD = 3
617
637
  }
618
638
  /**
619
- * @generated from protobuf enum dht.HandshakeError
639
+ * @generated from protobuf enum dht.RouteMessageError
620
640
  */
621
- export enum HandshakeError {
641
+ export enum RouteMessageError {
622
642
  /**
623
- * @generated from protobuf enum value: DUPLICATE_CONNECTION = 0;
643
+ * @generated from protobuf enum value: NO_TARGETS = 0;
624
644
  */
625
- DUPLICATE_CONNECTION = 0,
645
+ NO_TARGETS = 0,
626
646
  /**
627
- * @generated from protobuf enum value: INVALID_TARGET_PEER_DESCRIPTOR = 1;
647
+ * @generated from protobuf enum value: DUPLICATE = 1;
648
+ */
649
+ DUPLICATE = 1,
650
+ /**
651
+ * TODO: can this be removed? If DhtNode is already stopped the server side requests
652
+ * should not be processed
653
+ *
654
+ * @generated from protobuf enum value: STOPPED = 2;
628
655
  */
629
- INVALID_TARGET_PEER_DESCRIPTOR = 1
656
+ STOPPED = 2
630
657
  }
631
- // Wraps all messages
632
-
633
658
  /**
634
- * @generated from protobuf enum dht.MessageType
659
+ * @generated from protobuf enum dht.HandshakeError
635
660
  */
636
- export enum MessageType {
637
- /**
638
- * @generated from protobuf enum value: RPC = 0;
639
- */
640
- RPC = 0,
641
- /**
642
- * @generated from protobuf enum value: CONNECTIVITY_REQUEST = 1;
643
- */
644
- CONNECTIVITY_REQUEST = 1,
645
- /**
646
- * @generated from protobuf enum value: CONNECTIVITY_RESPONSE = 2;
647
- */
648
- CONNECTIVITY_RESPONSE = 2,
661
+ export enum HandshakeError {
649
662
  /**
650
- * @generated from protobuf enum value: HANDSHAKE_REQUEST = 3;
663
+ * @generated from protobuf enum value: DUPLICATE_CONNECTION = 0;
651
664
  */
652
- HANDSHAKE_REQUEST = 3,
665
+ DUPLICATE_CONNECTION = 0,
653
666
  /**
654
- * @generated from protobuf enum value: HANDSHAKE_RESPONSE = 4;
667
+ * @generated from protobuf enum value: INVALID_TARGET_PEER_DESCRIPTOR = 1;
655
668
  */
656
- HANDSHAKE_RESPONSE = 4,
669
+ INVALID_TARGET_PEER_DESCRIPTOR = 1,
657
670
  /**
658
- * @generated from protobuf enum value: FIND_REQUEST = 5;
671
+ * @generated from protobuf enum value: UNSUPPORTED_VERSION = 2;
659
672
  */
660
- FIND_REQUEST = 5
673
+ UNSUPPORTED_VERSION = 2
661
674
  }
662
675
  /**
663
676
  * @generated from protobuf enum dht.DisconnectMode
@@ -673,13 +686,14 @@ export enum DisconnectMode {
673
686
  LEAVING = 1
674
687
  }
675
688
  // @generated message type with reflection information, may provide speed optimized methods
676
- class StoreDataRequest$Type extends MessageType$<StoreDataRequest> {
689
+ class StoreDataRequest$Type extends MessageType<StoreDataRequest> {
677
690
  constructor() {
678
691
  super("dht.StoreDataRequest", [
679
- { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
692
+ { no: 1, name: "key", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
680
693
  { no: 2, name: "data", kind: "message", T: () => Any },
681
- { no: 3, name: "ttl", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
682
- { no: 4, name: "storerTime", kind: "message", T: () => Timestamp }
694
+ { no: 3, name: "creator", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
695
+ { no: 4, name: "createdAt", kind: "message", T: () => Timestamp },
696
+ { no: 5, name: "ttl", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
683
697
  ]);
684
698
  }
685
699
  }
@@ -688,11 +702,9 @@ class StoreDataRequest$Type extends MessageType$<StoreDataRequest> {
688
702
  */
689
703
  export const StoreDataRequest = new StoreDataRequest$Type();
690
704
  // @generated message type with reflection information, may provide speed optimized methods
691
- class StoreDataResponse$Type extends MessageType$<StoreDataResponse> {
705
+ class StoreDataResponse$Type extends MessageType<StoreDataResponse> {
692
706
  constructor() {
693
- super("dht.StoreDataResponse", [
694
- { no: 1, name: "error", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
695
- ]);
707
+ super("dht.StoreDataResponse", []);
696
708
  }
697
709
  }
698
710
  /**
@@ -700,7 +712,7 @@ class StoreDataResponse$Type extends MessageType$<StoreDataResponse> {
700
712
  */
701
713
  export const StoreDataResponse = new StoreDataResponse$Type();
702
714
  // @generated message type with reflection information, may provide speed optimized methods
703
- class ExternalStoreDataRequest$Type extends MessageType$<ExternalStoreDataRequest> {
715
+ class ExternalStoreDataRequest$Type extends MessageType<ExternalStoreDataRequest> {
704
716
  constructor() {
705
717
  super("dht.ExternalStoreDataRequest", [
706
718
  { no: 1, name: "key", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
@@ -713,7 +725,7 @@ class ExternalStoreDataRequest$Type extends MessageType$<ExternalStoreDataReques
713
725
  */
714
726
  export const ExternalStoreDataRequest = new ExternalStoreDataRequest$Type();
715
727
  // @generated message type with reflection information, may provide speed optimized methods
716
- class ExternalStoreDataResponse$Type extends MessageType$<ExternalStoreDataResponse> {
728
+ class ExternalStoreDataResponse$Type extends MessageType<ExternalStoreDataResponse> {
717
729
  constructor() {
718
730
  super("dht.ExternalStoreDataResponse", [
719
731
  { no: 1, name: "storers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
@@ -725,128 +737,119 @@ class ExternalStoreDataResponse$Type extends MessageType$<ExternalStoreDataRespo
725
737
  */
726
738
  export const ExternalStoreDataResponse = new ExternalStoreDataResponse$Type();
727
739
  // @generated message type with reflection information, may provide speed optimized methods
728
- class MigrateDataRequest$Type extends MessageType$<MigrateDataRequest> {
740
+ class ReplicateDataRequest$Type extends MessageType<ReplicateDataRequest> {
729
741
  constructor() {
730
- super("dht.MigrateDataRequest", [
731
- { no: 1, name: "dataEntry", kind: "message", T: () => DataEntry }
742
+ super("dht.ReplicateDataRequest", [
743
+ { no: 1, name: "entry", kind: "message", T: () => DataEntry }
732
744
  ]);
733
745
  }
734
746
  }
735
747
  /**
736
- * @generated MessageType for protobuf message dht.MigrateDataRequest
748
+ * @generated MessageType for protobuf message dht.ReplicateDataRequest
737
749
  */
738
- export const MigrateDataRequest = new MigrateDataRequest$Type();
750
+ export const ReplicateDataRequest = new ReplicateDataRequest$Type();
739
751
  // @generated message type with reflection information, may provide speed optimized methods
740
- class MigrateDataResponse$Type extends MessageType$<MigrateDataResponse> {
752
+ class DataEntry$Type extends MessageType<DataEntry> {
741
753
  constructor() {
742
- super("dht.MigrateDataResponse", [
743
- { no: 1, name: "error", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
744
- ]);
745
- }
746
- }
747
- /**
748
- * @generated MessageType for protobuf message dht.MigrateDataResponse
749
- */
750
- export const MigrateDataResponse = new MigrateDataResponse$Type();
751
- // @generated message type with reflection information, may provide speed optimized methods
752
- class DeleteDataRequest$Type extends MessageType$<DeleteDataRequest> {
753
- constructor() {
754
- super("dht.DeleteDataRequest", [
755
- { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
754
+ super("dht.DataEntry", [
755
+ { no: 1, name: "key", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
756
+ { no: 2, name: "data", kind: "message", T: () => Any },
757
+ { no: 3, name: "creator", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
758
+ { no: 4, name: "createdAt", kind: "message", T: () => Timestamp },
759
+ { no: 5, name: "storedAt", kind: "message", T: () => Timestamp },
760
+ { no: 6, name: "ttl", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
761
+ { no: 7, name: "stale", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
762
+ { no: 8, name: "deleted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
756
763
  ]);
757
764
  }
758
765
  }
759
766
  /**
760
- * @generated MessageType for protobuf message dht.DeleteDataRequest
767
+ * @generated MessageType for protobuf message dht.DataEntry
761
768
  */
762
- export const DeleteDataRequest = new DeleteDataRequest$Type();
769
+ export const DataEntry = new DataEntry$Type();
763
770
  // @generated message type with reflection information, may provide speed optimized methods
764
- class DeleteDataResponse$Type extends MessageType$<DeleteDataResponse> {
771
+ class ClosestPeersRequest$Type extends MessageType<ClosestPeersRequest> {
765
772
  constructor() {
766
- super("dht.DeleteDataResponse", [
767
- { no: 1, name: "deleted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
773
+ super("dht.ClosestPeersRequest", [
774
+ { no: 1, name: "nodeId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
775
+ { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
768
776
  ]);
769
777
  }
770
778
  }
771
779
  /**
772
- * @generated MessageType for protobuf message dht.DeleteDataResponse
780
+ * @generated MessageType for protobuf message dht.ClosestPeersRequest
773
781
  */
774
- export const DeleteDataResponse = new DeleteDataResponse$Type();
782
+ export const ClosestPeersRequest = new ClosestPeersRequest$Type();
775
783
  // @generated message type with reflection information, may provide speed optimized methods
776
- class DataEntry$Type extends MessageType$<DataEntry> {
784
+ class ClosestPeersResponse$Type extends MessageType<ClosestPeersResponse> {
777
785
  constructor() {
778
- super("dht.DataEntry", [
779
- { no: 1, name: "storer", kind: "message", T: () => PeerDescriptor },
780
- { no: 2, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
781
- { no: 3, name: "data", kind: "message", T: () => Any },
782
- { no: 4, name: "storedAt", kind: "message", T: () => Timestamp },
783
- { no: 5, name: "ttl", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
784
- { no: 6, name: "stale", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
785
- { no: 7, name: "deleted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
786
- { no: 8, name: "storerTime", kind: "message", T: () => Timestamp }
786
+ super("dht.ClosestPeersResponse", [
787
+ { no: 1, name: "peers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
788
+ { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
787
789
  ]);
788
790
  }
789
791
  }
790
792
  /**
791
- * @generated MessageType for protobuf message dht.DataEntry
793
+ * @generated MessageType for protobuf message dht.ClosestPeersResponse
792
794
  */
793
- export const DataEntry = new DataEntry$Type();
795
+ export const ClosestPeersResponse = new ClosestPeersResponse$Type();
794
796
  // @generated message type with reflection information, may provide speed optimized methods
795
- class ClosestPeersRequest$Type extends MessageType$<ClosestPeersRequest> {
797
+ class ClosestRingPeersRequest$Type extends MessageType<ClosestRingPeersRequest> {
796
798
  constructor() {
797
- super("dht.ClosestPeersRequest", [
798
- { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
799
+ super("dht.ClosestRingPeersRequest", [
800
+ { no: 1, name: "ringId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
799
801
  { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
800
802
  ]);
801
803
  }
802
804
  }
803
805
  /**
804
- * @generated MessageType for protobuf message dht.ClosestPeersRequest
806
+ * @generated MessageType for protobuf message dht.ClosestRingPeersRequest
805
807
  */
806
- export const ClosestPeersRequest = new ClosestPeersRequest$Type();
808
+ export const ClosestRingPeersRequest = new ClosestRingPeersRequest$Type();
807
809
  // @generated message type with reflection information, may provide speed optimized methods
808
- class ClosestPeersResponse$Type extends MessageType$<ClosestPeersResponse> {
810
+ class ClosestRingPeersResponse$Type extends MessageType<ClosestRingPeersResponse> {
809
811
  constructor() {
810
- super("dht.ClosestPeersResponse", [
811
- { no: 1, name: "peers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
812
- { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
812
+ super("dht.ClosestRingPeersResponse", [
813
+ { no: 1, name: "leftPeers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
814
+ { no: 2, name: "rightPeers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
815
+ { no: 3, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
813
816
  ]);
814
817
  }
815
818
  }
816
819
  /**
817
- * @generated MessageType for protobuf message dht.ClosestPeersResponse
820
+ * @generated MessageType for protobuf message dht.ClosestRingPeersResponse
818
821
  */
819
- export const ClosestPeersResponse = new ClosestPeersResponse$Type();
822
+ export const ClosestRingPeersResponse = new ClosestRingPeersResponse$Type();
820
823
  // @generated message type with reflection information, may provide speed optimized methods
821
- class FindRequest$Type extends MessageType$<FindRequest> {
824
+ class RecursiveOperationRequest$Type extends MessageType<RecursiveOperationRequest> {
822
825
  constructor() {
823
- super("dht.FindRequest", [
826
+ super("dht.RecursiveOperationRequest", [
824
827
  { no: 1, name: "sessionId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
825
- { no: 2, name: "fetchData", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
828
+ { no: 2, name: "operation", kind: "enum", T: () => ["dht.RecursiveOperation", RecursiveOperation] }
826
829
  ]);
827
830
  }
828
831
  }
829
832
  /**
830
- * @generated MessageType for protobuf message dht.FindRequest
833
+ * @generated MessageType for protobuf message dht.RecursiveOperationRequest
831
834
  */
832
- export const FindRequest = new FindRequest$Type();
835
+ export const RecursiveOperationRequest = new RecursiveOperationRequest$Type();
833
836
  // @generated message type with reflection information, may provide speed optimized methods
834
- class FindResponse$Type extends MessageType$<FindResponse> {
837
+ class RecursiveOperationResponse$Type extends MessageType<RecursiveOperationResponse> {
835
838
  constructor() {
836
- super("dht.FindResponse", [
839
+ super("dht.RecursiveOperationResponse", [
837
840
  { no: 1, name: "closestConnectedPeers", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
838
841
  { no: 2, name: "dataEntries", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DataEntry },
839
- { no: 3, name: "noCloserNodesFound", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
842
+ { no: 3, name: "noCloserNodesFound", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
840
843
  { no: 4, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
841
844
  ]);
842
845
  }
843
846
  }
844
847
  /**
845
- * @generated MessageType for protobuf message dht.FindResponse
848
+ * @generated MessageType for protobuf message dht.RecursiveOperationResponse
846
849
  */
847
- export const FindResponse = new FindResponse$Type();
850
+ export const RecursiveOperationResponse = new RecursiveOperationResponse$Type();
848
851
  // @generated message type with reflection information, may provide speed optimized methods
849
- class PingRequest$Type extends MessageType$<PingRequest> {
852
+ class PingRequest$Type extends MessageType<PingRequest> {
850
853
  constructor() {
851
854
  super("dht.PingRequest", [
852
855
  { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
@@ -858,7 +861,7 @@ class PingRequest$Type extends MessageType$<PingRequest> {
858
861
  */
859
862
  export const PingRequest = new PingRequest$Type();
860
863
  // @generated message type with reflection information, may provide speed optimized methods
861
- class PingResponse$Type extends MessageType$<PingResponse> {
864
+ class PingResponse$Type extends MessageType<PingResponse> {
862
865
  constructor() {
863
866
  super("dht.PingResponse", [
864
867
  { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
@@ -870,11 +873,9 @@ class PingResponse$Type extends MessageType$<PingResponse> {
870
873
  */
871
874
  export const PingResponse = new PingResponse$Type();
872
875
  // @generated message type with reflection information, may provide speed optimized methods
873
- class LeaveNotice$Type extends MessageType$<LeaveNotice> {
876
+ class LeaveNotice$Type extends MessageType<LeaveNotice> {
874
877
  constructor() {
875
- super("dht.LeaveNotice", [
876
- { no: 1, name: "serviceId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
877
- ]);
878
+ super("dht.LeaveNotice", []);
878
879
  }
879
880
  }
880
881
  /**
@@ -882,15 +883,18 @@ class LeaveNotice$Type extends MessageType$<LeaveNotice> {
882
883
  */
883
884
  export const LeaveNotice = new LeaveNotice$Type();
884
885
  // @generated message type with reflection information, may provide speed optimized methods
885
- class PeerDescriptor$Type extends MessageType$<PeerDescriptor> {
886
+ class PeerDescriptor$Type extends MessageType<PeerDescriptor> {
886
887
  constructor() {
887
888
  super("dht.PeerDescriptor", [
888
- { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
889
+ { no: 1, name: "nodeId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
889
890
  { no: 2, name: "type", kind: "enum", T: () => ["dht.NodeType", NodeType] },
890
891
  { no: 3, name: "udp", kind: "message", T: () => ConnectivityMethod },
891
892
  { no: 4, name: "tcp", kind: "message", T: () => ConnectivityMethod },
892
893
  { no: 5, name: "websocket", kind: "message", T: () => ConnectivityMethod },
893
- { no: 6, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ }
894
+ { no: 6, name: "region", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
895
+ { no: 7, name: "ipAddress", kind: "scalar", opt: true, T: 13 /*ScalarType.UINT32*/ },
896
+ { no: 8, name: "publicKey", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ },
897
+ { no: 9, name: "signature", kind: "scalar", opt: true, T: 12 /*ScalarType.BYTES*/ }
894
898
  ]);
895
899
  }
896
900
  }
@@ -899,7 +903,7 @@ class PeerDescriptor$Type extends MessageType$<PeerDescriptor> {
899
903
  */
900
904
  export const PeerDescriptor = new PeerDescriptor$Type();
901
905
  // @generated message type with reflection information, may provide speed optimized methods
902
- class ConnectivityMethod$Type extends MessageType$<ConnectivityMethod> {
906
+ class ConnectivityMethod$Type extends MessageType<ConnectivityMethod> {
903
907
  constructor() {
904
908
  super("dht.ConnectivityMethod", [
905
909
  { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
@@ -913,15 +917,16 @@ class ConnectivityMethod$Type extends MessageType$<ConnectivityMethod> {
913
917
  */
914
918
  export const ConnectivityMethod = new ConnectivityMethod$Type();
915
919
  // @generated message type with reflection information, may provide speed optimized methods
916
- class RouteMessageWrapper$Type extends MessageType$<RouteMessageWrapper> {
920
+ class RouteMessageWrapper$Type extends MessageType<RouteMessageWrapper> {
917
921
  constructor() {
918
922
  super("dht.RouteMessageWrapper", [
919
- { no: 1, name: "sourcePeer", kind: "message", T: () => PeerDescriptor },
920
- { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
921
- { no: 3, name: "destinationPeer", kind: "message", T: () => PeerDescriptor },
923
+ { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
924
+ { no: 2, name: "sourcePeer", kind: "message", T: () => PeerDescriptor },
925
+ { no: 3, name: "target", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
922
926
  { no: 4, name: "message", kind: "message", T: () => Message },
923
927
  { no: 5, name: "reachableThrough", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
924
- { no: 6, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
928
+ { no: 6, name: "routingPath", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
929
+ { no: 7, name: "parallelRootNodeIds", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
925
930
  ]);
926
931
  }
927
932
  }
@@ -930,11 +935,11 @@ class RouteMessageWrapper$Type extends MessageType$<RouteMessageWrapper> {
930
935
  */
931
936
  export const RouteMessageWrapper = new RouteMessageWrapper$Type();
932
937
  // @generated message type with reflection information, may provide speed optimized methods
933
- class RouteMessageAck$Type extends MessageType$<RouteMessageAck> {
938
+ class RouteMessageAck$Type extends MessageType<RouteMessageAck> {
934
939
  constructor() {
935
940
  super("dht.RouteMessageAck", [
936
941
  { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
937
- { no: 2, name: "error", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
942
+ { no: 2, name: "error", kind: "enum", opt: true, T: () => ["dht.RouteMessageError", RouteMessageError] }
938
943
  ]);
939
944
  }
940
945
  }
@@ -943,7 +948,7 @@ class RouteMessageAck$Type extends MessageType$<RouteMessageAck> {
943
948
  */
944
949
  export const RouteMessageAck = new RouteMessageAck$Type();
945
950
  // @generated message type with reflection information, may provide speed optimized methods
946
- class ConnectivityRequest$Type extends MessageType$<ConnectivityRequest> {
951
+ class ConnectivityRequest$Type extends MessageType<ConnectivityRequest> {
947
952
  constructor() {
948
953
  super("dht.ConnectivityRequest", [
949
954
  { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
@@ -958,12 +963,14 @@ class ConnectivityRequest$Type extends MessageType$<ConnectivityRequest> {
958
963
  */
959
964
  export const ConnectivityRequest = new ConnectivityRequest$Type();
960
965
  // @generated message type with reflection information, may provide speed optimized methods
961
- class ConnectivityResponse$Type extends MessageType$<ConnectivityResponse> {
966
+ class ConnectivityResponse$Type extends MessageType<ConnectivityResponse> {
962
967
  constructor() {
963
968
  super("dht.ConnectivityResponse", [
964
969
  { no: 1, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
965
970
  { no: 2, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
966
- { no: 3, name: "websocket", kind: "message", T: () => ConnectivityMethod }
971
+ { no: 3, name: "websocket", kind: "message", T: () => ConnectivityMethod },
972
+ { no: 4, name: "ipAddress", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
973
+ { no: 5, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
967
974
  ]);
968
975
  }
969
976
  }
@@ -972,11 +979,12 @@ class ConnectivityResponse$Type extends MessageType$<ConnectivityResponse> {
972
979
  */
973
980
  export const ConnectivityResponse = new ConnectivityResponse$Type();
974
981
  // @generated message type with reflection information, may provide speed optimized methods
975
- class HandshakeRequest$Type extends MessageType$<HandshakeRequest> {
982
+ class HandshakeRequest$Type extends MessageType<HandshakeRequest> {
976
983
  constructor() {
977
984
  super("dht.HandshakeRequest", [
978
985
  { no: 1, name: "sourcePeerDescriptor", kind: "message", T: () => PeerDescriptor },
979
- { no: 2, name: "targetPeerDescriptor", kind: "message", T: () => PeerDescriptor }
986
+ { no: 2, name: "targetPeerDescriptor", kind: "message", T: () => PeerDescriptor },
987
+ { no: 3, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
980
988
  ]);
981
989
  }
982
990
  }
@@ -985,11 +993,12 @@ class HandshakeRequest$Type extends MessageType$<HandshakeRequest> {
985
993
  */
986
994
  export const HandshakeRequest = new HandshakeRequest$Type();
987
995
  // @generated message type with reflection information, may provide speed optimized methods
988
- class HandshakeResponse$Type extends MessageType$<HandshakeResponse> {
996
+ class HandshakeResponse$Type extends MessageType<HandshakeResponse> {
989
997
  constructor() {
990
998
  super("dht.HandshakeResponse", [
991
999
  { no: 1, name: "sourcePeerDescriptor", kind: "message", T: () => PeerDescriptor },
992
- { no: 2, name: "error", kind: "enum", opt: true, T: () => ["dht.HandshakeError", HandshakeError] }
1000
+ { no: 2, name: "error", kind: "enum", opt: true, T: () => ["dht.HandshakeError", HandshakeError] },
1001
+ { no: 3, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
993
1002
  ]);
994
1003
  }
995
1004
  }
@@ -998,20 +1007,19 @@ class HandshakeResponse$Type extends MessageType$<HandshakeResponse> {
998
1007
  */
999
1008
  export const HandshakeResponse = new HandshakeResponse$Type();
1000
1009
  // @generated message type with reflection information, may provide speed optimized methods
1001
- class Message$Type extends MessageType$<Message> {
1010
+ class Message$Type extends MessageType<Message> {
1002
1011
  constructor() {
1003
1012
  super("dht.Message", [
1004
1013
  { no: 1, name: "messageId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1005
- { no: 2, name: "messageType", kind: "enum", T: () => ["dht.MessageType", MessageType] },
1006
- { no: 3, name: "sourceDescriptor", kind: "message", T: () => PeerDescriptor },
1007
- { no: 4, name: "targetDescriptor", kind: "message", T: () => PeerDescriptor },
1008
- { no: 5, name: "serviceId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1014
+ { no: 2, name: "sourceDescriptor", kind: "message", T: () => PeerDescriptor },
1015
+ { no: 3, name: "targetDescriptor", kind: "message", T: () => PeerDescriptor },
1016
+ { no: 4, name: "serviceId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1017
+ { no: 5, name: "rpcMessage", kind: "message", oneof: "body", T: () => RpcMessage },
1009
1018
  { no: 6, name: "connectivityRequest", kind: "message", oneof: "body", T: () => ConnectivityRequest },
1010
1019
  { no: 7, name: "connectivityResponse", kind: "message", oneof: "body", T: () => ConnectivityResponse },
1011
1020
  { no: 8, name: "handshakeRequest", kind: "message", oneof: "body", T: () => HandshakeRequest },
1012
1021
  { no: 9, name: "handshakeResponse", kind: "message", oneof: "body", T: () => HandshakeResponse },
1013
- { no: 10, name: "rpcMessage", kind: "message", oneof: "body", T: () => RpcMessage },
1014
- { no: 11, name: "findRequest", kind: "message", oneof: "body", T: () => FindRequest }
1022
+ { no: 10, name: "recursiveOperationRequest", kind: "message", oneof: "body", T: () => RecursiveOperationRequest }
1015
1023
  ]);
1016
1024
  }
1017
1025
  }
@@ -1020,7 +1028,7 @@ class Message$Type extends MessageType$<Message> {
1020
1028
  */
1021
1029
  export const Message = new Message$Type();
1022
1030
  // @generated message type with reflection information, may provide speed optimized methods
1023
- class WebsocketConnectionRequest$Type extends MessageType$<WebsocketConnectionRequest> {
1031
+ class WebsocketConnectionRequest$Type extends MessageType<WebsocketConnectionRequest> {
1024
1032
  constructor() {
1025
1033
  super("dht.WebsocketConnectionRequest", []);
1026
1034
  }
@@ -1030,19 +1038,7 @@ class WebsocketConnectionRequest$Type extends MessageType$<WebsocketConnectionRe
1030
1038
  */
1031
1039
  export const WebsocketConnectionRequest = new WebsocketConnectionRequest$Type();
1032
1040
  // @generated message type with reflection information, may provide speed optimized methods
1033
- class WebsocketConnectionResponse$Type extends MessageType$<WebsocketConnectionResponse> {
1034
- constructor() {
1035
- super("dht.WebsocketConnectionResponse", [
1036
- { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1037
- ]);
1038
- }
1039
- }
1040
- /**
1041
- * @generated MessageType for protobuf message dht.WebsocketConnectionResponse
1042
- */
1043
- export const WebsocketConnectionResponse = new WebsocketConnectionResponse$Type();
1044
- // @generated message type with reflection information, may provide speed optimized methods
1045
- class WebrtcConnectionRequest$Type extends MessageType$<WebrtcConnectionRequest> {
1041
+ class WebrtcConnectionRequest$Type extends MessageType<WebrtcConnectionRequest> {
1046
1042
  constructor() {
1047
1043
  super("dht.WebrtcConnectionRequest", []);
1048
1044
  }
@@ -1052,7 +1048,7 @@ class WebrtcConnectionRequest$Type extends MessageType$<WebrtcConnectionRequest>
1052
1048
  */
1053
1049
  export const WebrtcConnectionRequest = new WebrtcConnectionRequest$Type();
1054
1050
  // @generated message type with reflection information, may provide speed optimized methods
1055
- class RtcOffer$Type extends MessageType$<RtcOffer> {
1051
+ class RtcOffer$Type extends MessageType<RtcOffer> {
1056
1052
  constructor() {
1057
1053
  super("dht.RtcOffer", [
1058
1054
  { no: 1, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
@@ -1065,7 +1061,7 @@ class RtcOffer$Type extends MessageType$<RtcOffer> {
1065
1061
  */
1066
1062
  export const RtcOffer = new RtcOffer$Type();
1067
1063
  // @generated message type with reflection information, may provide speed optimized methods
1068
- class RtcAnswer$Type extends MessageType$<RtcAnswer> {
1064
+ class RtcAnswer$Type extends MessageType<RtcAnswer> {
1069
1065
  constructor() {
1070
1066
  super("dht.RtcAnswer", [
1071
1067
  { no: 1, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
@@ -1078,7 +1074,7 @@ class RtcAnswer$Type extends MessageType$<RtcAnswer> {
1078
1074
  */
1079
1075
  export const RtcAnswer = new RtcAnswer$Type();
1080
1076
  // @generated message type with reflection information, may provide speed optimized methods
1081
- class IceCandidate$Type extends MessageType$<IceCandidate> {
1077
+ class IceCandidate$Type extends MessageType<IceCandidate> {
1082
1078
  constructor() {
1083
1079
  super("dht.IceCandidate", [
1084
1080
  { no: 1, name: "candidate", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
@@ -1092,7 +1088,7 @@ class IceCandidate$Type extends MessageType$<IceCandidate> {
1092
1088
  */
1093
1089
  export const IceCandidate = new IceCandidate$Type();
1094
1090
  // @generated message type with reflection information, may provide speed optimized methods
1095
- class LockRequest$Type extends MessageType$<LockRequest> {
1091
+ class LockRequest$Type extends MessageType<LockRequest> {
1096
1092
  constructor() {
1097
1093
  super("dht.LockRequest", [
1098
1094
  { no: 1, name: "lockId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
@@ -1104,7 +1100,7 @@ class LockRequest$Type extends MessageType$<LockRequest> {
1104
1100
  */
1105
1101
  export const LockRequest = new LockRequest$Type();
1106
1102
  // @generated message type with reflection information, may provide speed optimized methods
1107
- class UnlockRequest$Type extends MessageType$<UnlockRequest> {
1103
+ class UnlockRequest$Type extends MessageType<UnlockRequest> {
1108
1104
  constructor() {
1109
1105
  super("dht.UnlockRequest", [
1110
1106
  { no: 1, name: "lockId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
@@ -1116,11 +1112,10 @@ class UnlockRequest$Type extends MessageType$<UnlockRequest> {
1116
1112
  */
1117
1113
  export const UnlockRequest = new UnlockRequest$Type();
1118
1114
  // @generated message type with reflection information, may provide speed optimized methods
1119
- class LockResponse$Type extends MessageType$<LockResponse> {
1115
+ class LockResponse$Type extends MessageType<LockResponse> {
1120
1116
  constructor() {
1121
1117
  super("dht.LockResponse", [
1122
- { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1123
- { no: 2, name: "reason", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
1118
+ { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1124
1119
  ]);
1125
1120
  }
1126
1121
  }
@@ -1129,7 +1124,7 @@ class LockResponse$Type extends MessageType$<LockResponse> {
1129
1124
  */
1130
1125
  export const LockResponse = new LockResponse$Type();
1131
1126
  // @generated message type with reflection information, may provide speed optimized methods
1132
- class DisconnectNotice$Type extends MessageType$<DisconnectNotice> {
1127
+ class DisconnectNotice$Type extends MessageType<DisconnectNotice> {
1133
1128
  constructor() {
1134
1129
  super("dht.DisconnectNotice", [
1135
1130
  { no: 1, name: "disconnectMode", kind: "enum", T: () => ["dht.DisconnectMode", DisconnectMode] }
@@ -1141,45 +1136,35 @@ class DisconnectNotice$Type extends MessageType$<DisconnectNotice> {
1141
1136
  */
1142
1137
  export const DisconnectNotice = new DisconnectNotice$Type();
1143
1138
  // @generated message type with reflection information, may provide speed optimized methods
1144
- class DisconnectNoticeResponse$Type extends MessageType$<DisconnectNoticeResponse> {
1145
- constructor() {
1146
- super("dht.DisconnectNoticeResponse", []);
1147
- }
1148
- }
1149
- /**
1150
- * @generated MessageType for protobuf message dht.DisconnectNoticeResponse
1151
- */
1152
- export const DisconnectNoticeResponse = new DisconnectNoticeResponse$Type();
1153
- // @generated message type with reflection information, may provide speed optimized methods
1154
- class ExternalFindDataRequest$Type extends MessageType$<ExternalFindDataRequest> {
1139
+ class ExternalFetchDataRequest$Type extends MessageType<ExternalFetchDataRequest> {
1155
1140
  constructor() {
1156
- super("dht.ExternalFindDataRequest", [
1157
- { no: 1, name: "kademliaId", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
1141
+ super("dht.ExternalFetchDataRequest", [
1142
+ { no: 1, name: "key", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
1158
1143
  ]);
1159
1144
  }
1160
1145
  }
1161
1146
  /**
1162
- * @generated MessageType for protobuf message dht.ExternalFindDataRequest
1147
+ * @generated MessageType for protobuf message dht.ExternalFetchDataRequest
1163
1148
  */
1164
- export const ExternalFindDataRequest = new ExternalFindDataRequest$Type();
1149
+ export const ExternalFetchDataRequest = new ExternalFetchDataRequest$Type();
1165
1150
  // @generated message type with reflection information, may provide speed optimized methods
1166
- class ExternalFindDataResponse$Type extends MessageType$<ExternalFindDataResponse> {
1151
+ class ExternalFetchDataResponse$Type extends MessageType<ExternalFetchDataResponse> {
1167
1152
  constructor() {
1168
- super("dht.ExternalFindDataResponse", [
1169
- { no: 1, name: "dataEntries", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DataEntry },
1170
- { no: 2, name: "error", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1153
+ super("dht.ExternalFetchDataResponse", [
1154
+ { no: 1, name: "entries", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DataEntry }
1171
1155
  ]);
1172
1156
  }
1173
1157
  }
1174
1158
  /**
1175
- * @generated MessageType for protobuf message dht.ExternalFindDataResponse
1159
+ * @generated MessageType for protobuf message dht.ExternalFetchDataResponse
1176
1160
  */
1177
- export const ExternalFindDataResponse = new ExternalFindDataResponse$Type();
1161
+ export const ExternalFetchDataResponse = new ExternalFetchDataResponse$Type();
1178
1162
  /**
1179
1163
  * @generated ServiceType for protobuf service dht.DhtNodeRpc
1180
1164
  */
1181
1165
  export const DhtNodeRpc = new ServiceType("dht.DhtNodeRpc", [
1182
1166
  { name: "getClosestPeers", options: {}, I: ClosestPeersRequest, O: ClosestPeersResponse },
1167
+ { name: "getClosestRingPeers", options: {}, I: ClosestRingPeersRequest, O: ClosestRingPeersResponse },
1183
1168
  { name: "ping", options: {}, I: PingRequest, O: PingResponse },
1184
1169
  { name: "leaveNotice", options: {}, I: LeaveNotice, O: Empty }
1185
1170
  ]);
@@ -1191,30 +1176,29 @@ export const RouterRpc = new ServiceType("dht.RouterRpc", [
1191
1176
  { name: "forwardMessage", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1192
1177
  ]);
1193
1178
  /**
1194
- * @generated ServiceType for protobuf service dht.FindRpc
1179
+ * @generated ServiceType for protobuf service dht.RecursiveOperationRpc
1195
1180
  */
1196
- export const FindRpc = new ServiceType("dht.FindRpc", [
1197
- { name: "routeFindRequest", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1181
+ export const RecursiveOperationRpc = new ServiceType("dht.RecursiveOperationRpc", [
1182
+ { name: "routeRequest", options: {}, I: RouteMessageWrapper, O: RouteMessageAck }
1198
1183
  ]);
1199
1184
  /**
1200
1185
  * @generated ServiceType for protobuf service dht.StoreRpc
1201
1186
  */
1202
1187
  export const StoreRpc = new ServiceType("dht.StoreRpc", [
1203
1188
  { name: "storeData", options: {}, I: StoreDataRequest, O: StoreDataResponse },
1204
- { name: "migrateData", options: {}, I: MigrateDataRequest, O: MigrateDataResponse },
1205
- { name: "deleteData", options: {}, I: DeleteDataRequest, O: DeleteDataResponse }
1189
+ { name: "replicateData", options: {}, I: ReplicateDataRequest, O: Empty }
1206
1190
  ]);
1207
1191
  /**
1208
- * @generated ServiceType for protobuf service dht.FindSessionRpc
1192
+ * @generated ServiceType for protobuf service dht.RecursiveOperationSessionRpc
1209
1193
  */
1210
- export const FindSessionRpc = new ServiceType("dht.FindSessionRpc", [
1211
- { name: "sendFindResponse", options: {}, I: FindResponse, O: Empty }
1194
+ export const RecursiveOperationSessionRpc = new ServiceType("dht.RecursiveOperationSessionRpc", [
1195
+ { name: "sendResponse", options: {}, I: RecursiveOperationResponse, O: Empty }
1212
1196
  ]);
1213
1197
  /**
1214
1198
  * @generated ServiceType for protobuf service dht.WebsocketConnectorRpc
1215
1199
  */
1216
1200
  export const WebsocketConnectorRpc = new ServiceType("dht.WebsocketConnectorRpc", [
1217
- { name: "requestConnection", options: {}, I: WebsocketConnectionRequest, O: WebsocketConnectionResponse }
1201
+ { name: "requestConnection", options: {}, I: WebsocketConnectionRequest, O: Empty }
1218
1202
  ]);
1219
1203
  /**
1220
1204
  * @generated ServiceType for protobuf service dht.WebrtcConnectorRpc
@@ -1231,12 +1215,12 @@ export const WebrtcConnectorRpc = new ServiceType("dht.WebrtcConnectorRpc", [
1231
1215
  export const ConnectionLockRpc = new ServiceType("dht.ConnectionLockRpc", [
1232
1216
  { name: "lockRequest", options: {}, I: LockRequest, O: LockResponse },
1233
1217
  { name: "unlockRequest", options: {}, I: UnlockRequest, O: Empty },
1234
- { name: "gracefulDisconnect", options: {}, I: DisconnectNotice, O: DisconnectNoticeResponse }
1218
+ { name: "gracefulDisconnect", options: {}, I: DisconnectNotice, O: Empty }
1235
1219
  ]);
1236
1220
  /**
1237
1221
  * @generated ServiceType for protobuf service dht.ExternalApiRpc
1238
1222
  */
1239
1223
  export const ExternalApiRpc = new ServiceType("dht.ExternalApiRpc", [
1240
- { name: "externalFindData", options: {}, I: ExternalFindDataRequest, O: ExternalFindDataResponse },
1224
+ { name: "externalFetchData", options: {}, I: ExternalFetchDataRequest, O: ExternalFetchDataResponse },
1241
1225
  { name: "externalStoreData", options: {}, I: ExternalStoreDataRequest, O: ExternalStoreDataResponse }
1242
1226
  ]);