@streamr/trackerless-network 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 (262) hide show
  1. package/.eslintignore +7 -0
  2. package/.eslintrc +3 -0
  3. package/README.md +6 -0
  4. package/bin/bootstrap-node.ts +73 -0
  5. package/bin/full-node-webrtc.ts +102 -0
  6. package/bin/full-node-websocket.ts +102 -0
  7. package/bin/network.ts +43 -0
  8. package/dist/package.json +53 -0
  9. package/dist/src/NameDirectory.d.ts +5 -0
  10. package/dist/src/NameDirectory.js +44 -0
  11. package/dist/src/NameDirectory.js.map +1 -0
  12. package/dist/src/NetworkNode.d.ts +35 -0
  13. package/dist/src/NetworkNode.js +130 -0
  14. package/dist/src/NetworkNode.js.map +1 -0
  15. package/dist/src/NetworkStack.d.ts +32 -0
  16. package/dist/src/NetworkStack.js +108 -0
  17. package/dist/src/NetworkStack.js.map +1 -0
  18. package/dist/src/exports.d.ts +6 -0
  19. package/dist/src/exports.js +12 -0
  20. package/dist/src/exports.js.map +1 -0
  21. package/dist/src/identifiers.d.ts +1 -0
  22. package/dist/src/identifiers.js +3 -0
  23. package/dist/src/identifiers.js.map +1 -0
  24. package/dist/src/logic/DuplicateMessageDetector.d.ts +55 -0
  25. package/dist/src/logic/DuplicateMessageDetector.js +155 -0
  26. package/dist/src/logic/DuplicateMessageDetector.js.map +1 -0
  27. package/dist/src/logic/ILayer0.d.ts +13 -0
  28. package/dist/src/logic/ILayer0.js +3 -0
  29. package/dist/src/logic/ILayer0.js.map +1 -0
  30. package/dist/src/logic/IStreamNode.d.ts +12 -0
  31. package/dist/src/logic/IStreamNode.js +3 -0
  32. package/dist/src/logic/IStreamNode.js.map +1 -0
  33. package/dist/src/logic/PeerList.d.ts +27 -0
  34. package/dist/src/logic/PeerList.js +84 -0
  35. package/dist/src/logic/PeerList.js.map +1 -0
  36. package/dist/src/logic/RandomGraphNode.d.ts +68 -0
  37. package/dist/src/logic/RandomGraphNode.js +201 -0
  38. package/dist/src/logic/RandomGraphNode.js.map +1 -0
  39. package/dist/src/logic/Remote.d.ts +9 -0
  40. package/dist/src/logic/Remote.js +15 -0
  41. package/dist/src/logic/Remote.js.map +1 -0
  42. package/dist/src/logic/RemoteRandomGraphNode.d.ts +8 -0
  43. package/dist/src/logic/RemoteRandomGraphNode.js +35 -0
  44. package/dist/src/logic/RemoteRandomGraphNode.js.map +1 -0
  45. package/dist/src/logic/StreamEntryPointDiscovery.d.ts +36 -0
  46. package/dist/src/logic/StreamEntryPointDiscovery.js +179 -0
  47. package/dist/src/logic/StreamEntryPointDiscovery.js.map +1 -0
  48. package/dist/src/logic/StreamNodeServer.d.ts +20 -0
  49. package/dist/src/logic/StreamNodeServer.js +26 -0
  50. package/dist/src/logic/StreamNodeServer.js.map +1 -0
  51. package/dist/src/logic/StreamrNode.d.ts +76 -0
  52. package/dist/src/logic/StreamrNode.js +303 -0
  53. package/dist/src/logic/StreamrNode.js.map +1 -0
  54. package/dist/src/logic/createRandomGraphNode.d.ts +5 -0
  55. package/dist/src/logic/createRandomGraphNode.js +110 -0
  56. package/dist/src/logic/createRandomGraphNode.js.map +1 -0
  57. package/dist/src/logic/inspect/InspectSession.d.ts +18 -0
  58. package/dist/src/logic/inspect/InspectSession.js +38 -0
  59. package/dist/src/logic/inspect/InspectSession.js.map +1 -0
  60. package/dist/src/logic/inspect/Inspector.d.ts +33 -0
  61. package/dist/src/logic/inspect/Inspector.js +63 -0
  62. package/dist/src/logic/inspect/Inspector.js.map +1 -0
  63. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +35 -0
  64. package/dist/src/logic/neighbor-discovery/Handshaker.js +121 -0
  65. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -0
  66. package/dist/src/logic/neighbor-discovery/HandshakerServer.d.ts +30 -0
  67. package/dist/src/logic/neighbor-discovery/HandshakerServer.js +78 -0
  68. package/dist/src/logic/neighbor-discovery/HandshakerServer.js.map +1 -0
  69. package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +23 -0
  70. package/dist/src/logic/neighbor-discovery/NeighborFinder.js +44 -0
  71. package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -0
  72. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +30 -0
  73. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +42 -0
  74. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -0
  75. package/dist/src/logic/neighbor-discovery/NeighborUpdateManagerServer.d.ts +20 -0
  76. package/dist/src/logic/neighbor-discovery/NeighborUpdateManagerServer.js +42 -0
  77. package/dist/src/logic/neighbor-discovery/NeighborUpdateManagerServer.js.map +1 -0
  78. package/dist/src/logic/neighbor-discovery/RemoteHandshaker.d.ts +12 -0
  79. package/dist/src/logic/neighbor-discovery/RemoteHandshaker.js +54 -0
  80. package/dist/src/logic/neighbor-discovery/RemoteHandshaker.js.map +1 -0
  81. package/dist/src/logic/neighbor-discovery/RemoteNeighborUpdateManager.d.ts +11 -0
  82. package/dist/src/logic/neighbor-discovery/RemoteNeighborUpdateManager.js +37 -0
  83. package/dist/src/logic/neighbor-discovery/RemoteNeighborUpdateManager.js.map +1 -0
  84. package/dist/src/logic/propagation/FifoMapWithTTL.d.ts +36 -0
  85. package/dist/src/logic/propagation/FifoMapWithTTL.js +81 -0
  86. package/dist/src/logic/propagation/FifoMapWithTTL.js.map +1 -0
  87. package/dist/src/logic/propagation/Propagation.d.ts +31 -0
  88. package/dist/src/logic/propagation/Propagation.js +64 -0
  89. package/dist/src/logic/propagation/Propagation.js.map +1 -0
  90. package/dist/src/logic/propagation/PropagationTaskStore.d.ts +21 -0
  91. package/dist/src/logic/propagation/PropagationTaskStore.js +32 -0
  92. package/dist/src/logic/propagation/PropagationTaskStore.js.map +1 -0
  93. package/dist/src/logic/protocol-integration/stream-message/ContentMessageTranslator.d.ts +5 -0
  94. package/dist/src/logic/protocol-integration/stream-message/ContentMessageTranslator.js +17 -0
  95. package/dist/src/logic/protocol-integration/stream-message/ContentMessageTranslator.js.map +1 -0
  96. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.d.ts +6 -0
  97. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js +27 -0
  98. package/dist/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.js.map +1 -0
  99. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.d.ts +6 -0
  100. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js +33 -0
  101. package/dist/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.js.map +1 -0
  102. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.d.ts +6 -0
  103. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +109 -0
  104. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -0
  105. package/dist/src/logic/proxy/ProxyStreamConnectionClient.d.ts +44 -0
  106. package/dist/src/logic/proxy/ProxyStreamConnectionClient.js +189 -0
  107. package/dist/src/logic/proxy/ProxyStreamConnectionClient.js.map +1 -0
  108. package/dist/src/logic/proxy/ProxyStreamConnectionServer.d.ts +34 -0
  109. package/dist/src/logic/proxy/ProxyStreamConnectionServer.js +64 -0
  110. package/dist/src/logic/proxy/ProxyStreamConnectionServer.js.map +1 -0
  111. package/dist/src/logic/proxy/RemoteProxyServer.d.ts +7 -0
  112. package/dist/src/logic/proxy/RemoteProxyServer.js +36 -0
  113. package/dist/src/logic/proxy/RemoteProxyServer.js.map +1 -0
  114. package/dist/src/logic/temporary-connection/RemoteTemporaryConnectionRpcServer.d.ts +6 -0
  115. package/dist/src/logic/temporary-connection/RemoteTemporaryConnectionRpcServer.js +28 -0
  116. package/dist/src/logic/temporary-connection/RemoteTemporaryConnectionRpcServer.js.map +1 -0
  117. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcServer.d.ts +20 -0
  118. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcServer.js +29 -0
  119. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcServer.js.map +1 -0
  120. package/dist/src/logic/utils.d.ts +3 -0
  121. package/dist/src/logic/utils.js +16 -0
  122. package/dist/src/logic/utils.js.map +1 -0
  123. package/dist/src/proto/google/protobuf/any.d.ts +173 -0
  124. package/dist/src/proto/google/protobuf/any.js +155 -0
  125. package/dist/src/proto/google/protobuf/any.js.map +1 -0
  126. package/dist/src/proto/google/protobuf/empty.d.ts +32 -0
  127. package/dist/src/proto/google/protobuf/empty.js +34 -0
  128. package/dist/src/proto/google/protobuf/empty.js.map +1 -0
  129. package/dist/src/proto/google/protobuf/timestamp.d.ts +149 -0
  130. package/dist/src/proto/google/protobuf/timestamp.js +136 -0
  131. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -0
  132. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +320 -0
  133. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +245 -0
  134. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -0
  135. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +1089 -0
  136. package/dist/src/proto/packages/dht/protos/DhtRpc.js +710 -0
  137. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -0
  138. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +145 -0
  139. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js +3 -0
  140. package/dist/src/proto/packages/dht/protos/DhtRpc.server.js.map +1 -0
  141. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.d.ts +87 -0
  142. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +66 -0
  143. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js.map +1 -0
  144. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +156 -0
  145. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +122 -0
  146. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -0
  147. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +524 -0
  148. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +350 -0
  149. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -0
  150. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +65 -0
  151. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.js +3 -0
  152. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.js.map +1 -0
  153. package/dist/test/benchmark/first-message.d.ts +1 -0
  154. package/dist/test/benchmark/first-message.js +137 -0
  155. package/dist/test/benchmark/first-message.js.map +1 -0
  156. package/dist/test/utils/utils.d.ts +12 -0
  157. package/dist/test/utils/utils.js +86 -0
  158. package/dist/test/utils/utils.js.map +1 -0
  159. package/jest.config.js +36 -0
  160. package/karma.config.js +20 -0
  161. package/log.txt +501 -0
  162. package/package.json +53 -0
  163. package/proto.sh +2 -0
  164. package/protos/NetworkRpc.proto +161 -0
  165. package/src/NameDirectory.ts +44 -0
  166. package/src/NetworkNode.ts +169 -0
  167. package/src/NetworkStack.ts +144 -0
  168. package/src/exports.ts +6 -0
  169. package/src/identifiers.ts +1 -0
  170. package/src/logic/DuplicateMessageDetector.ts +167 -0
  171. package/src/logic/ILayer0.ts +14 -0
  172. package/src/logic/IStreamNode.ts +17 -0
  173. package/src/logic/PeerList.ts +106 -0
  174. package/src/logic/RandomGraphNode.ts +310 -0
  175. package/src/logic/Remote.ts +19 -0
  176. package/src/logic/RemoteRandomGraphNode.ts +39 -0
  177. package/src/logic/StreamEntryPointDiscovery.ts +221 -0
  178. package/src/logic/StreamNodeServer.ts +44 -0
  179. package/src/logic/StreamrNode.ts +416 -0
  180. package/src/logic/createRandomGraphNode.ts +114 -0
  181. package/src/logic/inspect/InspectSession.ts +49 -0
  182. package/src/logic/inspect/Inspector.ts +89 -0
  183. package/src/logic/neighbor-discovery/Handshaker.ts +180 -0
  184. package/src/logic/neighbor-discovery/HandshakerServer.ts +99 -0
  185. package/src/logic/neighbor-discovery/NeighborFinder.ts +61 -0
  186. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +67 -0
  187. package/src/logic/neighbor-discovery/NeighborUpdateManagerServer.ts +61 -0
  188. package/src/logic/neighbor-discovery/RemoteHandshaker.ts +64 -0
  189. package/src/logic/neighbor-discovery/RemoteNeighborUpdateManager.ts +41 -0
  190. package/src/logic/propagation/FifoMapWithTTL.ts +108 -0
  191. package/src/logic/propagation/Propagation.ts +83 -0
  192. package/src/logic/propagation/PropagationTaskStore.ts +40 -0
  193. package/src/logic/protocol-integration/stream-message/ContentMessageTranslator.ts +16 -0
  194. package/src/logic/protocol-integration/stream-message/GroupKeyRequestTranslator.ts +28 -0
  195. package/src/logic/protocol-integration/stream-message/GroupKeyResponseTranslator.ts +38 -0
  196. package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +142 -0
  197. package/src/logic/proxy/ProxyStreamConnectionClient.ts +255 -0
  198. package/src/logic/proxy/ProxyStreamConnectionServer.ts +97 -0
  199. package/src/logic/proxy/RemoteProxyServer.ts +36 -0
  200. package/src/logic/temporary-connection/RemoteTemporaryConnectionRpcServer.ts +27 -0
  201. package/src/logic/temporary-connection/TemporaryConnectionRpcServer.ts +50 -0
  202. package/src/logic/utils.ts +17 -0
  203. package/src/proto/google/protobuf/any.ts +319 -0
  204. package/src/proto/google/protobuf/empty.ts +84 -0
  205. package/src/proto/google/protobuf/timestamp.ts +281 -0
  206. package/src/proto/packages/dht/protos/DhtRpc.client.ts +373 -0
  207. package/src/proto/packages/dht/protos/DhtRpc.server.ts +148 -0
  208. package/src/proto/packages/dht/protos/DhtRpc.ts +1399 -0
  209. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +108 -0
  210. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +176 -0
  211. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +68 -0
  212. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +667 -0
  213. package/test/benchmark/first-message.ts +155 -0
  214. package/test/end-to-end/inspect.test.ts +119 -0
  215. package/test/end-to-end/proxy-and-full-node.test.ts +140 -0
  216. package/test/end-to-end/proxy-connections.test.ts +228 -0
  217. package/test/end-to-end/proxy-key-exchange.test.ts +142 -0
  218. package/test/end-to-end/random-graph-with-real-connections.test.ts +154 -0
  219. package/test/end-to-end/webrtc-full-node-network.test.ts +97 -0
  220. package/test/end-to-end/websocket-full-node-network.test.ts +93 -0
  221. package/test/integration/Handshakes.test.ts +167 -0
  222. package/test/integration/Inspect.test.ts +102 -0
  223. package/test/integration/NetworkNode.test.ts +99 -0
  224. package/test/integration/NetworkRpc.test.ts +61 -0
  225. package/test/integration/NetworkStack.test.ts +74 -0
  226. package/test/integration/NetworkStackStoppedDuringStart.test.ts +45 -0
  227. package/test/integration/Propagation.test.ts +79 -0
  228. package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +141 -0
  229. package/test/integration/RandomGraphNode-Layer1Node.test.ts +226 -0
  230. package/test/integration/RemoteHandshaker.test.ts +78 -0
  231. package/test/integration/RemoteNeighborUpdateManager.test.ts +82 -0
  232. package/test/integration/RemoteRandomGraphNode.test.ts +102 -0
  233. package/test/integration/StreamrNode.test.ts +145 -0
  234. package/test/integration/stream-without-default-entrypoints.test.ts +132 -0
  235. package/test/unit/ContentMessageTranslator.test.ts +20 -0
  236. package/test/unit/DuplicateMessageDetector.test.ts +192 -0
  237. package/test/unit/FifoMapWithTtl.test.ts +229 -0
  238. package/test/unit/GroupKeyRequestTranslator.test.ts +36 -0
  239. package/test/unit/GroupKeyResponseTranslator.test.ts +39 -0
  240. package/test/unit/Handshaker.test.ts +63 -0
  241. package/test/unit/HandshakerServer.test.ts +123 -0
  242. package/test/unit/InspectSession.test.ts +78 -0
  243. package/test/unit/Inspector.test.ts +57 -0
  244. package/test/unit/NeighborFinder.test.ts +48 -0
  245. package/test/unit/NumberPair.test.ts +22 -0
  246. package/test/unit/PeerList.test.ts +150 -0
  247. package/test/unit/Propagation.test.ts +134 -0
  248. package/test/unit/RandomGraphNode.test.ts +73 -0
  249. package/test/unit/StreamEntrypointDiscovery.test.ts +152 -0
  250. package/test/unit/StreamMessageTranslator.test.ts +67 -0
  251. package/test/unit/StreamNodeServer.test.ts +63 -0
  252. package/test/unit/StreamrNode.test.ts +74 -0
  253. package/test/utils/mock/MockHandshaker.ts +15 -0
  254. package/test/utils/mock/MockLayer0.ts +71 -0
  255. package/test/utils/mock/MockLayer1.ts +6 -0
  256. package/test/utils/mock/MockNeighborFinder.ts +19 -0
  257. package/test/utils/mock/MockNeighborUpdateManager.ts +21 -0
  258. package/test/utils/mock/Transport.ts +25 -0
  259. package/test/utils/utils.ts +104 -0
  260. package/tsconfig.browser.json +12 -0
  261. package/tsconfig.jest.json +15 -0
  262. package/tsconfig.node.json +18 -0
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemporaryConnectionRpc = exports.NeighborUpdateRpc = exports.HandshakeRpc = exports.ProxyConnectionRpc = exports.NetworkRpc = exports.TemporaryConnectionResponse = exports.TemporaryConnectionRequest = exports.ProxyConnectionResponse = exports.ProxyConnectionRequest = exports.StreamEntryPoint = exports.NeighborUpdate = exports.LeaveStreamNotice = exports.InterleaveNotice = exports.StreamHandshakeResponse = exports.StreamHandshakeRequest = exports.Layer2Message = exports.GroupKeyResponse = exports.GroupKeyRequest = exports.StreamMessage = exports.EncryptedGroupKey = exports.ContentMessage = exports.MessageRef = exports.ProxyDirection = exports.Layer2Type = exports.EncryptionType = exports.StreamMessageType = 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/trackerless-network/protos/NetworkRpc.proto" (syntax proto3)
6
+ // tslint:disable
7
+ const empty_1 = require("../../../google/protobuf/empty");
8
+ const runtime_rpc_1 = require("@protobuf-ts/runtime-rpc");
9
+ const runtime_1 = require("@protobuf-ts/runtime");
10
+ const DhtRpc_1 = require("../../dht/protos/DhtRpc");
11
+ /**
12
+ * @generated from protobuf enum StreamMessageType
13
+ */
14
+ var StreamMessageType;
15
+ (function (StreamMessageType) {
16
+ /**
17
+ * @generated from protobuf enum value: MESSAGE = 0;
18
+ */
19
+ StreamMessageType[StreamMessageType["MESSAGE"] = 0] = "MESSAGE";
20
+ /**
21
+ * @generated from protobuf enum value: GROUP_KEY_REQUEST = 1;
22
+ */
23
+ StreamMessageType[StreamMessageType["GROUP_KEY_REQUEST"] = 1] = "GROUP_KEY_REQUEST";
24
+ /**
25
+ * @generated from protobuf enum value: GROUP_KEY_RESPONSE = 2;
26
+ */
27
+ StreamMessageType[StreamMessageType["GROUP_KEY_RESPONSE"] = 2] = "GROUP_KEY_RESPONSE";
28
+ })(StreamMessageType || (exports.StreamMessageType = StreamMessageType = {}));
29
+ /**
30
+ * @generated from protobuf enum EncryptionType
31
+ */
32
+ var EncryptionType;
33
+ (function (EncryptionType) {
34
+ /**
35
+ * @generated from protobuf enum value: NONE = 0;
36
+ */
37
+ EncryptionType[EncryptionType["NONE"] = 0] = "NONE";
38
+ /**
39
+ * @generated from protobuf enum value: RSA = 1;
40
+ */
41
+ EncryptionType[EncryptionType["RSA"] = 1] = "RSA";
42
+ /**
43
+ * @generated from protobuf enum value: AES = 2;
44
+ */
45
+ EncryptionType[EncryptionType["AES"] = 2] = "AES";
46
+ })(EncryptionType || (exports.EncryptionType = EncryptionType = {}));
47
+ /**
48
+ * @generated from protobuf enum Layer2Type
49
+ */
50
+ var Layer2Type;
51
+ (function (Layer2Type) {
52
+ /**
53
+ * @generated from protobuf enum value: Data = 0;
54
+ */
55
+ Layer2Type[Layer2Type["Data"] = 0] = "Data";
56
+ })(Layer2Type || (exports.Layer2Type = Layer2Type = {}));
57
+ /**
58
+ * @generated from protobuf enum ProxyDirection
59
+ */
60
+ var ProxyDirection;
61
+ (function (ProxyDirection) {
62
+ /**
63
+ * @generated from protobuf enum value: PUBLISH = 0;
64
+ */
65
+ ProxyDirection[ProxyDirection["PUBLISH"] = 0] = "PUBLISH";
66
+ /**
67
+ * @generated from protobuf enum value: SUBSCRIBE = 1;
68
+ */
69
+ ProxyDirection[ProxyDirection["SUBSCRIBE"] = 1] = "SUBSCRIBE";
70
+ })(ProxyDirection || (exports.ProxyDirection = ProxyDirection = {}));
71
+ // @generated message type with reflection information, may provide speed optimized methods
72
+ class MessageRef$Type extends runtime_1.MessageType {
73
+ constructor() {
74
+ super("MessageRef", [
75
+ { no: 1, name: "timestamp", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
76
+ { no: 2, name: "sequenceNumber", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
77
+ { no: 3, name: "messageChainId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
78
+ { no: 4, name: "streamId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
79
+ { no: 5, name: "streamPartition", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
80
+ { no: 6, name: "publisherId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
81
+ ]);
82
+ }
83
+ }
84
+ /**
85
+ * @generated MessageType for protobuf message MessageRef
86
+ */
87
+ exports.MessageRef = new MessageRef$Type();
88
+ // @generated message type with reflection information, may provide speed optimized methods
89
+ class ContentMessage$Type extends runtime_1.MessageType {
90
+ constructor() {
91
+ super("ContentMessage", [
92
+ { no: 1, name: "body", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
93
+ ]);
94
+ }
95
+ }
96
+ /**
97
+ * @generated MessageType for protobuf message ContentMessage
98
+ */
99
+ exports.ContentMessage = new ContentMessage$Type();
100
+ // @generated message type with reflection information, may provide speed optimized methods
101
+ class EncryptedGroupKey$Type extends runtime_1.MessageType {
102
+ constructor() {
103
+ super("EncryptedGroupKey", [
104
+ { no: 1, name: "groupKeyId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
105
+ { no: 2, name: "encryptedGroupKeyHex", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
106
+ { no: 3, name: "serialized", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
107
+ ]);
108
+ }
109
+ }
110
+ /**
111
+ * @generated MessageType for protobuf message EncryptedGroupKey
112
+ */
113
+ exports.EncryptedGroupKey = new EncryptedGroupKey$Type();
114
+ // @generated message type with reflection information, may provide speed optimized methods
115
+ class StreamMessage$Type extends runtime_1.MessageType {
116
+ constructor() {
117
+ super("StreamMessage", [
118
+ { no: 1, name: "messageType", kind: "enum", T: () => ["StreamMessageType", StreamMessageType] },
119
+ { no: 2, name: "encryptionType", kind: "enum", opt: true, T: () => ["EncryptionType", EncryptionType] },
120
+ { no: 3, name: "content", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
121
+ { no: 4, name: "signature", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
122
+ { no: 5, name: "messageRef", kind: "message", T: () => exports.MessageRef },
123
+ { no: 6, name: "previousMessageRef", kind: "message", T: () => exports.MessageRef },
124
+ { no: 7, name: "groupKeyId", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
125
+ { no: 8, name: "newGroupKey", kind: "message", T: () => exports.EncryptedGroupKey }
126
+ ]);
127
+ }
128
+ }
129
+ /**
130
+ * @generated MessageType for protobuf message StreamMessage
131
+ */
132
+ exports.StreamMessage = new StreamMessage$Type();
133
+ // @generated message type with reflection information, may provide speed optimized methods
134
+ class GroupKeyRequest$Type extends runtime_1.MessageType {
135
+ constructor() {
136
+ super("GroupKeyRequest", [
137
+ { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
138
+ { no: 2, name: "recipient", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
139
+ { no: 3, name: "rsaPublicKey", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
140
+ { no: 4, name: "groupKeyIds", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
141
+ ]);
142
+ }
143
+ }
144
+ /**
145
+ * @generated MessageType for protobuf message GroupKeyRequest
146
+ */
147
+ exports.GroupKeyRequest = new GroupKeyRequest$Type();
148
+ // @generated message type with reflection information, may provide speed optimized methods
149
+ class GroupKeyResponse$Type extends runtime_1.MessageType {
150
+ constructor() {
151
+ super("GroupKeyResponse", [
152
+ { no: 1, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
153
+ { no: 2, name: "recipient", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
154
+ { no: 3, name: "encryptedGroupKeys", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => exports.EncryptedGroupKey }
155
+ ]);
156
+ }
157
+ }
158
+ /**
159
+ * @generated MessageType for protobuf message GroupKeyResponse
160
+ */
161
+ exports.GroupKeyResponse = new GroupKeyResponse$Type();
162
+ // @generated message type with reflection information, may provide speed optimized methods
163
+ class Layer2Message$Type extends runtime_1.MessageType {
164
+ constructor() {
165
+ super("Layer2Message", [
166
+ { no: 1, name: "type", kind: "enum", T: () => ["Layer2Type", Layer2Type] }
167
+ ]);
168
+ }
169
+ }
170
+ /**
171
+ * @generated MessageType for protobuf message Layer2Message
172
+ */
173
+ exports.Layer2Message = new Layer2Message$Type();
174
+ // @generated message type with reflection information, may provide speed optimized methods
175
+ class StreamHandshakeRequest$Type extends runtime_1.MessageType {
176
+ constructor() {
177
+ super("StreamHandshakeRequest", [
178
+ { no: 1, name: "randomGraphId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
179
+ { no: 2, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
180
+ { no: 3, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
181
+ { no: 4, name: "concurrentHandshakeTargetId", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
182
+ { no: 5, name: "neighbors", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
183
+ { no: 6, name: "senderDescriptor", kind: "message", T: () => DhtRpc_1.PeerDescriptor },
184
+ { no: 7, name: "interleavingFrom", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
185
+ ]);
186
+ }
187
+ }
188
+ /**
189
+ * @generated MessageType for protobuf message StreamHandshakeRequest
190
+ */
191
+ exports.StreamHandshakeRequest = new StreamHandshakeRequest$Type();
192
+ // @generated message type with reflection information, may provide speed optimized methods
193
+ class StreamHandshakeResponse$Type extends runtime_1.MessageType {
194
+ constructor() {
195
+ super("StreamHandshakeResponse", [
196
+ { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
197
+ { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
198
+ { no: 3, name: "interleaveTarget", kind: "message", T: () => DhtRpc_1.PeerDescriptor }
199
+ ]);
200
+ }
201
+ }
202
+ /**
203
+ * @generated MessageType for protobuf message StreamHandshakeResponse
204
+ */
205
+ exports.StreamHandshakeResponse = new StreamHandshakeResponse$Type();
206
+ // @generated message type with reflection information, may provide speed optimized methods
207
+ class InterleaveNotice$Type extends runtime_1.MessageType {
208
+ constructor() {
209
+ super("InterleaveNotice", [
210
+ { no: 1, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
211
+ { no: 2, name: "randomGraphId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
212
+ { no: 3, name: "interleaveTarget", kind: "message", T: () => DhtRpc_1.PeerDescriptor }
213
+ ]);
214
+ }
215
+ }
216
+ /**
217
+ * @generated MessageType for protobuf message InterleaveNotice
218
+ */
219
+ exports.InterleaveNotice = new InterleaveNotice$Type();
220
+ // @generated message type with reflection information, may provide speed optimized methods
221
+ class LeaveStreamNotice$Type extends runtime_1.MessageType {
222
+ constructor() {
223
+ super("LeaveStreamNotice", [
224
+ { no: 1, name: "randomGraphId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
225
+ { no: 2, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
226
+ ]);
227
+ }
228
+ }
229
+ /**
230
+ * @generated MessageType for protobuf message LeaveStreamNotice
231
+ */
232
+ exports.LeaveStreamNotice = new LeaveStreamNotice$Type();
233
+ // @generated message type with reflection information, may provide speed optimized methods
234
+ class NeighborUpdate$Type extends runtime_1.MessageType {
235
+ constructor() {
236
+ super("NeighborUpdate", [
237
+ { no: 1, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
238
+ { no: 2, name: "randomGraphId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
239
+ { no: 3, name: "removeMe", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
240
+ { no: 4, name: "neighborDescriptors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => DhtRpc_1.PeerDescriptor }
241
+ ]);
242
+ }
243
+ }
244
+ /**
245
+ * @generated MessageType for protobuf message NeighborUpdate
246
+ */
247
+ exports.NeighborUpdate = new NeighborUpdate$Type();
248
+ // @generated message type with reflection information, may provide speed optimized methods
249
+ class StreamEntryPoint$Type extends runtime_1.MessageType {
250
+ constructor() {
251
+ super("StreamEntryPoint", [
252
+ { no: 1, name: "peerDescriptor", kind: "message", T: () => DhtRpc_1.PeerDescriptor },
253
+ { no: 2, name: "firstToJoin", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
254
+ ]);
255
+ }
256
+ }
257
+ /**
258
+ * @generated MessageType for protobuf message StreamEntryPoint
259
+ */
260
+ exports.StreamEntryPoint = new StreamEntryPoint$Type();
261
+ // @generated message type with reflection information, may provide speed optimized methods
262
+ class ProxyConnectionRequest$Type extends runtime_1.MessageType {
263
+ constructor() {
264
+ super("ProxyConnectionRequest", [
265
+ { no: 1, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
266
+ { no: 2, name: "streamId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
267
+ { no: 3, name: "streamPartition", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
268
+ { no: 4, name: "direction", kind: "enum", T: () => ["ProxyDirection", ProxyDirection] },
269
+ { no: 5, name: "userId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
270
+ { no: 6, name: "senderDescriptor", kind: "message", T: () => DhtRpc_1.PeerDescriptor }
271
+ ]);
272
+ }
273
+ }
274
+ /**
275
+ * @generated MessageType for protobuf message ProxyConnectionRequest
276
+ */
277
+ exports.ProxyConnectionRequest = new ProxyConnectionRequest$Type();
278
+ // @generated message type with reflection information, may provide speed optimized methods
279
+ class ProxyConnectionResponse$Type extends runtime_1.MessageType {
280
+ constructor() {
281
+ super("ProxyConnectionResponse", [
282
+ { no: 1, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
283
+ { no: 2, name: "streamId", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
284
+ { no: 3, name: "streamPartition", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
285
+ { no: 4, name: "direction", kind: "enum", T: () => ["ProxyDirection", ProxyDirection] },
286
+ { no: 5, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
287
+ ]);
288
+ }
289
+ }
290
+ /**
291
+ * @generated MessageType for protobuf message ProxyConnectionResponse
292
+ */
293
+ exports.ProxyConnectionResponse = new ProxyConnectionResponse$Type();
294
+ // @generated message type with reflection information, may provide speed optimized methods
295
+ class TemporaryConnectionRequest$Type extends runtime_1.MessageType {
296
+ constructor() {
297
+ super("TemporaryConnectionRequest", [
298
+ { no: 1, name: "senderId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
299
+ ]);
300
+ }
301
+ }
302
+ /**
303
+ * @generated MessageType for protobuf message TemporaryConnectionRequest
304
+ */
305
+ exports.TemporaryConnectionRequest = new TemporaryConnectionRequest$Type();
306
+ // @generated message type with reflection information, may provide speed optimized methods
307
+ class TemporaryConnectionResponse$Type extends runtime_1.MessageType {
308
+ constructor() {
309
+ super("TemporaryConnectionResponse", [
310
+ { no: 1, name: "accepted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
311
+ ]);
312
+ }
313
+ }
314
+ /**
315
+ * @generated MessageType for protobuf message TemporaryConnectionResponse
316
+ */
317
+ exports.TemporaryConnectionResponse = new TemporaryConnectionResponse$Type();
318
+ /**
319
+ * @generated ServiceType for protobuf service NetworkRpc
320
+ */
321
+ exports.NetworkRpc = new runtime_rpc_1.ServiceType("NetworkRpc", [
322
+ { name: "sendData", options: {}, I: exports.StreamMessage, O: empty_1.Empty },
323
+ { name: "leaveStreamNotice", options: {}, I: exports.LeaveStreamNotice, O: empty_1.Empty }
324
+ ]);
325
+ /**
326
+ * @generated ServiceType for protobuf service ProxyConnectionRpc
327
+ */
328
+ exports.ProxyConnectionRpc = new runtime_rpc_1.ServiceType("ProxyConnectionRpc", [
329
+ { name: "requestConnection", options: {}, I: exports.ProxyConnectionRequest, O: exports.ProxyConnectionResponse }
330
+ ]);
331
+ /**
332
+ * @generated ServiceType for protobuf service HandshakeRpc
333
+ */
334
+ exports.HandshakeRpc = new runtime_rpc_1.ServiceType("HandshakeRpc", [
335
+ { name: "handshake", options: {}, I: exports.StreamHandshakeRequest, O: exports.StreamHandshakeResponse },
336
+ { name: "interleaveNotice", options: {}, I: exports.InterleaveNotice, O: empty_1.Empty }
337
+ ]);
338
+ /**
339
+ * @generated ServiceType for protobuf service NeighborUpdateRpc
340
+ */
341
+ exports.NeighborUpdateRpc = new runtime_rpc_1.ServiceType("NeighborUpdateRpc", [
342
+ { name: "neighborUpdate", options: {}, I: exports.NeighborUpdate, O: exports.NeighborUpdate }
343
+ ]);
344
+ /**
345
+ * @generated ServiceType for protobuf service TemporaryConnectionRpc
346
+ */
347
+ exports.TemporaryConnectionRpc = new runtime_rpc_1.ServiceType("TemporaryConnectionRpc", [
348
+ { name: "openConnection", options: {}, I: exports.TemporaryConnectionRequest, O: exports.TemporaryConnectionResponse }
349
+ ]);
350
+ //# sourceMappingURL=NetworkRpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/trackerless-network/protos/NetworkRpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { TemporaryConnectionResponse } from "./NetworkRpc";
2
+ import { TemporaryConnectionRequest } from "./NetworkRpc";
3
+ import { NeighborUpdate } from "./NetworkRpc";
4
+ import { InterleaveNotice } from "./NetworkRpc";
5
+ import { StreamHandshakeResponse } from "./NetworkRpc";
6
+ import { StreamHandshakeRequest } from "./NetworkRpc";
7
+ import { ProxyConnectionResponse } from "./NetworkRpc";
8
+ import { ProxyConnectionRequest } from "./NetworkRpc";
9
+ import { LeaveStreamNotice } from "./NetworkRpc";
10
+ import { Empty } from "../../../google/protobuf/empty";
11
+ import { StreamMessage } from "./NetworkRpc";
12
+ import { ServerCallContext } from "@protobuf-ts/runtime-rpc";
13
+ /**
14
+ * @generated from protobuf service NetworkRpc
15
+ */
16
+ export interface INetworkRpc<T = ServerCallContext> {
17
+ /**
18
+ * @generated from protobuf rpc: sendData(StreamMessage) returns (google.protobuf.Empty);
19
+ */
20
+ sendData(request: StreamMessage, context: T): Promise<Empty>;
21
+ /**
22
+ * @generated from protobuf rpc: leaveStreamNotice(LeaveStreamNotice) returns (google.protobuf.Empty);
23
+ */
24
+ leaveStreamNotice(request: LeaveStreamNotice, context: T): Promise<Empty>;
25
+ }
26
+ /**
27
+ * @generated from protobuf service ProxyConnectionRpc
28
+ */
29
+ export interface IProxyConnectionRpc<T = ServerCallContext> {
30
+ /**
31
+ * @generated from protobuf rpc: requestConnection(ProxyConnectionRequest) returns (ProxyConnectionResponse);
32
+ */
33
+ requestConnection(request: ProxyConnectionRequest, context: T): Promise<ProxyConnectionResponse>;
34
+ }
35
+ /**
36
+ * @generated from protobuf service HandshakeRpc
37
+ */
38
+ export interface IHandshakeRpc<T = ServerCallContext> {
39
+ /**
40
+ * @generated from protobuf rpc: handshake(StreamHandshakeRequest) returns (StreamHandshakeResponse);
41
+ */
42
+ handshake(request: StreamHandshakeRequest, context: T): Promise<StreamHandshakeResponse>;
43
+ /**
44
+ * @generated from protobuf rpc: interleaveNotice(InterleaveNotice) returns (google.protobuf.Empty);
45
+ */
46
+ interleaveNotice(request: InterleaveNotice, context: T): Promise<Empty>;
47
+ }
48
+ /**
49
+ * @generated from protobuf service NeighborUpdateRpc
50
+ */
51
+ export interface INeighborUpdateRpc<T = ServerCallContext> {
52
+ /**
53
+ * @generated from protobuf rpc: neighborUpdate(NeighborUpdate) returns (NeighborUpdate);
54
+ */
55
+ neighborUpdate(request: NeighborUpdate, context: T): Promise<NeighborUpdate>;
56
+ }
57
+ /**
58
+ * @generated from protobuf service TemporaryConnectionRpc
59
+ */
60
+ export interface ITemporaryConnectionRpc<T = ServerCallContext> {
61
+ /**
62
+ * @generated from protobuf rpc: openConnection(TemporaryConnectionRequest) returns (TemporaryConnectionResponse);
63
+ */
64
+ openConnection(request: TemporaryConnectionRequest, context: T): Promise<TemporaryConnectionResponse>;
65
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=NetworkRpc.server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkRpc.server.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /* eslint-disable no-console */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const dht_1 = require("@streamr/dht");
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const utils_1 = require("../utils/utils");
10
+ const protocol_1 = require("@streamr/protocol");
11
+ const utils_2 = require("@streamr/utils");
12
+ const StreamEntryPointDiscovery_1 = require("../../src/logic/StreamEntryPointDiscovery");
13
+ const numNodes = 10000;
14
+ let nodes;
15
+ let simulator;
16
+ let layer0Ep;
17
+ const publishIntervals = [];
18
+ const streams = new Map();
19
+ let currentNode;
20
+ let publishInterval;
21
+ let i = 0;
22
+ const prepareLayer0 = async () => {
23
+ console.log('Preparing network');
24
+ nodes = [];
25
+ simulator = new dht_1.Simulator(dht_1.LatencyType.REAL);
26
+ const entryPointId = dht_1.PeerID.generateRandom();
27
+ const peerDescriptor = {
28
+ kademliaId: entryPointId.value,
29
+ region: (0, dht_1.getRandomRegion)(),
30
+ type: 0,
31
+ nodeName: 'entrypoint'
32
+ };
33
+ layer0Ep = peerDescriptor;
34
+ const entryPoint = (0, utils_1.createNetworkNodeWithSimulator)(peerDescriptor, simulator, [peerDescriptor]);
35
+ await entryPoint.start();
36
+ nodes.push(entryPoint);
37
+ console.log('Entrypoint ready');
38
+ };
39
+ const prepareStream = async (streamId) => {
40
+ console.log('Preparing stream ');
41
+ const publisherId = dht_1.PeerID.generateRandom();
42
+ const peerDescriptor = {
43
+ kademliaId: publisherId.value,
44
+ region: (0, dht_1.getRandomRegion)(),
45
+ type: 0,
46
+ nodeName: streamId
47
+ };
48
+ const streamPartId = (0, protocol_1.toStreamPartID)((0, protocol_1.toStreamID)(streamId), 0);
49
+ const streamPublisher = (0, utils_1.createNetworkNodeWithSimulator)(peerDescriptor, simulator, [layer0Ep]);
50
+ await streamPublisher.start();
51
+ streamPublisher.subscribe(streamPartId);
52
+ nodes.push(streamPublisher);
53
+ streams.set(streamPartId, streamPublisher);
54
+ };
55
+ const shutdownNetwork = async () => {
56
+ publishIntervals.map((interval) => clearInterval(interval));
57
+ await Promise.all([
58
+ ...nodes.map((node) => node.stop())
59
+ ]);
60
+ simulator.stop();
61
+ };
62
+ const measureJoiningTime = async (count) => {
63
+ const nodeId = dht_1.PeerID.generateRandom();
64
+ const peerDescriptor = {
65
+ kademliaId: nodeId.value,
66
+ type: 0,
67
+ region: (0, dht_1.getRandomRegion)(),
68
+ nodeName: `${count}`
69
+ };
70
+ console.log('starting node with id ', nodeId.toKey());
71
+ // start publishing ons stream
72
+ const stream = Array.from(streams.keys())[Math.floor(Math.random() * streams.size)];
73
+ console.log(stream);
74
+ publishInterval = setInterval(() => {
75
+ i += 1;
76
+ const streamMessage = new protocol_1.StreamMessage({
77
+ messageId: new protocol_1.MessageID(protocol_1.StreamPartIDUtils.getStreamID(stream), 0, i, Math.floor(Math.random() * 20000), 'peer', 'msgChainId'),
78
+ prevMsgRef: null,
79
+ content: {
80
+ hello: 'world'
81
+ },
82
+ messageType: protocol_1.StreamMessageType.MESSAGE,
83
+ signature: 'signature',
84
+ });
85
+ streams.get(stream).publish(streamMessage);
86
+ }, 1000);
87
+ // get random node from network to use as entrypoint
88
+ const randomNode = nodes[Math.floor(Math.random() * nodes.length)];
89
+ const streamSubscriber = (0, utils_1.createNetworkNodeWithSimulator)(peerDescriptor, simulator, [randomNode.stack.getLayer0DhtNode().getPeerDescriptor()]);
90
+ currentNode = streamSubscriber;
91
+ const start = performance.now();
92
+ await streamSubscriber.start();
93
+ await Promise.all([
94
+ (0, utils_2.waitForEvent3)(streamSubscriber.stack.getStreamrNode(), 'newMessage', 60000),
95
+ streamSubscriber.subscribe(stream)
96
+ ]);
97
+ const end = performance.now();
98
+ nodes.push(streamSubscriber);
99
+ clearInterval(publishInterval);
100
+ publishInterval = undefined;
101
+ return end - start;
102
+ };
103
+ const run = async () => {
104
+ dht_1.Simulator.useFakeTimers();
105
+ await prepareLayer0();
106
+ for (let i = 0; i < 20; i++) {
107
+ await prepareStream(`stream-${i}`);
108
+ }
109
+ const logFile = fs_1.default.openSync('FirstMessageTime.log', 'w');
110
+ fs_1.default.writeSync(logFile, 'Network size' + '\t' + 'Time to receive first message time (ms)' + '\n');
111
+ for (let i = 0; i < numNodes; i++) {
112
+ const time = await measureJoiningTime(i);
113
+ console.log(`Time to receive first message for ${i + 1} nodes network: ${time}ms`);
114
+ fs_1.default.writeSync(logFile, `${i + 1}` + '\t' + `${Math.round(time)}\n`);
115
+ }
116
+ fs_1.default.closeSync(logFile);
117
+ await shutdownNetwork();
118
+ dht_1.Simulator.useFakeTimers(false);
119
+ };
120
+ // eslint-disable-next-line promise/catch-or-return
121
+ run().then(() => {
122
+ console.log('done');
123
+ }).catch((err) => {
124
+ console.error(err);
125
+ const streamParts = currentNode.stack.getStreamrNode().getStreamParts();
126
+ const foundData = nodes[0].stack.getLayer0DhtNode().getDataFromDht((0, StreamEntryPointDiscovery_1.streamPartIdToDataKey)(streamParts[0]));
127
+ console.log(foundData);
128
+ console.log(currentNode.stack.getLayer0DhtNode().getKBucketPeers().length);
129
+ console.log(currentNode.stack.getLayer0DhtNode().getNumberOfConnections());
130
+ console.log(currentNode.stack.getStreamrNode().getStream(streamParts[0]).layer1.getKBucketPeers());
131
+ console.log(currentNode.stack.getStreamrNode().getStream(streamParts[0]).layer2.getTargetNeighborStringIds());
132
+ console.log(nodes[nodes.length - 1]);
133
+ if (publishInterval) {
134
+ clearInterval(publishInterval);
135
+ }
136
+ });
137
+ //# sourceMappingURL=first-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-message.js","sourceRoot":"","sources":["../../../test/benchmark/first-message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ConnectionLocker, DhtNode, PeerDescriptor, Simulator } from '@streamr/dht';
2
+ import { RandomGraphNode } from '../../src/logic/RandomGraphNode';
3
+ import { ContentMessage, StreamMessage } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc';
4
+ import { RemoteRandomGraphNode } from '../../src/logic/RemoteRandomGraphNode';
5
+ import { RemoteHandshaker } from '../../src/logic/neighbor-discovery/RemoteHandshaker';
6
+ import { NetworkNode } from '../../src/NetworkNode';
7
+ export declare const mockConnectionLocker: ConnectionLocker;
8
+ export declare const createMockRandomGraphNodeAndDhtNode: (ownPeerDescriptor: PeerDescriptor, entryPointDescriptor: PeerDescriptor, randomGraphId: string, simulator: Simulator) => [DhtNode, RandomGraphNode];
9
+ export declare const createStreamMessage: (content: ContentMessage, streamId: string, publisherId: string, timestamp?: number, sequenceNumber?: number) => StreamMessage;
10
+ export declare const createMockRemotePeer: (peerDescriptor?: PeerDescriptor) => RemoteRandomGraphNode;
11
+ export declare const createMockRemoteHandshaker: () => RemoteHandshaker;
12
+ export declare const createNetworkNodeWithSimulator: (peerDescriptor: PeerDescriptor, simulator: Simulator, entryPoints: PeerDescriptor[]) => NetworkNode;