@streamr/trackerless-network 0.0.1-tatum.5 → 0.0.1-tatum.7

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 (177) hide show
  1. package/dist/package.json +10 -8
  2. package/dist/src/NetworkNode.js +1 -1
  3. package/dist/src/NetworkNode.js.map +1 -1
  4. package/dist/src/NetworkStack.d.ts +1 -3
  5. package/dist/src/NetworkStack.js +18 -47
  6. package/dist/src/NetworkStack.js.map +1 -1
  7. package/dist/src/identifiers.js +2 -2
  8. package/dist/src/identifiers.js.map +1 -1
  9. package/dist/src/logic/{StreamNodeServer.d.ts → DeliveryRpcLocal.d.ts} +6 -5
  10. package/dist/src/logic/{StreamNodeServer.js → DeliveryRpcLocal.js} +5 -5
  11. package/dist/src/logic/{StreamNodeServer.js.map → DeliveryRpcLocal.js.map} +1 -1
  12. package/dist/src/logic/{RemoteRandomGraphNode.d.ts → DeliveryRpcRemote.d.ts} +2 -2
  13. package/dist/src/logic/{RemoteRandomGraphNode.js → DeliveryRpcRemote.js} +5 -5
  14. package/dist/src/logic/DeliveryRpcRemote.js.map +1 -0
  15. package/dist/src/logic/EntryPointDiscovery.d.ts +35 -0
  16. package/dist/src/logic/EntryPointDiscovery.js +145 -0
  17. package/dist/src/logic/EntryPointDiscovery.js.map +1 -0
  18. package/dist/src/logic/ILayer0.d.ts +3 -6
  19. package/dist/src/logic/ILayer1.d.ts +2 -2
  20. package/dist/src/logic/NodeList.d.ts +10 -10
  21. package/dist/src/logic/NodeList.js +2 -2
  22. package/dist/src/logic/NodeList.js.map +1 -1
  23. package/dist/src/logic/RandomGraphNode.d.ts +8 -12
  24. package/dist/src/logic/RandomGraphNode.js +47 -46
  25. package/dist/src/logic/RandomGraphNode.js.map +1 -1
  26. package/dist/src/logic/StreamrNode.d.ts +9 -11
  27. package/dist/src/logic/StreamrNode.js +72 -75
  28. package/dist/src/logic/StreamrNode.js.map +1 -1
  29. package/dist/src/logic/createRandomGraphNode.d.ts +6 -1
  30. package/dist/src/logic/createRandomGraphNode.js +17 -23
  31. package/dist/src/logic/createRandomGraphNode.js.map +1 -1
  32. package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +2 -0
  33. package/dist/src/logic/formStreamPartDeliveryServiceId.js +8 -0
  34. package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -0
  35. package/dist/src/logic/inspect/Inspector.d.ts +3 -2
  36. package/dist/src/logic/inspect/Inspector.js +5 -5
  37. package/dist/src/logic/inspect/Inspector.js.map +1 -1
  38. package/dist/src/logic/neighbor-discovery/{HandshakerServer.d.ts → HandshakeRpcLocal.d.ts} +10 -10
  39. package/dist/src/logic/neighbor-discovery/{HandshakerServer.js → HandshakeRpcLocal.js} +13 -13
  40. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -0
  41. package/dist/src/logic/neighbor-discovery/{RemoteHandshaker.d.ts → HandshakeRpcRemote.d.ts} +1 -1
  42. package/dist/src/logic/neighbor-discovery/{RemoteHandshaker.js → HandshakeRpcRemote.js} +8 -7
  43. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -0
  44. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +8 -7
  45. package/dist/src/logic/neighbor-discovery/Handshaker.js +23 -24
  46. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  47. package/dist/src/logic/neighbor-discovery/NeighborFinder.d.ts +1 -1
  48. package/dist/src/logic/neighbor-discovery/NeighborFinder.js +5 -5
  49. package/dist/src/logic/neighbor-discovery/NeighborFinder.js.map +1 -1
  50. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.d.ts +3 -2
  51. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js +7 -7
  52. package/dist/src/logic/neighbor-discovery/NeighborUpdateManager.js.map +1 -1
  53. package/dist/src/logic/neighbor-discovery/{NeighborUpdateManagerServer.d.ts → NeighborUpdateRpcLocal.d.ts} +6 -6
  54. package/dist/src/logic/neighbor-discovery/{NeighborUpdateManagerServer.js → NeighborUpdateRpcLocal.js} +11 -11
  55. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -0
  56. package/dist/src/logic/neighbor-discovery/{RemoteNeighborUpdateManager.d.ts → NeighborUpdateRpcRemote.d.ts} +1 -1
  57. package/dist/src/logic/neighbor-discovery/{RemoteNeighborUpdateManager.js → NeighborUpdateRpcRemote.js} +5 -5
  58. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -0
  59. package/dist/src/logic/propagation/Propagation.js +2 -2
  60. package/dist/src/logic/propagation/Propagation.js.map +1 -1
  61. package/dist/src/logic/proxy/{ProxyStreamConnectionClient.d.ts → ProxyClient.d.ts} +8 -12
  62. package/dist/src/logic/proxy/{ProxyStreamConnectionClient.js → ProxyClient.js} +28 -29
  63. package/dist/src/logic/proxy/ProxyClient.js.map +1 -0
  64. package/dist/src/logic/proxy/{ProxyStreamConnectionServer.d.ts → ProxyConnectionRpcLocal.d.ts} +5 -7
  65. package/dist/src/logic/proxy/{ProxyStreamConnectionServer.js → ProxyConnectionRpcLocal.js} +6 -12
  66. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -0
  67. package/dist/src/logic/proxy/{RemoteProxyServer.d.ts → ProxyConnectionRpcRemote.d.ts} +1 -1
  68. package/dist/src/logic/proxy/{RemoteProxyServer.js → ProxyConnectionRpcRemote.js} +4 -4
  69. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -0
  70. package/dist/src/logic/temporary-connection/{TemporaryConnectionRpcServer.d.ts → TemporaryConnectionRpcLocal.d.ts} +5 -4
  71. package/dist/src/logic/temporary-connection/{TemporaryConnectionRpcServer.js → TemporaryConnectionRpcLocal.js} +6 -6
  72. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -0
  73. package/dist/src/logic/temporary-connection/{RemoteTemporaryConnectionRpcServer.d.ts → TemporaryConnectionRpcRemote.d.ts} +1 -1
  74. package/dist/src/logic/temporary-connection/{RemoteTemporaryConnectionRpcServer.js → TemporaryConnectionRpcRemote.js} +4 -4
  75. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -0
  76. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +0 -4
  77. package/dist/src/proto/packages/dht/protos/DhtRpc.js +1 -2
  78. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  79. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +4 -4
  80. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +7 -7
  81. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
  82. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +10 -10
  83. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +7 -7
  84. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
  85. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +2 -2
  86. package/dist/test/benchmark/first-message.js +10 -13
  87. package/dist/test/benchmark/first-message.js.map +1 -1
  88. package/dist/test/utils/utils.d.ts +5 -5
  89. package/dist/test/utils/utils.js +14 -14
  90. package/dist/test/utils/utils.js.map +1 -1
  91. package/package.json +10 -8
  92. package/protos/NetworkRpc.proto +5 -5
  93. package/src/NetworkNode.ts +1 -1
  94. package/src/NetworkStack.ts +20 -62
  95. package/src/identifiers.ts +3 -3
  96. package/src/logic/{StreamNodeServer.ts → DeliveryRpcLocal.ts} +8 -7
  97. package/src/logic/{RemoteRandomGraphNode.ts → DeliveryRpcRemote.ts} +3 -3
  98. package/src/logic/EntryPointDiscovery.ts +181 -0
  99. package/src/logic/ILayer0.ts +3 -6
  100. package/src/logic/ILayer1.ts +2 -5
  101. package/src/logic/NodeList.ts +12 -12
  102. package/src/logic/RandomGraphNode.ts +67 -69
  103. package/src/logic/StreamrNode.ts +78 -90
  104. package/src/logic/createRandomGraphNode.ts +28 -26
  105. package/src/logic/formStreamPartDeliveryServiceId.ts +5 -0
  106. package/src/logic/inspect/Inspector.ts +8 -7
  107. package/src/logic/neighbor-discovery/{HandshakerServer.ts → HandshakeRpcLocal.ts} +20 -20
  108. package/src/logic/neighbor-discovery/{RemoteHandshaker.ts → HandshakeRpcRemote.ts} +6 -5
  109. package/src/logic/neighbor-discovery/Handshaker.ts +38 -38
  110. package/src/logic/neighbor-discovery/NeighborFinder.ts +6 -6
  111. package/src/logic/neighbor-discovery/NeighborUpdateManager.ts +15 -12
  112. package/src/logic/neighbor-discovery/{NeighborUpdateManagerServer.ts → NeighborUpdateRpcLocal.ts} +17 -17
  113. package/src/logic/neighbor-discovery/{RemoteNeighborUpdateManager.ts → NeighborUpdateRpcRemote.ts} +2 -2
  114. package/src/logic/propagation/Propagation.ts +2 -2
  115. package/src/logic/proxy/{ProxyStreamConnectionClient.ts → ProxyClient.ts} +33 -37
  116. package/src/logic/proxy/{ProxyStreamConnectionServer.ts → ProxyConnectionRpcLocal.ts} +10 -19
  117. package/src/logic/proxy/{RemoteProxyServer.ts → ProxyConnectionRpcRemote.ts} +1 -1
  118. package/src/logic/temporary-connection/{TemporaryConnectionRpcServer.ts → TemporaryConnectionRpcLocal.ts} +11 -10
  119. package/src/logic/temporary-connection/{RemoteTemporaryConnectionRpcServer.ts → TemporaryConnectionRpcRemote.ts} +1 -1
  120. package/src/proto/packages/dht/protos/DhtRpc.ts +1 -6
  121. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +8 -8
  122. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +2 -2
  123. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +14 -14
  124. package/test/benchmark/first-message.ts +10 -13
  125. package/test/end-to-end/inspect.test.ts +12 -12
  126. package/test/end-to-end/proxy-and-full-node.test.ts +13 -14
  127. package/test/end-to-end/proxy-connections.test.ts +10 -12
  128. package/test/end-to-end/proxy-key-exchange.test.ts +12 -13
  129. package/test/end-to-end/random-graph-with-real-connections.test.ts +7 -7
  130. package/test/end-to-end/webrtc-full-node-network.test.ts +8 -8
  131. package/test/end-to-end/websocket-full-node-network.test.ts +8 -10
  132. package/test/integration/{RemoteRandomGraphNode.test.ts → DeliveryRpcRemote.test.ts} +17 -14
  133. package/test/integration/{RemoteHandshaker.test.ts → HandshakeRpcRemote.test.ts} +10 -9
  134. package/test/integration/Handshakes.test.ts +23 -20
  135. package/test/integration/Inspect.test.ts +3 -2
  136. package/test/integration/{RemoteNeighborUpdateManager.test.ts → NeighborUpdateRpcRemote.test.ts} +12 -10
  137. package/test/integration/NetworkNode.test.ts +9 -8
  138. package/test/integration/NetworkRpc.test.ts +5 -7
  139. package/test/integration/NetworkStack.test.ts +13 -15
  140. package/test/integration/Propagation.test.ts +2 -2
  141. package/test/integration/RandomGraphNode-Layer1Node-Latencies.test.ts +10 -8
  142. package/test/integration/RandomGraphNode-Layer1Node.test.ts +17 -17
  143. package/test/integration/StreamrNode.test.ts +5 -3
  144. package/test/integration/joining-streams-on-offline-peers.test.ts +16 -18
  145. package/test/integration/stream-without-default-entrypoints.test.ts +11 -13
  146. package/test/unit/{StreamNodeServer.test.ts → DeliveryRpcLocal.test.ts} +8 -8
  147. package/test/unit/EntrypointDiscovery.test.ts +132 -0
  148. package/test/unit/{HandshakerServer.test.ts → HandshakeRpcLocal.test.ts} +26 -24
  149. package/test/unit/Handshaker.test.ts +10 -8
  150. package/test/unit/Inspector.test.ts +4 -3
  151. package/test/unit/NeighborFinder.test.ts +5 -5
  152. package/test/unit/NodeList.test.ts +22 -13
  153. package/test/unit/{RemoteProxyServer.test.ts → ProxyConnectionRpcRemote.test.ts} +4 -4
  154. package/test/unit/RandomGraphNode.test.ts +12 -11
  155. package/test/unit/StreamMessageTranslator.test.ts +10 -9
  156. package/test/unit/StreamrNode.test.ts +8 -8
  157. package/test/utils/mock/MockLayer0.ts +7 -26
  158. package/test/utils/mock/MockLayer1.ts +6 -13
  159. package/test/utils/mock/MockNeighborFinder.ts +1 -2
  160. package/test/utils/mock/MockNeighborUpdateManager.ts +1 -2
  161. package/test/utils/mock/Transport.ts +2 -2
  162. package/test/utils/utils.ts +13 -13
  163. package/dist/src/logic/RemoteRandomGraphNode.js.map +0 -1
  164. package/dist/src/logic/StreamPartEntryPointDiscovery.d.ts +0 -39
  165. package/dist/src/logic/StreamPartEntryPointDiscovery.js +0 -194
  166. package/dist/src/logic/StreamPartEntryPointDiscovery.js.map +0 -1
  167. package/dist/src/logic/neighbor-discovery/HandshakerServer.js.map +0 -1
  168. package/dist/src/logic/neighbor-discovery/NeighborUpdateManagerServer.js.map +0 -1
  169. package/dist/src/logic/neighbor-discovery/RemoteHandshaker.js.map +0 -1
  170. package/dist/src/logic/neighbor-discovery/RemoteNeighborUpdateManager.js.map +0 -1
  171. package/dist/src/logic/proxy/ProxyStreamConnectionClient.js.map +0 -1
  172. package/dist/src/logic/proxy/ProxyStreamConnectionServer.js.map +0 -1
  173. package/dist/src/logic/proxy/RemoteProxyServer.js.map +0 -1
  174. package/dist/src/logic/temporary-connection/RemoteTemporaryConnectionRpcServer.js.map +0 -1
  175. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcServer.js.map +0 -1
  176. package/src/logic/StreamPartEntryPointDiscovery.ts +0 -240
  177. package/test/unit/StreamPartEntrypointDiscovery.test.ts +0 -164
@@ -7,9 +7,9 @@ const utils_1 = require("@streamr/utils");
7
7
  const eventemitter3_1 = require("eventemitter3");
8
8
  const lodash_1 = require("lodash");
9
9
  const identifiers_1 = require("../identifiers");
10
- const StreamPartEntryPointDiscovery_1 = require("./StreamPartEntryPointDiscovery");
10
+ const EntryPointDiscovery_1 = require("./EntryPointDiscovery");
11
11
  const createRandomGraphNode_1 = require("./createRandomGraphNode");
12
- const ProxyStreamConnectionClient_1 = require("./proxy/ProxyStreamConnectionClient");
12
+ const ProxyClient_1 = require("./proxy/ProxyClient");
13
13
  const logger = new utils_1.Logger(module);
14
14
  let cleanUp = async () => { };
15
15
  // TODO rename class?
@@ -21,26 +21,24 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
21
21
  this.destroyed = false;
22
22
  this.createLayer1Node = (streamPartId, entryPoints) => {
23
23
  return new dht_1.DhtNode({
24
- transportLayer: this.layer0,
24
+ transport: this.layer0,
25
25
  serviceId: 'layer1::' + streamPartId,
26
26
  peerDescriptor: this.layer0.getPeerDescriptor(),
27
27
  entryPoints,
28
28
  numberOfNodesPerKBucket: 4,
29
29
  rpcRequestTimeout: 5000,
30
- dhtJoinTimeout: 20000,
31
- nodeName: this.config.nodeName + ':layer1'
30
+ dhtJoinTimeout: 20000
32
31
  });
33
32
  };
34
33
  this.createRandomGraphNode = (streamPartId, layer1) => {
35
34
  return (0, createRandomGraphNode_1.createRandomGraphNode)({
36
- randomGraphId: streamPartId,
35
+ streamPartId,
37
36
  P2PTransport: this.P2PTransport,
38
37
  layer1,
39
38
  connectionLocker: this.connectionLocker,
40
39
  ownPeerDescriptor: this.layer0.getPeerDescriptor(),
41
40
  minPropagationTargets: this.config.streamPartitionMinPropagationTargets,
42
41
  numOfTargetNeighbors: this.config.streamPartitionNumOfNeighbors,
43
- name: this.config.nodeName,
44
42
  acceptProxyConnections: this.config.acceptProxyConnections
45
43
  });
46
44
  };
@@ -62,14 +60,6 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
62
60
  this.layer0 = startedAndJoinedLayer0;
63
61
  this.P2PTransport = transport;
64
62
  this.connectionLocker = connectionLocker;
65
- this.streamPartEntryPointDiscovery = new StreamPartEntryPointDiscovery_1.StreamPartEntryPointDiscovery({
66
- ownPeerDescriptor: this.getPeerDescriptor(),
67
- streamParts: this.streamParts,
68
- getEntryPointData: (key) => this.layer0.getDataFromDht(key),
69
- getEntryPointDataViaNode: (key, node) => this.layer0.findDataViaPeer(key, node),
70
- storeEntryPointData: (key, data) => this.layer0.storeDataToDht(key, data),
71
- deleteEntryPointData: (key) => this.layer0.deleteDataFromDht(key)
72
- });
73
63
  cleanUp = () => this.destroy();
74
64
  }
75
65
  async destroy() {
@@ -78,15 +68,13 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
78
68
  }
79
69
  logger.trace('Destroying StreamrNode...');
80
70
  this.destroyed = true;
81
- this.streamParts.forEach((stream) => stream.stop());
82
- await this.streamPartEntryPointDiscovery.destroy();
71
+ this.streamParts.forEach((streamPart) => streamPart.stop());
83
72
  this.streamParts.clear();
84
73
  this.removeAllListeners();
85
74
  await this.layer0.stop();
86
75
  await this.P2PTransport.stop();
87
76
  this.layer0 = undefined;
88
77
  this.P2PTransport = undefined;
89
- this.streamPartEntryPointDiscovery = undefined;
90
78
  this.connectionLocker = undefined;
91
79
  }
92
80
  broadcast(msg) {
@@ -97,59 +85,74 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
97
85
  this.metrics.broadcastBytesPerSecond.record(msg.content.length);
98
86
  }
99
87
  leaveStreamPart(streamPartId) {
100
- const stream = this.streamParts.get(streamPartId);
101
- if (stream) {
102
- stream.stop();
88
+ const streamPart = this.streamParts.get(streamPartId);
89
+ if (streamPart) {
90
+ streamPart.stop();
103
91
  this.streamParts.delete(streamPartId);
104
92
  }
105
- this.streamPartEntryPointDiscovery.removeSelfAsEntryPoint(streamPartId);
106
93
  }
107
94
  joinStreamPart(streamPartId) {
108
95
  logger.debug(`Join stream part ${streamPartId}`);
109
- let stream = this.streamParts.get(streamPartId);
110
- if (stream !== undefined) {
96
+ let streamPart = this.streamParts.get(streamPartId);
97
+ if (streamPart !== undefined) {
111
98
  return;
112
99
  }
113
100
  const layer1 = this.createLayer1Node(streamPartId, this.knownStreamPartEntryPoints.get(streamPartId) ?? []);
114
101
  const node = this.createRandomGraphNode(streamPartId, layer1);
115
- stream = {
102
+ const entryPointDiscovery = new EntryPointDiscovery_1.EntryPointDiscovery({
103
+ streamPartId,
104
+ ownPeerDescriptor: this.getPeerDescriptor(),
105
+ layer1,
106
+ getEntryPointData: (key) => this.layer0.getDataFromDht(key),
107
+ storeEntryPointData: (key, data) => this.layer0.storeDataToDht(key, data),
108
+ deleteEntryPointData: async (key) => {
109
+ if (this.destroyed) {
110
+ return;
111
+ }
112
+ return this.layer0.deleteDataFromDht(key);
113
+ }
114
+ });
115
+ streamPart = {
116
116
  proxied: false,
117
117
  layer1,
118
118
  node,
119
+ entryPointDiscovery,
119
120
  broadcast: (msg) => node.broadcast(msg),
120
121
  stop: () => {
122
+ entryPointDiscovery.destroy();
121
123
  node.stop();
122
124
  layer1.stop();
123
125
  }
124
126
  };
125
- this.streamParts.set(streamPartId, stream);
127
+ this.streamParts.set(streamPartId, streamPart);
126
128
  node.on('message', (message) => {
127
129
  this.emit('newMessage', message);
128
130
  });
129
131
  setImmediate(async () => {
130
132
  try {
131
- await this.startLayersAndJoinDht(streamPartId);
133
+ await this.startLayersAndJoinDht(streamPartId, entryPointDiscovery);
132
134
  }
133
135
  catch (err) {
134
- logger.warn(`Failed to join to stream ${streamPartId} with error: ${err}`);
136
+ logger.warn(`Failed to join to stream part ${streamPartId} with error: ${err}`);
135
137
  }
136
138
  });
137
139
  }
138
- async startLayersAndJoinDht(streamPartId) {
140
+ async startLayersAndJoinDht(streamPartId, entryPointDiscovery) {
139
141
  logger.debug(`Start layers and join DHT for stream part ${streamPartId}`);
140
- const stream = this.streamParts.get(streamPartId);
141
- if ((stream === undefined) || stream.proxied) {
142
- // leaveStream has been called (or leaveStream called, and then setProxies called)
142
+ const streamPart = this.streamParts.get(streamPartId);
143
+ if ((streamPart === undefined) || streamPart.proxied) {
144
+ // leaveStreamPart has been called (or leaveStreamPart called, and then setProxies called)
143
145
  return;
144
146
  }
145
- await stream.layer1.start();
146
- await stream.node.start();
147
+ await streamPart.layer1.start();
148
+ await streamPart.node.start();
147
149
  let entryPoints = this.knownStreamPartEntryPoints.get(streamPartId) ?? [];
148
- const forwardingNode = this.layer0.isJoinOngoing() ? this.layer0.getKnownEntryPoints()[0] : undefined;
149
- const discoveryResult = await this.streamPartEntryPointDiscovery.discoverEntryPointsFromDht(streamPartId, entryPoints.length, forwardingNode);
150
+ const discoveryResult = await entryPointDiscovery.discoverEntryPointsFromDht(entryPoints.length);
150
151
  entryPoints = entryPoints.concat(discoveryResult.discoveredEntryPoints);
151
- await stream.layer1.joinDht((0, lodash_1.sampleSize)(entryPoints, StreamPartEntryPointDiscovery_1.NETWORK_SPLIT_AVOIDANCE_LIMIT));
152
- await this.streamPartEntryPointDiscovery.storeSelfAsEntryPointIfNecessary(streamPartId, discoveryResult.entryPointsFromDht, entryPoints.length);
152
+ await streamPart.layer1.joinDht((0, lodash_1.sampleSize)(entryPoints, EntryPointDiscovery_1.NETWORK_SPLIT_AVOIDANCE_LIMIT));
153
+ if (discoveryResult.entryPointsFromDht) {
154
+ await entryPointDiscovery.storeSelfAsEntryPointIfNecessary(entryPoints.length);
155
+ }
153
156
  }
154
157
  async setProxies(streamPartId, nodes, direction, userId, connectionCount) {
155
158
  if (this.config.acceptProxyConnections) {
@@ -157,78 +160,72 @@ class StreamrNode extends eventemitter3_1.EventEmitter {
157
160
  }
158
161
  const enable = (nodes.length > 0) && ((connectionCount === undefined) || (connectionCount > 0));
159
162
  if (enable) {
160
- let proxyClient;
163
+ let client;
161
164
  const alreadyProxied = this.isProxiedStreamPart(streamPartId);
162
165
  if (alreadyProxied) {
163
- proxyClient = this.streamParts.get(streamPartId).client;
166
+ client = this.streamParts.get(streamPartId).client;
164
167
  }
165
168
  else {
166
- proxyClient = this.createProxyStream(streamPartId, userId);
167
- await proxyClient.start();
169
+ client = this.createProxyClient(streamPartId);
170
+ this.streamParts.set(streamPartId, {
171
+ proxied: true,
172
+ client,
173
+ broadcast: (msg) => client.broadcast(msg),
174
+ stop: () => client.stop()
175
+ });
176
+ client.on('message', (message) => {
177
+ this.emit('newMessage', message);
178
+ });
179
+ await client.start();
168
180
  }
169
- await proxyClient.setProxies(streamPartId, nodes, direction, userId, connectionCount);
181
+ await client.setProxies(nodes, direction, userId, connectionCount);
170
182
  }
171
183
  else {
172
184
  this.streamParts.get(streamPartId)?.stop();
173
185
  this.streamParts.delete(streamPartId);
174
186
  }
175
187
  }
176
- createProxyStream(streamPartId, userId) {
177
- const client = this.createProxyStreamConnectionClient(streamPartId, userId);
178
- this.streamParts.set(streamPartId, {
179
- proxied: true,
180
- client,
181
- broadcast: (msg) => client.broadcast(msg),
182
- stop: () => client.stop()
183
- });
184
- client.on('message', (message) => {
185
- this.emit('newMessage', message);
186
- });
187
- return client;
188
- }
189
- createProxyStreamConnectionClient(streamPartId, userId) {
190
- return new ProxyStreamConnectionClient_1.ProxyStreamConnectionClient({
188
+ createProxyClient(streamPartId) {
189
+ return new ProxyClient_1.ProxyClient({
191
190
  P2PTransport: this.P2PTransport,
192
191
  ownPeerDescriptor: this.layer0.getPeerDescriptor(),
193
192
  streamPartId,
194
193
  connectionLocker: this.connectionLocker,
195
- minPropagationTargets: this.config.streamPartitionMinPropagationTargets,
196
- nodeName: this.config.nodeName,
197
- userId
194
+ minPropagationTargets: this.config.streamPartitionMinPropagationTargets
198
195
  });
199
196
  }
200
197
  async inspect(peerDescriptor, streamPartId) {
201
- const stream = this.streamParts.get(streamPartId);
202
- if ((stream !== undefined) && !stream.proxied) {
203
- return stream.node.inspect(peerDescriptor);
198
+ const streamPart = this.streamParts.get(streamPartId);
199
+ if ((streamPart !== undefined) && !streamPart.proxied) {
200
+ return streamPart.node.inspect(peerDescriptor);
204
201
  }
205
202
  return false;
206
203
  }
207
204
  setStreamPartEntryPoints(streamPartId, entryPoints) {
208
205
  this.knownStreamPartEntryPoints.set(streamPartId, entryPoints);
209
206
  }
210
- isProxiedStreamPart(streamId, direction) {
211
- const stream = this.streamParts.get(streamId);
212
- return (stream !== undefined)
213
- && stream.proxied
214
- && ((direction === undefined) || (stream.client.getDirection() === direction));
207
+ isProxiedStreamPart(streamPartId, direction) {
208
+ const streamPart = this.streamParts.get(streamPartId);
209
+ return (streamPart !== undefined)
210
+ && streamPart.proxied
211
+ && ((direction === undefined) || (streamPart.client.getDirection() === direction));
215
212
  }
216
- getStream(streamPartId) {
213
+ getStreamPartDelivery(streamPartId) {
217
214
  return this.streamParts.get(streamPartId);
218
215
  }
219
- hasStream(streamPartId) {
216
+ hasStreamPart(streamPartId) {
220
217
  return this.streamParts.has(streamPartId);
221
218
  }
222
219
  getPeerDescriptor() {
223
220
  return this.layer0.getPeerDescriptor();
224
221
  }
225
222
  getNodeId() {
226
- return this.layer0.getNodeId().toKey();
223
+ return (0, identifiers_1.getNodeIdFromPeerDescriptor)(this.layer0.getPeerDescriptor());
227
224
  }
228
225
  getNeighbors(streamPartId) {
229
- const stream = this.streamParts.get(streamPartId);
230
- return (stream !== undefined) && (stream.proxied === false)
231
- ? stream.node.getTargetNeighborIds()
226
+ const streamPart = this.streamParts.get(streamPartId);
227
+ return (streamPart !== undefined) && (streamPart.proxied === false)
228
+ ? streamPart.node.getTargetNeighborIds()
232
229
  : [];
233
230
  }
234
231
  getStreamParts() {
@@ -1 +1 @@
1
- {"version":3,"file":"StreamrNode.js","sourceRoot":"","sources":["../../../src/logic/StreamrNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamrNode.js","sourceRoot":"","sources":["../../../src/logic/StreamrNode.ts"],"names":[],"mappings":";;;AAAA,sCAKqB;AACrB,gDAA6F;AAC7F,0CAOuB;AACvB,iDAA4C;AAC5C,mCAAmC;AACnC,gDAAoE;AAKpE,+DAA0F;AAC1F,mEAA+D;AAC/D,qDAAiD;AAmBjD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,IAAI,OAAO,GAAwB,KAAK,IAAI,EAAE,GAAG,CAAC,CAAA;AAclD,qBAAqB;AACrB,MAAa,WAAY,SAAQ,4BAAoB;IAYjD,YAAY,MAAyB;QACjC,KAAK,EAAE,CAAA;QALM,+BAA0B,GAAwC,IAAI,GAAG,EAAE,CAAA;QACpF,YAAO,GAAG,KAAK,CAAA;QACf,cAAS,GAAG,KAAK,CAAA;QA4HjB,qBAAgB,GAAG,CAAC,YAA0B,EAAE,WAA6B,EAAW,EAAE;YAC9F,OAAO,IAAI,aAAO,CAAC;gBACf,SAAS,EAAE,IAAI,CAAC,MAAO;gBACvB,SAAS,EAAE,UAAU,GAAG,YAAY;gBACpC,cAAc,EAAE,IAAI,CAAC,MAAO,CAAC,iBAAiB,EAAE;gBAChD,WAAW;gBACX,uBAAuB,EAAE,CAAC;gBAC1B,iBAAiB,EAAE,IAAI;gBACvB,cAAc,EAAE,KAAK;aACxB,CAAC,CAAA;QACN,CAAC,CAAA;QAEO,0BAAqB,GAAG,CAAC,YAA0B,EAAE,MAAe,EAAE,EAAE;YAC5E,OAAO,IAAA,6CAAqB,EAAC;gBACzB,YAAY;gBACZ,YAAY,EAAE,IAAI,CAAC,YAAa;gBAChC,MAAM;gBACN,gBAAgB,EAAE,IAAI,CAAC,gBAAiB;gBACxC,iBAAiB,EAAE,IAAI,CAAC,MAAO,CAAC,iBAAiB,EAAE;gBACnD,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,oCAAoC;gBACvE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B;gBAC/D,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB;aAC7D,CAAC,CAAA;QACN,CAAC,CAAA;QA/IG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,sBAAc,EAAE,CAAA;QACnE,IAAI,CAAC,OAAO,GAAG;YACX,0BAA0B,EAAE,IAAI,kBAAU,EAAE;YAC5C,uBAAuB,EAAE,IAAI,kBAAU,EAAE;SAC5C,CAAA;QACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,sBAA+B,EAAE,SAAqB,EAAE,gBAAkC;QAClG,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YAChC,OAAM;SACT;QACD,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAA,yCAA2B,EAAC,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAA;QAC1H,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAA;QACpC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;YACjC,OAAM;SACT;QACD,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,MAAM,IAAI,CAAC,MAAO,CAAC,IAAI,EAAE,CAAA;QACzB,MAAM,IAAI,CAAC,YAAa,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAA;QAC7B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;IACrC,CAAC;IAED,SAAS,CAAC,GAAkB;QACxB,MAAM,YAAY,GAAG,IAAA,yBAAc,EAAC,GAAG,CAAC,SAAU,CAAC,QAAoB,EAAE,GAAG,CAAC,SAAU,CAAC,eAAe,CAAC,CAAA;QACxG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnE,CAAC;IAED,eAAe,CAAC,YAA0B;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,UAAU,EAAE;YACZ,UAAU,CAAC,IAAI,EAAE,CAAA;YACjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;SACxC;IACL,CAAC;IAED,cAAc,CAAC,YAA0B;QACrC,MAAM,CAAC,KAAK,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAA;QAChD,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACnD,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,OAAM;SACT;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;QAC3G,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAC7D,MAAM,mBAAmB,GAAG,IAAI,yCAAmB,CAAC;YAChD,YAAY;YACZ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC3C,MAAM;YACN,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC,cAAc,CAAC,GAAG,CAAC;YAC5D,mBAAmB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAO,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC;YAC1E,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAChC,IAAI,IAAI,CAAC,SAAS,EAAE;oBAChB,OAAM;iBACT;gBACD,OAAO,IAAI,CAAC,MAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;YAC9C,CAAC;SACJ,CAAC,CAAA;QACF,UAAU,GAAG;YACT,OAAO,EAAE,KAAK;YACd,MAAM;YACN,IAAI;YACJ,mBAAmB;YACnB,SAAS,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;YACtD,IAAI,EAAE,GAAG,EAAE;gBACP,mBAAmB,CAAC,OAAO,EAAE,CAAA;gBAC7B,IAAI,CAAC,IAAI,EAAE,CAAA;gBACX,MAAM,CAAC,IAAI,EAAE,CAAA;YACjB,CAAC;SACJ,CAAA;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC9C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QACF,YAAY,CAAC,KAAK,IAAI,EAAE;YACpB,IAAI;gBACA,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAA;aACtE;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,iCAAiC,YAAY,gBAAgB,GAAG,EAAE,CAAC,CAAA;aAClF;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,YAA0B,EAAE,mBAAwC;QACpG,MAAM,CAAC,KAAK,CAAC,6CAA6C,YAAY,EAAE,CAAC,CAAA;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE;YAClD,0FAA0F;YAC1F,OAAM;SACT;QACD,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAC/B,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QACzE,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,0BAA0B,CACxE,WAAW,CAAC,MAAM,CACrB,CAAA;QACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;QACvE,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,mBAAU,EAAC,WAAW,EAAE,mDAA6B,CAAC,CAAC,CAAA;QACvF,IAAI,eAAe,CAAC,kBAAkB,EAAE;YACpC,MAAM,mBAAmB,CAAC,gCAAgC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;SACjF;IACL,CAAC;IA2BD,KAAK,CAAC,UAAU,CACZ,YAA0B,EAC1B,KAAuB,EACvB,SAAyB,EACzB,MAAuB,EACvB,eAAwB;QAExB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;SACzE;QACD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAA;QAC/F,IAAI,MAAM,EAAE;YACR,IAAI,MAAmB,CAAA;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;YAC7D,IAAI,cAAc,EAAE;gBAChB,MAAM,GAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAA8B,CAAC,MAAM,CAAA;aACnF;iBAAM;gBACH,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;gBAC7C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE;oBAC/B,OAAO,EAAE,IAAI;oBACb,MAAM;oBACN,SAAS,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;oBACxD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;iBAC5B,CAAC,CAAA;gBACF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAsB,EAAE,EAAE;oBAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;gBACpC,CAAC,CAAC,CAAA;gBACF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;aACvB;YACD,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;SACrE;aAAM;YACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;YAC1C,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;SACxC;IACL,CAAC;IAEO,iBAAiB,CAAC,YAA0B;QAChD,OAAO,IAAI,yBAAW,CAAC;YACnB,YAAY,EAAE,IAAI,CAAC,YAAa;YAChC,iBAAiB,EAAE,IAAI,CAAC,MAAO,CAAC,iBAAiB,EAAE;YACnD,YAAY;YACZ,gBAAgB,EAAE,IAAI,CAAC,gBAAiB;YACxC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,oCAAoC;SAC1E,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAA8B,EAAE,YAA0B;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACrD,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACnD,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;SACjD;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,wBAAwB,CAAC,YAA0B,EAAE,WAA6B;QAC9E,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAClE,CAAC;IAED,mBAAmB,CAAC,YAA0B,EAAE,SAA0B;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACrD,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;eAC1B,UAAU,CAAC,OAAO;eAClB,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,SAAS,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,qBAAqB,CAAC,YAA0B;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC;IAED,aAAa,CAAC,YAA0B;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,MAAO,CAAC,iBAAiB,EAAE,CAAA;IAC3C,CAAC;IAED,SAAS;QACL,OAAO,IAAA,yCAA2B,EAAC,IAAI,CAAC,MAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACxE,CAAC;IAED,YAAY,CAAC,YAA0B;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QACrD,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK,CAAC;YAC/D,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACxC,CAAC,CAAC,EAAE,CAAA;IACZ,CAAC;IAED,cAAc;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,4BAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;CACJ;AA1PD,kCA0PC;AAED,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IAC5G,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACxB,MAAM,OAAO,EAAE,CAAA;QACf,OAAO,CAAC,IAAI,EAAE,CAAA;IAClB,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1,5 +1,10 @@
1
1
  import { StrictRandomGraphNodeConfig, RandomGraphNode } from './RandomGraphNode';
2
2
  import { MarkOptional } from 'ts-essentials';
3
- type RandomGraphNodeConfig = MarkOptional<StrictRandomGraphNodeConfig, 'nearbyNodeView' | 'randomNodeView' | 'targetNeighbors' | 'propagation' | 'handshaker' | 'neighborFinder' | 'neighborUpdateManager' | 'name' | 'numOfTargetNeighbors' | 'maxNumberOfContacts' | 'minPropagationTargets' | 'rpcCommunicator' | 'nodeViewSize' | 'acceptProxyConnections' | 'neighborUpdateInterval' | 'inspector' | 'temporaryConnectionServer'>;
3
+ type RandomGraphNodeConfig = MarkOptional<StrictRandomGraphNodeConfig, 'nearbyNodeView' | 'randomNodeView' | 'targetNeighbors' | 'propagation' | 'handshaker' | 'neighborFinder' | 'neighborUpdateManager' | 'numOfTargetNeighbors' | 'rpcCommunicator' | 'nodeViewSize' | 'inspector' | 'temporaryConnectionRpcLocal'> & {
4
+ maxNumberOfContacts?: number;
5
+ minPropagationTargets?: number;
6
+ acceptProxyConnections?: boolean;
7
+ neighborUpdateInterval?: number;
8
+ };
4
9
  export declare const createRandomGraphNode: (config: RandomGraphNodeConfig) => RandomGraphNode;
5
10
  export {};
@@ -8,15 +8,14 @@ const NeighborUpdateManager_1 = require("./neighbor-discovery/NeighborUpdateMana
8
8
  const RandomGraphNode_1 = require("./RandomGraphNode");
9
9
  const NodeList_1 = require("./NodeList");
10
10
  const Propagation_1 = require("./propagation/Propagation");
11
- const ProxyStreamConnectionServer_1 = require("./proxy/ProxyStreamConnectionServer");
11
+ const ProxyConnectionRpcLocal_1 = require("./proxy/ProxyConnectionRpcLocal");
12
12
  const Inspector_1 = require("./inspect/Inspector");
13
- const TemporaryConnectionRpcServer_1 = require("./temporary-connection/TemporaryConnectionRpcServer");
14
- const protocol_1 = require("@streamr/protocol");
13
+ const TemporaryConnectionRpcLocal_1 = require("./temporary-connection/TemporaryConnectionRpcLocal");
15
14
  const identifiers_1 = require("../identifiers");
15
+ const formStreamPartDeliveryServiceId_1 = require("./formStreamPartDeliveryServiceId");
16
16
  const createConfigWithDefaults = (config) => {
17
17
  const ownNodeId = (0, identifiers_1.getNodeIdFromPeerDescriptor)(config.ownPeerDescriptor);
18
- const rpcCommunicator = config.rpcCommunicator ?? new dht_1.ListeningRpcCommunicator(`layer2-${config.randomGraphId}`, config.P2PTransport);
19
- const name = config.name ?? ownNodeId;
18
+ const rpcCommunicator = config.rpcCommunicator ?? new dht_1.ListeningRpcCommunicator((0, formStreamPartDeliveryServiceId_1.formStreamPartDeliveryServiceId)(config.streamPartId), config.P2PTransport);
20
19
  const numOfTargetNeighbors = config.numOfTargetNeighbors ?? 4;
21
20
  const maxNumberOfContacts = config.maxNumberOfContacts ?? 20;
22
21
  const minPropagationTargets = config.minPropagationTargets ?? 2;
@@ -25,21 +24,21 @@ const createConfigWithDefaults = (config) => {
25
24
  const nearbyNodeView = config.nearbyNodeView ?? new NodeList_1.NodeList(ownNodeId, numOfTargetNeighbors + 1);
26
25
  const randomNodeView = config.randomNodeView ?? new NodeList_1.NodeList(ownNodeId, maxNumberOfContacts);
27
26
  const targetNeighbors = config.targetNeighbors ?? new NodeList_1.NodeList(ownNodeId, maxNumberOfContacts);
28
- const temporaryConnectionServer = new TemporaryConnectionRpcServer_1.TemporaryConnectionRpcServer({
29
- randomGraphId: config.randomGraphId,
27
+ const temporaryConnectionRpcLocal = new TemporaryConnectionRpcLocal_1.TemporaryConnectionRpcLocal({
28
+ streamPartId: config.streamPartId,
30
29
  rpcCommunicator,
31
30
  ownPeerDescriptor: config.ownPeerDescriptor
32
31
  });
33
- const proxyConnectionServer = acceptProxyConnections ? new ProxyStreamConnectionServer_1.ProxyStreamConnectionServer({
32
+ const proxyConnectionRpcLocal = acceptProxyConnections ? new ProxyConnectionRpcLocal_1.ProxyConnectionRpcLocal({
34
33
  ownPeerDescriptor: config.ownPeerDescriptor,
35
- streamPartId: protocol_1.StreamPartIDUtils.parse(config.randomGraphId),
34
+ streamPartId: config.streamPartId,
36
35
  rpcCommunicator
37
36
  }) : undefined;
38
37
  const propagation = config.propagation ?? new Propagation_1.Propagation({
39
38
  minPropagationTargets,
40
39
  sendToNeighbor: async (neighborId, msg) => {
41
- const remote = targetNeighbors.getNeighborById(neighborId) ?? temporaryConnectionServer.getNodes().getNeighborById(neighborId);
42
- const proxyConnection = proxyConnectionServer?.getConnection(neighborId);
40
+ const remote = targetNeighbors.get(neighborId) ?? temporaryConnectionRpcLocal.getNodes().get(neighborId);
41
+ const proxyConnection = proxyConnectionRpcLocal?.getConnection(neighborId);
43
42
  if (remote) {
44
43
  await remote.sendStreamMessage(msg);
45
44
  }
@@ -53,33 +52,33 @@ const createConfigWithDefaults = (config) => {
53
52
  });
54
53
  const handshaker = config.handshaker ?? new Handshaker_1.Handshaker({
55
54
  ownPeerDescriptor: config.ownPeerDescriptor,
56
- randomGraphId: config.randomGraphId,
55
+ streamPartId: config.streamPartId,
57
56
  connectionLocker: config.connectionLocker,
58
57
  rpcCommunicator,
59
58
  nearbyNodeView,
60
59
  randomNodeView,
61
60
  targetNeighbors,
62
- N: numOfTargetNeighbors
61
+ maxNeighborCount: numOfTargetNeighbors
63
62
  });
64
63
  const neighborFinder = config.neighborFinder ?? new NeighborFinder_1.NeighborFinder({
65
64
  targetNeighbors,
66
65
  nearbyNodeView,
67
66
  doFindNeighbors: (excludedIds) => handshaker.attemptHandshakesOnContacts(excludedIds),
68
- N: numOfTargetNeighbors
67
+ minCount: numOfTargetNeighbors
69
68
  });
70
69
  const neighborUpdateManager = config.neighborUpdateManager ?? new NeighborUpdateManager_1.NeighborUpdateManager({
71
70
  targetNeighbors,
72
71
  nearbyNodeView,
73
72
  ownPeerDescriptor: config.ownPeerDescriptor,
74
73
  neighborFinder,
75
- randomGraphId: config.randomGraphId,
74
+ streamPartId: config.streamPartId,
76
75
  rpcCommunicator,
77
76
  neighborUpdateInterval
78
77
  });
79
78
  const inspector = config.inspector ?? new Inspector_1.Inspector({
80
79
  ownPeerDescriptor: config.ownPeerDescriptor,
81
80
  rpcCommunicator,
82
- graphId: config.randomGraphId,
81
+ streamPartId: config.streamPartId,
83
82
  connectionLocker: config.connectionLocker
84
83
  });
85
84
  return {
@@ -93,15 +92,10 @@ const createConfigWithDefaults = (config) => {
93
92
  neighborUpdateManager,
94
93
  propagation,
95
94
  numOfTargetNeighbors,
96
- minPropagationTargets,
97
- maxNumberOfContacts,
98
- name,
99
95
  nodeViewSize: maxNumberOfContacts,
100
- acceptProxyConnections,
101
- proxyConnectionServer,
102
- neighborUpdateInterval,
96
+ proxyConnectionRpcLocal,
103
97
  inspector,
104
- temporaryConnectionServer
98
+ temporaryConnectionRpcLocal
105
99
  };
106
100
  };
107
101
  const createRandomGraphNode = (config) => {
@@ -1 +1 @@
1
- {"version":3,"file":"createRandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/createRandomGraphNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createRandomGraphNode.js","sourceRoot":"","sources":["../../../src/logic/createRandomGraphNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { StreamPartID } from '@streamr/protocol';
2
+ export declare const formStreamPartDeliveryServiceId: (streamPartId: StreamPartID) => string;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formStreamPartDeliveryServiceId = void 0;
4
+ const formStreamPartDeliveryServiceId = (streamPartId) => {
5
+ return `stream-part-delivery-${streamPartId}`;
6
+ };
7
+ exports.formStreamPartDeliveryServiceId = formStreamPartDeliveryServiceId;
8
+ //# sourceMappingURL=formStreamPartDeliveryServiceId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formStreamPartDeliveryServiceId.js","sourceRoot":"","sources":["../../../src/logic/formStreamPartDeliveryServiceId.ts"],"names":[],"mappings":";;;AAEO,MAAM,+BAA+B,GAAG,CAAC,YAA0B,EAAU,EAAE;IAClF,OAAO,wBAAwB,YAAY,EAAE,CAAA;AACjD,CAAC,CAAA;AAFY,QAAA,+BAA+B,mCAE3C"}
@@ -2,9 +2,10 @@ import { PeerDescriptor, ConnectionLocker } from '@streamr/dht';
2
2
  import { MessageID } from '../../proto/packages/trackerless-network/protos/NetworkRpc';
3
3
  import { RpcCommunicator } from '@streamr/proto-rpc';
4
4
  import { NodeID } from '../../identifiers';
5
+ import { StreamPartID } from '@streamr/protocol';
5
6
  interface InspectorConfig {
6
7
  ownPeerDescriptor: PeerDescriptor;
7
- graphId: string;
8
+ streamPartId: StreamPartID;
8
9
  rpcCommunicator: RpcCommunicator;
9
10
  connectionLocker: ConnectionLocker;
10
11
  inspectionTimeout?: number;
@@ -18,7 +19,7 @@ export interface IInspector {
18
19
  }
19
20
  export declare class Inspector implements IInspector {
20
21
  private readonly sessions;
21
- private readonly graphId;
22
+ private readonly streamPartId;
22
23
  private readonly client;
23
24
  private readonly ownPeerDescriptor;
24
25
  private readonly connectionLocker;
@@ -5,14 +5,14 @@ const InspectSession_1 = require("./InspectSession");
5
5
  const NetworkRpc_client_1 = require("../../proto/packages/trackerless-network/protos/NetworkRpc.client");
6
6
  const proto_rpc_1 = require("@streamr/proto-rpc");
7
7
  const utils_1 = require("@streamr/utils");
8
- const RemoteTemporaryConnectionRpcServer_1 = require("../temporary-connection/RemoteTemporaryConnectionRpcServer");
8
+ const TemporaryConnectionRpcRemote_1 = require("../temporary-connection/TemporaryConnectionRpcRemote");
9
9
  const identifiers_1 = require("../../identifiers");
10
10
  const logger = new utils_1.Logger(module);
11
11
  const DEFAULT_TIMEOUT = 60 * 1000;
12
12
  class Inspector {
13
13
  constructor(config) {
14
14
  this.sessions = new Map();
15
- this.graphId = config.graphId;
15
+ this.streamPartId = config.streamPartId;
16
16
  this.ownPeerDescriptor = config.ownPeerDescriptor;
17
17
  this.client = (0, proto_rpc_1.toProtoRpcClient)(new NetworkRpc_client_1.TemporaryConnectionRpcClient(config.rpcCommunicator.getRpcClientTransport()));
18
18
  this.connectionLocker = config.connectionLocker;
@@ -20,8 +20,8 @@ class Inspector {
20
20
  this.openInspectConnection = config.openInspectConnection ?? this.defaultOpenInspectConnection;
21
21
  }
22
22
  async defaultOpenInspectConnection(peerDescriptor, lockId) {
23
- const remoteRandomGraphNode = new RemoteTemporaryConnectionRpcServer_1.RemoteTemporaryConnectionRpcServer(this.ownPeerDescriptor, peerDescriptor, this.graphId, this.client);
24
- await remoteRandomGraphNode.openConnection();
23
+ const rpcRemote = new TemporaryConnectionRpcRemote_1.TemporaryConnectionRpcRemote(this.ownPeerDescriptor, peerDescriptor, this.streamPartId, this.client);
24
+ await rpcRemote.openConnection();
25
25
  this.connectionLocker.lockConnection(peerDescriptor, lockId);
26
26
  }
27
27
  async inspect(peerDescriptor) {
@@ -29,7 +29,7 @@ class Inspector {
29
29
  const session = new InspectSession_1.InspectSession({
30
30
  inspectedNode: nodeId
31
31
  });
32
- const lockId = `inspector-${this.graphId}`;
32
+ const lockId = `inspector-${this.streamPartId}`;
33
33
  this.sessions.set(nodeId, session);
34
34
  await this.openInspectConnection(peerDescriptor, lockId);
35
35
  let success = false;
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/logic/inspect/Inspector.ts"],"names":[],"mappings":";;;AAEA,qDAAiF;AACjF,yGAAgH;AAChH,kDAAsF;AACtF,0CAAsD;AACtD,mHAA+G;AAC/G,mDAAuE;AAkBvE,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AACjC,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAA;AAEjC,MAAa,SAAS;IAUlB,YAAY,MAAuB;QARlB,aAAQ,GAAgC,IAAI,GAAG,EAAE,CAAA;QAS9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAA;QACjD,IAAI,CAAC,MAAM,GAAG,IAAA,4BAAgB,EAAC,IAAI,gDAA4B,CAAC,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;QAChH,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;QAC/C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,eAAe,CAAA;QACpE,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,IAAI,CAAC,4BAA4B,CAAA;IAClG,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,cAA8B,EAAE,MAAc;QAC7E,MAAM,qBAAqB,GAAG,IAAI,uEAAkC,CAAC,IAAI,CAAC,iBAAiB,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACvI,MAAM,qBAAqB,CAAC,cAAc,EAAE,CAAA;QAC5C,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,cAA8B;QACxC,MAAM,MAAM,GAAG,IAAA,yCAA2B,EAAC,cAAc,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,+BAAc,CAAC;YAC/B,aAAa,EAAE,MAAM;SACxB,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,aAAa,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAClC,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACxD,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI;YACA,MAAM,IAAA,qBAAa,EAAuB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAClF,OAAO,GAAG,IAAI,CAAA;SACjB;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACtD;gBAAS;YACN,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC5B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;SACjE;QACD,OAAO,OAAO,IAAI,OAAO,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;IAC5D,CAAC;IAED,WAAW,CAAC,MAAc,EAAE,SAAoB;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;IAED,IAAI;QACA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,CAAC,IAAI,EAAE,CAAA;QAClB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;CAEJ;AA7DD,8BA6DC"}
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../../src/logic/inspect/Inspector.ts"],"names":[],"mappings":"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"}
@@ -4,23 +4,23 @@ import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
4
4
  import { NodeList } from '../NodeList';
5
5
  import { ConnectionLocker, PeerDescriptor } from '@streamr/dht';
6
6
  import { IHandshakeRpc } from '../../proto/packages/trackerless-network/protos/NetworkRpc.server';
7
- import { RemoteHandshaker } from './RemoteHandshaker';
8
- import { RemoteRandomGraphNode } from '../RemoteRandomGraphNode';
7
+ import { HandshakeRpcRemote } from './HandshakeRpcRemote';
8
+ import { DeliveryRpcRemote } from '../DeliveryRpcRemote';
9
9
  import { NodeID } from '../../identifiers';
10
- interface HandshakerServerConfig {
11
- randomGraphId: string;
12
- ownPeerDescriptor: PeerDescriptor;
10
+ import { StreamPartID } from '@streamr/protocol';
11
+ interface HandshakeRpcLocalConfig {
12
+ streamPartId: StreamPartID;
13
13
  targetNeighbors: NodeList;
14
14
  connectionLocker: ConnectionLocker;
15
15
  ongoingHandshakes: Set<NodeID>;
16
- N: number;
17
- createRemoteHandshaker: (target: PeerDescriptor) => RemoteHandshaker;
18
- createRemoteNode: (peerDescriptor: PeerDescriptor) => RemoteRandomGraphNode;
16
+ maxNeighborCount: number;
17
+ createRpcRemote: (target: PeerDescriptor) => HandshakeRpcRemote;
18
+ createDeliveryRpcRemote: (peerDescriptor: PeerDescriptor) => DeliveryRpcRemote;
19
19
  handshakeWithInterleaving: (target: PeerDescriptor, senderId: NodeID) => Promise<boolean>;
20
20
  }
21
- export declare class HandshakerServer implements IHandshakeRpc {
21
+ export declare class HandshakeRpcLocal implements IHandshakeRpc {
22
22
  private readonly config;
23
- constructor(config: HandshakerServerConfig);
23
+ constructor(config: HandshakeRpcLocalConfig);
24
24
  handshake(request: StreamPartHandshakeRequest, context: ServerCallContext): Promise<StreamPartHandshakeResponse>;
25
25
  private handleRequest;
26
26
  private acceptHandshake;