@streamr/trackerless-network 100.0.0 → 100.1.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 (143) hide show
  1. package/dist/package.json +6 -6
  2. package/dist/src/NetworkNode.js +11 -11
  3. package/dist/src/NetworkNode.js.map +1 -1
  4. package/dist/src/NetworkStack.d.ts +4 -4
  5. package/dist/src/NetworkStack.js +18 -16
  6. package/dist/src/NetworkStack.js.map +1 -1
  7. package/dist/src/exports.d.ts +1 -1
  8. package/dist/src/logic/{StreamrNode.d.ts → ContentDeliveryManager.d.ts} +6 -6
  9. package/dist/src/logic/{StreamrNode.js → ContentDeliveryManager.js} +7 -9
  10. package/dist/src/logic/ContentDeliveryManager.js.map +1 -0
  11. package/dist/src/logic/{DeliveryRpcLocal.d.ts → ContentDeliveryRpcLocal.d.ts} +4 -4
  12. package/dist/src/logic/{DeliveryRpcLocal.js → ContentDeliveryRpcLocal.js} +4 -4
  13. package/dist/src/logic/ContentDeliveryRpcLocal.js.map +1 -0
  14. package/dist/src/logic/{DeliveryRpcRemote.d.ts → ContentDeliveryRpcRemote.d.ts} +2 -2
  15. package/dist/src/logic/{DeliveryRpcRemote.js → ContentDeliveryRpcRemote.js} +4 -4
  16. package/dist/src/logic/ContentDeliveryRpcRemote.js.map +1 -0
  17. package/dist/src/logic/EntryPointDiscovery.js +1 -1
  18. package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
  19. package/dist/src/logic/NodeList.d.ts +11 -11
  20. package/dist/src/logic/NodeList.js.map +1 -1
  21. package/dist/src/logic/RandomGraphNode.d.ts +1 -1
  22. package/dist/src/logic/RandomGraphNode.js +12 -12
  23. package/dist/src/logic/RandomGraphNode.js.map +1 -1
  24. package/dist/src/logic/createRandomGraphNode.js +1 -1
  25. package/dist/src/logic/createRandomGraphNode.js.map +1 -1
  26. package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +1 -1
  27. package/dist/src/logic/formStreamPartDeliveryServiceId.js +4 -3
  28. package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -1
  29. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +2 -2
  30. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +3 -3
  31. package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
  32. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +2 -2
  33. package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
  34. package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +1 -1
  35. package/dist/src/logic/neighbor-discovery/Handshaker.js +6 -6
  36. package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
  37. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +2 -2
  38. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
  39. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js +1 -1
  40. package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
  41. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +6 -0
  42. package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
  43. package/dist/src/logic/proxy/ProxyClient.d.ts +1 -1
  44. package/dist/src/logic/proxy/ProxyClient.js +8 -8
  45. package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
  46. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +2 -2
  47. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +3 -3
  48. package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
  49. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js +1 -1
  50. package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
  51. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +3 -3
  52. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
  53. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +2 -2
  54. package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
  55. package/dist/src/proto/google/protobuf/any.d.ts +11 -4
  56. package/dist/src/proto/google/protobuf/any.js.map +1 -1
  57. package/dist/src/proto/google/protobuf/empty.d.ts +0 -1
  58. package/dist/src/proto/google/protobuf/empty.js.map +1 -1
  59. package/dist/src/proto/google/protobuf/timestamp.d.ts +9 -3
  60. package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
  61. package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +10 -0
  62. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +9 -2
  63. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
  64. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +44 -0
  65. package/dist/src/proto/packages/dht/protos/DhtRpc.js +29 -1
  66. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  67. package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +6 -0
  68. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +4 -4
  69. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +7 -7
  70. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
  71. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +9 -5
  72. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +8 -4
  73. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
  74. package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +2 -2
  75. package/dist/test/benchmark/first-message.js +4 -4
  76. package/dist/test/benchmark/first-message.js.map +1 -1
  77. package/dist/test/utils/utils.d.ts +2 -2
  78. package/dist/test/utils/utils.js +9 -6
  79. package/dist/test/utils/utils.js.map +1 -1
  80. package/karma.config.js +2 -0
  81. package/package.json +6 -6
  82. package/protos/NetworkRpc.proto +3 -2
  83. package/src/NetworkNode.ts +11 -11
  84. package/src/NetworkStack.ts +23 -18
  85. package/src/exports.ts +1 -1
  86. package/src/logic/{StreamrNode.ts → ContentDeliveryManager.ts} +12 -13
  87. package/src/logic/{DeliveryRpcLocal.ts → ContentDeliveryRpcLocal.ts} +5 -5
  88. package/src/logic/{DeliveryRpcRemote.ts → ContentDeliveryRpcRemote.ts} +2 -2
  89. package/src/logic/EntryPointDiscovery.ts +1 -1
  90. package/src/logic/NodeList.ts +13 -13
  91. package/src/logic/RandomGraphNode.ts +19 -21
  92. package/src/logic/createRandomGraphNode.ts +2 -2
  93. package/src/logic/formStreamPartDeliveryServiceId.ts +2 -1
  94. package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +5 -5
  95. package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +2 -2
  96. package/src/logic/neighbor-discovery/Handshaker.ts +10 -11
  97. package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +4 -4
  98. package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +1 -1
  99. package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +16 -10
  100. package/src/logic/proxy/ProxyClient.ts +11 -11
  101. package/src/logic/proxy/ProxyConnectionRpcLocal.ts +6 -6
  102. package/src/logic/proxy/ProxyConnectionRpcRemote.ts +1 -1
  103. package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +5 -5
  104. package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +2 -2
  105. package/src/proto/google/protobuf/any.ts +11 -4
  106. package/src/proto/google/protobuf/empty.ts +0 -1
  107. package/src/proto/google/protobuf/timestamp.ts +9 -3
  108. package/src/proto/packages/dht/protos/DhtRpc.client.ts +15 -2
  109. package/src/proto/packages/dht/protos/DhtRpc.server.ts +6 -0
  110. package/src/proto/packages/dht/protos/DhtRpc.ts +58 -0
  111. package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +8 -8
  112. package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +2 -2
  113. package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +10 -6
  114. package/test/benchmark/first-message.ts +4 -4
  115. package/test/end-to-end/inspect.test.ts +6 -6
  116. package/test/end-to-end/proxy-and-full-node.test.ts +19 -19
  117. package/test/end-to-end/proxy-connections.test.ts +7 -7
  118. package/test/end-to-end/proxy-key-exchange.test.ts +3 -3
  119. package/test/end-to-end/webrtc-full-node-network.test.ts +8 -8
  120. package/test/end-to-end/websocket-full-node-network.test.ts +9 -9
  121. package/test/integration/ContentDeliveryManager.test.ts +135 -0
  122. package/test/integration/{DeliveryRpcRemote.test.ts → ContentDeliveryRpcRemote.test.ts} +6 -6
  123. package/test/integration/Inspect.test.ts +2 -2
  124. package/test/integration/NetworkRpc.test.ts +3 -3
  125. package/test/integration/NetworkStack.test.ts +7 -7
  126. package/test/integration/NodeInfoRpc.test.ts +10 -10
  127. package/test/integration/joining-streams-on-offline-peers.test.ts +3 -3
  128. package/test/integration/streamEntryPointReplacing.test.ts +6 -4
  129. package/test/unit/ContentDeliveryManager.test.ts +96 -0
  130. package/test/unit/{DeliveryRpcLocal.test.ts → ContentDeliveryRpcLocal.test.ts} +4 -4
  131. package/test/unit/HandshakeRpcLocal.test.ts +19 -19
  132. package/test/unit/Handshaker.test.ts +2 -2
  133. package/test/unit/NeighborFinder.test.ts +2 -2
  134. package/test/unit/NeighborUpdateRpcLocal.test.ts +8 -8
  135. package/test/unit/NetworkNode.test.ts +6 -6
  136. package/test/unit/NodeList.test.ts +6 -6
  137. package/test/unit/RandomGraphNode.test.ts +3 -3
  138. package/test/utils/utils.ts +9 -6
  139. package/dist/src/logic/DeliveryRpcLocal.js.map +0 -1
  140. package/dist/src/logic/DeliveryRpcRemote.js.map +0 -1
  141. package/dist/src/logic/StreamrNode.js.map +0 -1
  142. package/test/integration/StreamrNode.test.ts +0 -131
  143. package/test/unit/StreamrNode.test.ts +0 -98
@@ -316,9 +316,9 @@ export interface StreamPartitionInfo {
316
316
  */
317
317
  controlLayerNeighbors: PeerDescriptor[];
318
318
  /**
319
- * @generated from protobuf field: repeated dht.PeerDescriptor deliveryLayerNeighbors = 3;
319
+ * @generated from protobuf field: repeated dht.PeerDescriptor contentDeliveryLayerNeighbors = 3;
320
320
  */
321
- deliveryLayerNeighbors: PeerDescriptor[];
321
+ contentDeliveryLayerNeighbors: PeerDescriptor[];
322
322
  }
323
323
  /**
324
324
  * @generated from protobuf message ControlLayerInfo
@@ -413,7 +413,11 @@ export enum SignatureType {
413
413
  /**
414
414
  * @generated from protobuf enum value: SECP256K1 = 1;
415
415
  */
416
- SECP256K1 = 1
416
+ SECP256K1 = 1,
417
+ /**
418
+ * @generated from protobuf enum value: ERC_1271 = 2;
419
+ */
420
+ ERC_1271 = 2
417
421
  }
418
422
  /**
419
423
  * @generated from protobuf enum ProxyDirection
@@ -678,7 +682,7 @@ class StreamPartitionInfo$Type extends MessageType<StreamPartitionInfo> {
678
682
  super("StreamPartitionInfo", [
679
683
  { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
680
684
  { no: 2, name: "controlLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor },
681
- { no: 3, name: "deliveryLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
685
+ { no: 3, name: "contentDeliveryLayerNeighbors", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => PeerDescriptor }
682
686
  ]);
683
687
  }
684
688
  }
@@ -725,9 +729,9 @@ class NodeInfoResponse$Type extends MessageType<NodeInfoResponse> {
725
729
  */
726
730
  export const NodeInfoResponse = new NodeInfoResponse$Type();
727
731
  /**
728
- * @generated ServiceType for protobuf service DeliveryRpc
732
+ * @generated ServiceType for protobuf service ContentDeliveryRpc
729
733
  */
730
- export const DeliveryRpc = new ServiceType("DeliveryRpc", [
734
+ export const ContentDeliveryRpc = new ServiceType("ContentDeliveryRpc", [
731
735
  { name: "sendStreamMessage", options: {}, I: StreamMessage, O: Empty },
732
736
  { name: "leaveStreamPartNotice", options: {}, I: LeaveStreamPartNotice, O: Empty }
733
737
  ]);
@@ -119,7 +119,7 @@ const measureJoiningTime = async () => {
119
119
  await streamSubscriber.start()
120
120
 
121
121
  await Promise.all([
122
- waitForEvent3(streamSubscriber.stack.getStreamrNode() as any, 'newMessage', 60000),
122
+ waitForEvent3(streamSubscriber.stack.getContentDeliveryManager() as any, 'newMessage', 60000),
123
123
  streamSubscriber.join(stream)
124
124
  ])
125
125
 
@@ -153,14 +153,14 @@ run().then(() => {
153
153
  console.log('done')
154
154
  }).catch((err) => {
155
155
  console.error(err)
156
- const streamrNode = currentNode.stack.getStreamrNode()
157
- const streamParts = streamrNode.getStreamParts()
156
+ const contentDeliveryManager = currentNode.stack.getContentDeliveryManager()
157
+ const streamParts = contentDeliveryManager.getStreamParts()
158
158
  const foundData = nodes[0].stack.getLayer0Node().fetchDataFromDht(streamPartIdToDataKey(streamParts[0]))
159
159
  console.log(foundData)
160
160
  const layer0Node = currentNode.stack.getLayer0Node() as DhtNode
161
161
  console.log(layer0Node.getNeighbors().length)
162
162
  console.log(layer0Node.getConnectionCount())
163
- const streamPartDelivery = streamrNode.getStreamPartDelivery(streamParts[0])! as { layer1Node: Layer1Node, node: RandomGraphNode }
163
+ const streamPartDelivery = contentDeliveryManager.getStreamPartDelivery(streamParts[0])! as { layer1Node: Layer1Node, node: RandomGraphNode }
164
164
  console.log(streamPartDelivery.layer1Node.getNeighbors())
165
165
  console.log(streamPartDelivery.node.getNeighbors())
166
166
  console.log(nodes[nodes.length - 1])
@@ -96,14 +96,14 @@ describe('inspect', () => {
96
96
  await inspectedNode.start()
97
97
  await inspectorNode.start()
98
98
 
99
- publisherNode.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
100
- inspectedNode.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
101
- inspectorNode.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
99
+ publisherNode.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
100
+ inspectedNode.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
101
+ inspectorNode.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
102
102
 
103
103
  await waitForCondition(() =>
104
- publisherNode.stack.getStreamrNode().getNeighbors(STREAM_PART_ID).length === 2
105
- && inspectedNode.stack.getStreamrNode().getNeighbors(STREAM_PART_ID).length === 2
106
- && inspectorNode.stack.getStreamrNode().getNeighbors(STREAM_PART_ID).length === 2
104
+ publisherNode.stack.getContentDeliveryManager().getNeighbors(STREAM_PART_ID).length === 2
105
+ && inspectedNode.stack.getContentDeliveryManager().getNeighbors(STREAM_PART_ID).length === 2
106
+ && inspectorNode.stack.getContentDeliveryManager().getNeighbors(STREAM_PART_ID).length === 2
107
107
  )
108
108
  }, 30000)
109
109
 
@@ -65,11 +65,11 @@ describe('proxy and full node', () => {
65
65
  }
66
66
  })
67
67
  await proxyNode.start()
68
- proxyNode.stack.getStreamrNode().joinStreamPart(proxiedStreamPart)
69
- proxyNode.stack.getStreamrNode().joinStreamPart(regularStreamPart1)
70
- proxyNode.stack.getStreamrNode().joinStreamPart(regularStreamPart2)
71
- proxyNode.stack.getStreamrNode().joinStreamPart(regularStreamPart3)
72
- proxyNode.stack.getStreamrNode().joinStreamPart(regularStreamPart4)
68
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(proxiedStreamPart)
69
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(regularStreamPart1)
70
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(regularStreamPart2)
71
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(regularStreamPart3)
72
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(regularStreamPart4)
73
73
 
74
74
  proxiedNode = createNetworkNode({
75
75
  layer0: {
@@ -90,19 +90,19 @@ describe('proxy and full node', () => {
90
90
  expect(proxiedNode.stack.getLayer0Node().hasJoined()).toBe(false)
91
91
 
92
92
  await Promise.all([
93
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage'),
93
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage'),
94
94
  proxiedNode.broadcast(createMessage(regularStreamPart1))
95
95
  ])
96
96
 
97
97
  expect(proxiedNode.stack.getLayer0Node().hasJoined()).toBe(true)
98
98
 
99
99
  await Promise.all([
100
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage'),
100
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage'),
101
101
  proxiedNode.broadcast(createMessage(proxiedStreamPart))
102
102
  ])
103
103
 
104
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(proxiedStreamPart)!.proxied).toBe(true)
105
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(regularStreamPart1)!.proxied).toBe(false)
104
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(proxiedStreamPart)!.proxied).toBe(true)
105
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(regularStreamPart1)!.proxied).toBe(false)
106
106
  })
107
107
 
108
108
  it('proxied node can act as full node on multiple stream parts', async () => {
@@ -110,13 +110,13 @@ describe('proxy and full node', () => {
110
110
  expect(proxiedNode.stack.getLayer0Node().hasJoined()).toBe(false)
111
111
 
112
112
  await Promise.all([
113
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage', 5000,
113
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage', 5000,
114
114
  (streamMessage: InternalStreamMessage) => streamMessage.messageId!.streamId === StreamPartIDUtils.getStreamID(regularStreamPart1)),
115
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage', 5000,
115
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage', 5000,
116
116
  (streamMessage: InternalStreamMessage) => streamMessage.messageId!.streamId === StreamPartIDUtils.getStreamID(regularStreamPart2)),
117
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage', 5000,
117
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage', 5000,
118
118
  (streamMessage: InternalStreamMessage) => streamMessage.messageId!.streamId === StreamPartIDUtils.getStreamID(regularStreamPart3)),
119
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage', 5000,
119
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage', 5000,
120
120
  (streamMessage: InternalStreamMessage) => streamMessage.messageId!.streamId === StreamPartIDUtils.getStreamID(regularStreamPart4)),
121
121
  proxiedNode.broadcast(createMessage(regularStreamPart1)),
122
122
  proxiedNode.broadcast(createMessage(regularStreamPart2)),
@@ -127,15 +127,15 @@ describe('proxy and full node', () => {
127
127
  expect(proxiedNode.stack.getLayer0Node().hasJoined()).toBe(true)
128
128
 
129
129
  await Promise.all([
130
- waitForEvent3(proxyNode.stack.getStreamrNode() as any, 'newMessage'),
130
+ waitForEvent3(proxyNode.stack.getContentDeliveryManager() as any, 'newMessage'),
131
131
  proxiedNode.broadcast(createMessage(proxiedStreamPart))
132
132
  ])
133
133
 
134
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(proxiedStreamPart)!.proxied).toBe(true)
135
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(regularStreamPart1)!.proxied).toBe(false)
136
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(regularStreamPart2)!.proxied).toBe(false)
137
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(regularStreamPart3)!.proxied).toBe(false)
138
- expect(proxiedNode.stack.getStreamrNode().getStreamPartDelivery(regularStreamPart4)!.proxied).toBe(false)
134
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(proxiedStreamPart)!.proxied).toBe(true)
135
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(regularStreamPart1)!.proxied).toBe(false)
136
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(regularStreamPart2)!.proxied).toBe(false)
137
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(regularStreamPart3)!.proxied).toBe(false)
138
+ expect(proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(regularStreamPart4)!.proxied).toBe(false)
139
139
  })
140
140
 
141
141
  })
@@ -46,14 +46,14 @@ describe('Proxy connections', () => {
46
46
  let proxiedNode: NetworkNode
47
47
 
48
48
  const hasConnectionFromProxy = (proxyNode: NetworkNode): boolean => {
49
- const delivery = proxyNode.stack.getStreamrNode().getStreamPartDelivery(STREAM_PART_ID)
49
+ const delivery = proxyNode.stack.getContentDeliveryManager().getStreamPartDelivery(STREAM_PART_ID)
50
50
  return (delivery !== undefined)
51
51
  ? ((delivery as { node: RandomGraphNode }).node).hasProxyConnection(proxiedNode.getNodeId())
52
52
  : false
53
53
  }
54
54
 
55
55
  const hasConnectionToProxy = (proxyNodeId: DhtAddress, direction: ProxyDirection): boolean => {
56
- const client = (proxiedNode.stack.getStreamrNode().getStreamPartDelivery(STREAM_PART_ID) as { client: ProxyClient }).client
56
+ const client = (proxiedNode.stack.getContentDeliveryManager().getStreamPartDelivery(STREAM_PART_ID) as { client: ProxyClient }).client
57
57
  return client.hasConnection(proxyNodeId, direction)
58
58
  }
59
59
 
@@ -77,7 +77,7 @@ describe('Proxy connections', () => {
77
77
  })
78
78
  await proxyNode1.start()
79
79
  proxyNode1.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor1])
80
- proxyNode1.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
80
+ proxyNode1.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
81
81
  proxyNode2 = createNetworkNode({
82
82
  layer0: {
83
83
  entryPoints: [proxyNodeDescriptor1],
@@ -90,7 +90,7 @@ describe('Proxy connections', () => {
90
90
  })
91
91
  await proxyNode2.start()
92
92
  proxyNode2.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor1])
93
- proxyNode2.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
93
+ proxyNode2.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
94
94
  proxiedNode = createNetworkNode({
95
95
  layer0: {
96
96
  entryPoints: [proxyNode1.getPeerDescriptor()],
@@ -109,7 +109,7 @@ describe('Proxy connections', () => {
109
109
  it('happy path publishing', async () => {
110
110
  await proxiedNode.setProxies(STREAM_PART_ID, [proxyNode1.getPeerDescriptor()], ProxyDirection.PUBLISH, PROXIED_NODE_USER_ID, 1)
111
111
  await Promise.all([
112
- waitForEvent3(proxyNode1.stack.getStreamrNode() as any, 'newMessage'),
112
+ waitForEvent3(proxyNode1.stack.getContentDeliveryManager() as any, 'newMessage'),
113
113
  proxiedNode.broadcast(MESSAGE)
114
114
  ])
115
115
  })
@@ -117,7 +117,7 @@ describe('Proxy connections', () => {
117
117
  it('happy path subscribing', async () => {
118
118
  await proxiedNode.setProxies(STREAM_PART_ID, [proxyNode1.getPeerDescriptor()], ProxyDirection.SUBSCRIBE, PROXIED_NODE_USER_ID, 1)
119
119
  await Promise.all([
120
- waitForEvent3(proxiedNode.stack.getStreamrNode() as any, 'newMessage'),
120
+ waitForEvent3(proxiedNode.stack.getContentDeliveryManager() as any, 'newMessage'),
121
121
  proxyNode1.broadcast(MESSAGE)
122
122
  ])
123
123
  })
@@ -196,7 +196,7 @@ describe('Proxy connections', () => {
196
196
  await proxyNode1.leave(STREAM_PART_ID)
197
197
  await waitForCondition(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE))
198
198
  expect(hasConnectionFromProxy(proxyNode1)).toBe(false)
199
- proxyNode1.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
199
+ proxyNode1.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
200
200
  await waitForCondition(() => hasConnectionToProxy(proxyNode1.getNodeId(), ProxyDirection.SUBSCRIBE), 25000)
201
201
  // TODO why wait is needed?
202
202
  await wait(100)
@@ -47,7 +47,7 @@ describe('proxy group key exchange', () => {
47
47
  })
48
48
  await proxyNode.start()
49
49
  proxyNode.setStreamPartEntryPoints(STREAM_PART_ID, [proxyNodeDescriptor])
50
- proxyNode.stack.getStreamrNode().joinStreamPart(STREAM_PART_ID)
50
+ proxyNode.stack.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
51
51
  publisher = createNetworkNode({
52
52
  layer0: {
53
53
  entryPoints: [proxyNodeDescriptor],
@@ -101,7 +101,7 @@ describe('proxy group key exchange', () => {
101
101
  })
102
102
 
103
103
  await Promise.all([
104
- waitForEvent3(publisher.stack.getStreamrNode() as any, 'newMessage'),
104
+ waitForEvent3(publisher.stack.getContentDeliveryManager() as any, 'newMessage'),
105
105
  subscriber.broadcast(request)
106
106
  ])
107
107
  })
@@ -133,7 +133,7 @@ describe('proxy group key exchange', () => {
133
133
  })
134
134
 
135
135
  await Promise.all([
136
- waitForEvent3(subscriber.stack.getStreamrNode() as any, 'newMessage'),
136
+ waitForEvent3(subscriber.stack.getContentDeliveryManager() as any, 'newMessage'),
137
137
  publisher.broadcast(response)
138
138
  ])
139
139
  })
@@ -33,8 +33,8 @@ describe('Full node network with WebRTC connections', () => {
33
33
  }
34
34
  })
35
35
  await entryPoint.start()
36
- entryPoint.getStreamrNode().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
37
- entryPoint.getStreamrNode().joinStreamPart(streamPartId)
36
+ entryPoint.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
37
+ entryPoint.getContentDeliveryManager().joinStreamPart(streamPartId)
38
38
 
39
39
  await Promise.all(range(NUM_OF_NODES).map(async () => {
40
40
  const peerDescriptor = createMockPeerDescriptor()
@@ -46,8 +46,8 @@ describe('Full node network with WebRTC connections', () => {
46
46
  })
47
47
  nodes.push(node)
48
48
  await node.start()
49
- node.getStreamrNode().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
50
- node.getStreamrNode().joinStreamPart(streamPartId)
49
+ node.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
50
+ node.getContentDeliveryManager().joinStreamPart(streamPartId)
51
51
  }))
52
52
 
53
53
  }, 90000)
@@ -62,15 +62,15 @@ describe('Full node network with WebRTC connections', () => {
62
62
  it('happy path', async () => {
63
63
  await Promise.all(nodes.map((node) =>
64
64
  waitForCondition(() => {
65
- return node.getStreamrNode().getNeighbors(streamPartId).length >= 3
65
+ return node.getContentDeliveryManager().getNeighbors(streamPartId).length >= 3
66
66
  }
67
67
  , 30000)
68
68
  ))
69
69
  let receivedMessageCount = 0
70
70
  const successIds: string[] = []
71
71
  nodes.forEach((node) => {
72
- node.getStreamrNode().on('newMessage', () => {
73
- successIds.push(getNodeIdFromPeerDescriptor(node.getStreamrNode().getPeerDescriptor()))
72
+ node.getContentDeliveryManager().on('newMessage', () => {
73
+ successIds.push(getNodeIdFromPeerDescriptor(node.getContentDeliveryManager().getPeerDescriptor()))
74
74
  receivedMessageCount += 1
75
75
  })
76
76
  })
@@ -79,7 +79,7 @@ describe('Full node network with WebRTC connections', () => {
79
79
  streamPartId,
80
80
  randomEthereumAddress()
81
81
  )
82
- entryPoint.getStreamrNode().broadcast(msg)
82
+ entryPoint.getContentDeliveryManager().broadcast(msg)
83
83
  await waitForCondition(() => receivedMessageCount === NUM_OF_NODES)
84
84
  }, 120000)
85
85
 
@@ -8,7 +8,7 @@ import { getNodeIdFromPeerDescriptor } from '@streamr/dht'
8
8
 
9
9
  describe('Full node network with WebSocket connections only', () => {
10
10
 
11
- const NUM_OF_NODES = 32
11
+ const NUM_OF_NODES = 20
12
12
  const epPeerDescriptor = createMockPeerDescriptor({
13
13
  websocket: { host: '127.0.0.1', port: 15555, tls: false }
14
14
  })
@@ -30,8 +30,8 @@ describe('Full node network with WebSocket connections only', () => {
30
30
  }
31
31
  })
32
32
  await entryPoint.start()
33
- entryPoint.getStreamrNode().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
34
- entryPoint.getStreamrNode().joinStreamPart(streamPartId)
33
+ entryPoint.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
34
+ entryPoint.getContentDeliveryManager().joinStreamPart(streamPartId)
35
35
 
36
36
  await Promise.all(range(NUM_OF_NODES).map(async (i) => {
37
37
  const node = new NetworkStack({
@@ -44,8 +44,8 @@ describe('Full node network with WebSocket connections only', () => {
44
44
  })
45
45
  nodes.push(node)
46
46
  await node.start()
47
- node.getStreamrNode().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
48
- node.getStreamrNode().joinStreamPart(streamPartId)
47
+ node.getContentDeliveryManager().setStreamPartEntryPoints(streamPartId, [epPeerDescriptor])
48
+ node.getContentDeliveryManager().joinStreamPart(streamPartId)
49
49
  }))
50
50
 
51
51
  }, 120000)
@@ -60,15 +60,15 @@ describe('Full node network with WebSocket connections only', () => {
60
60
  it('happy path', async () => {
61
61
  await Promise.all(nodes.map((node) =>
62
62
  waitForCondition(() => {
63
- return node.getStreamrNode().getNeighbors(streamPartId).length >= 4
63
+ return node.getContentDeliveryManager().getNeighbors(streamPartId).length >= 4
64
64
  }
65
65
  , 30000)
66
66
  ))
67
67
  let receivedMessageCount = 0
68
68
  const successIds: string[] = []
69
69
  nodes.forEach((node) => {
70
- node.getStreamrNode().on('newMessage', () => {
71
- successIds.push(getNodeIdFromPeerDescriptor(node.getStreamrNode().getPeerDescriptor()))
70
+ node.getContentDeliveryManager().on('newMessage', () => {
71
+ successIds.push(getNodeIdFromPeerDescriptor(node.getContentDeliveryManager().getPeerDescriptor()))
72
72
  receivedMessageCount += 1
73
73
  })
74
74
  })
@@ -78,7 +78,7 @@ describe('Full node network with WebSocket connections only', () => {
78
78
  streamPartId,
79
79
  randomEthereumAddress()
80
80
  )
81
- entryPoint.getStreamrNode().broadcast(msg)
81
+ entryPoint.getContentDeliveryManager().broadcast(msg)
82
82
  await waitForCondition(() => receivedMessageCount === NUM_OF_NODES)
83
83
  }, 220000)
84
84
 
@@ -0,0 +1,135 @@
1
+ import {
2
+ DhtNode,
3
+ Simulator,
4
+ SimulatorTransport
5
+ } from '@streamr/dht'
6
+ import { ContentDeliveryManager, Events } from '../../src/logic/ContentDeliveryManager'
7
+ import { waitForEvent3, waitForCondition } from '@streamr/utils'
8
+ import { createMockPeerDescriptor, createStreamMessage } from '../utils/utils'
9
+ import { StreamPartIDUtils } from '@streamr/protocol'
10
+ import { randomEthereumAddress } from '@streamr/test-utils'
11
+ import { Layer0Node } from '../../src/logic/Layer0Node'
12
+
13
+ describe('ContentDeliveryManager', () => {
14
+
15
+ let layer0Node1: Layer0Node
16
+ let layer0Node2: Layer0Node
17
+ let transport1: SimulatorTransport
18
+ let transport2: SimulatorTransport
19
+ let manager1: ContentDeliveryManager
20
+ let manager2: ContentDeliveryManager
21
+
22
+ const peerDescriptor1 = createMockPeerDescriptor()
23
+ const peerDescriptor2 = createMockPeerDescriptor()
24
+ const STREAM_PART_ID = StreamPartIDUtils.parse('test#0')
25
+
26
+ const msg = createStreamMessage(
27
+ JSON.stringify({ hello: 'WORLD' }),
28
+ STREAM_PART_ID,
29
+ randomEthereumAddress()
30
+ )
31
+
32
+ afterEach(async () => {
33
+ await Promise.all([
34
+ manager1.destroy(),
35
+ manager2.destroy()
36
+ ])
37
+ })
38
+
39
+ beforeEach(async () => {
40
+ const simulator = new Simulator()
41
+ transport1 = new SimulatorTransport(peerDescriptor1, simulator)
42
+ await transport1.start()
43
+ transport2 = new SimulatorTransport(peerDescriptor2, simulator)
44
+ await transport2.start()
45
+ layer0Node1 = new DhtNode({
46
+ transport: transport1,
47
+ peerDescriptor: peerDescriptor1,
48
+ entryPoints: [peerDescriptor1]
49
+ })
50
+ layer0Node2 = new DhtNode({
51
+ transport: transport2,
52
+ peerDescriptor: peerDescriptor2,
53
+ entryPoints: [peerDescriptor1]
54
+ })
55
+ await Promise.all([
56
+ layer0Node1.start(),
57
+ layer0Node2.start()
58
+ ])
59
+ await Promise.all([
60
+ layer0Node1.joinDht([peerDescriptor1]),
61
+ layer0Node2.joinDht([peerDescriptor1])
62
+ ])
63
+
64
+ manager1 = new ContentDeliveryManager({})
65
+ manager2 = new ContentDeliveryManager({})
66
+ await manager1.start(layer0Node1, transport1, transport1)
67
+ manager1.setStreamPartEntryPoints(STREAM_PART_ID, [peerDescriptor1])
68
+ await manager2.start(layer0Node2, transport2, transport2)
69
+ manager2.setStreamPartEntryPoints(STREAM_PART_ID, [peerDescriptor1])
70
+ })
71
+
72
+ it('starts', async () => {
73
+ expect(manager1.getPeerDescriptor()).toEqual(peerDescriptor1)
74
+ expect(manager2.getPeerDescriptor()).toEqual(peerDescriptor2)
75
+ })
76
+
77
+ it('Joining stream', async () => {
78
+ manager1.joinStreamPart(STREAM_PART_ID)
79
+ manager2.joinStreamPart(STREAM_PART_ID)
80
+ await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
81
+ await waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
82
+ expect(manager1.getNeighbors(STREAM_PART_ID).length).toEqual(1)
83
+ expect(manager2.getNeighbors(STREAM_PART_ID).length).toEqual(1)
84
+ })
85
+
86
+ it('Publishing after joining and waiting for neighbors', async () => {
87
+ manager1.joinStreamPart(STREAM_PART_ID)
88
+ manager2.joinStreamPart(STREAM_PART_ID)
89
+ await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1)
90
+ await waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
91
+ await Promise.all([
92
+ waitForEvent3<Events>(manager1, 'newMessage'),
93
+ manager2.broadcast(msg)
94
+ ])
95
+ })
96
+
97
+ it('multi-stream pub/sub', async () => {
98
+ const streamPartId2 = StreamPartIDUtils.parse('test2#0')
99
+ manager1.setStreamPartEntryPoints(streamPartId2, [peerDescriptor1])
100
+ manager2.setStreamPartEntryPoints(streamPartId2, [peerDescriptor1])
101
+ manager1.joinStreamPart(STREAM_PART_ID)
102
+ manager1.joinStreamPart(streamPartId2)
103
+ manager2.joinStreamPart(STREAM_PART_ID)
104
+ manager2.joinStreamPart(streamPartId2)
105
+ await Promise.all([
106
+ waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
107
+ waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1),
108
+ waitForCondition(() => manager1.getNeighbors(streamPartId2).length === 1),
109
+ waitForCondition(() => manager2.getNeighbors(streamPartId2).length === 1)
110
+ ])
111
+ const msg2 = createStreamMessage(
112
+ JSON.stringify({ hello: 'WORLD' }),
113
+ streamPartId2,
114
+ randomEthereumAddress()
115
+ )
116
+ await Promise.all([
117
+ waitForEvent3<Events>(manager1, 'newMessage'),
118
+ waitForEvent3<Events>(manager2, 'newMessage'),
119
+ manager1.broadcast(msg2),
120
+ manager2.broadcast(msg)
121
+ ])
122
+ })
123
+
124
+ it('leaving stream parts', async () => {
125
+ manager1.joinStreamPart(STREAM_PART_ID)
126
+ manager2.joinStreamPart(STREAM_PART_ID)
127
+ await Promise.all([
128
+ waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 1),
129
+ waitForCondition(() => manager2.getNeighbors(STREAM_PART_ID).length === 1)
130
+ ])
131
+ await manager2.leaveStreamPart(STREAM_PART_ID)
132
+ await waitForCondition(() => manager1.getNeighbors(STREAM_PART_ID).length === 0)
133
+ })
134
+
135
+ })
@@ -5,8 +5,8 @@ import {
5
5
  SimulatorTransport,
6
6
  NodeType
7
7
  } from '@streamr/dht'
8
- import { DeliveryRpcRemote } from '../../src/logic/DeliveryRpcRemote'
9
- import { DeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
8
+ import { ContentDeliveryRpcRemote } from '../../src/logic/ContentDeliveryRpcRemote'
9
+ import { ContentDeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
10
10
  import {
11
11
  LeaveStreamPartNotice,
12
12
  StreamMessage
@@ -17,10 +17,10 @@ import { createStreamMessage } from '../utils/utils'
17
17
  import { StreamPartIDUtils } from '@streamr/protocol'
18
18
  import { randomEthereumAddress } from '@streamr/test-utils'
19
19
 
20
- describe('DeliveryRpcRemote', () => {
20
+ describe('ContentDeliveryRpcRemote', () => {
21
21
  let mockServerRpc: ListeningRpcCommunicator
22
22
  let clientRpc: ListeningRpcCommunicator
23
- let rpcRemote: DeliveryRpcRemote
23
+ let rpcRemote: ContentDeliveryRpcRemote
24
24
 
25
25
  const clientNode: PeerDescriptor = {
26
26
  nodeId: new Uint8Array([1, 1, 1]),
@@ -66,11 +66,11 @@ describe('DeliveryRpcRemote', () => {
66
66
  }
67
67
  )
68
68
 
69
- rpcRemote = new DeliveryRpcRemote(
69
+ rpcRemote = new ContentDeliveryRpcRemote(
70
70
  clientNode,
71
71
  serverNode,
72
72
  clientRpc,
73
- DeliveryRpcClient
73
+ ContentDeliveryRpcClient
74
74
  )
75
75
  })
76
76
 
@@ -75,12 +75,12 @@ describe('inspect', () => {
75
75
  123123,
76
76
  sequenceNumber
77
77
  )
78
- publisherNode.getStreamrNode().broadcast(msg)
78
+ publisherNode.getContentDeliveryManager().broadcast(msg)
79
79
  sequenceNumber += 1
80
80
  }, 200)
81
81
 
82
82
  for (const node of inspectedNodes) {
83
- const result = await inspectorNode.getStreamrNode().inspect(node.getLayer0Node().getLocalPeerDescriptor(), streamPartId)
83
+ const result = await inspectorNode.getContentDeliveryManager().inspect(node.getLayer0Node().getLocalPeerDescriptor(), streamPartId)
84
84
  expect(result).toEqual(true)
85
85
  }
86
86
  }, 25000)
@@ -3,7 +3,7 @@ import {
3
3
  ProtoRpcClient,
4
4
  toProtoRpcClient
5
5
  } from '@streamr/proto-rpc'
6
- import { DeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
6
+ import { ContentDeliveryRpcClient } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc.client'
7
7
  import { StreamMessage } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
8
8
  import { waitForCondition } from '@streamr/utils'
9
9
  import { Empty } from '../../src/proto/google/protobuf/empty'
@@ -16,7 +16,7 @@ import { randomEthereumAddress } from '@streamr/test-utils'
16
16
  describe('Network RPC', () => {
17
17
  let rpcCommunicator1: RpcCommunicator<DhtCallContext>
18
18
  let rpcCommunicator2: RpcCommunicator<DhtCallContext>
19
- let client: ProtoRpcClient<DeliveryRpcClient>
19
+ let client: ProtoRpcClient<ContentDeliveryRpcClient>
20
20
  let recvCounter = 0
21
21
 
22
22
  beforeEach(() => {
@@ -25,7 +25,7 @@ describe('Network RPC', () => {
25
25
  rpcCommunicator1.on('outgoingMessage', (message: RpcMessage) => {
26
26
  rpcCommunicator2.handleIncomingMessage(message)
27
27
  })
28
- client = toProtoRpcClient(new DeliveryRpcClient(rpcCommunicator1.getRpcClientTransport()))
28
+ client = toProtoRpcClient(new ContentDeliveryRpcClient(rpcCommunicator1.getRpcClientTransport()))
29
29
  rpcCommunicator2.registerRpcNotification(
30
30
  StreamMessage,
31
31
  'sendStreamMessage',
@@ -34,9 +34,9 @@ describe('NetworkStack', () => {
34
34
  })
35
35
 
36
36
  await stack1.start()
37
- stack1.getStreamrNode().setStreamPartEntryPoints(STREAM_PART_ID, [epDescriptor])
37
+ stack1.getContentDeliveryManager().setStreamPartEntryPoints(STREAM_PART_ID, [epDescriptor])
38
38
  await stack2.start()
39
- stack2.getStreamrNode().setStreamPartEntryPoints(STREAM_PART_ID, [epDescriptor])
39
+ stack2.getContentDeliveryManager().setStreamPartEntryPoints(STREAM_PART_ID, [epDescriptor])
40
40
  })
41
41
 
42
42
  afterEach(async () => {
@@ -48,8 +48,8 @@ describe('NetworkStack', () => {
48
48
 
49
49
  it('Can use NetworkNode pub/sub via NetworkStack', async () => {
50
50
  let receivedMessages = 0
51
- stack1.getStreamrNode().joinStreamPart(STREAM_PART_ID)
52
- stack1.getStreamrNode().on('newMessage', () => {
51
+ stack1.getContentDeliveryManager().joinStreamPart(STREAM_PART_ID)
52
+ stack1.getContentDeliveryManager().on('newMessage', () => {
53
53
  receivedMessages += 1
54
54
  })
55
55
  const msg = createStreamMessage(
@@ -57,7 +57,7 @@ describe('NetworkStack', () => {
57
57
  STREAM_PART_ID,
58
58
  randomEthereumAddress()
59
59
  )
60
- stack2.getStreamrNode().broadcast(msg)
60
+ stack2.getContentDeliveryManager().broadcast(msg)
61
61
  await waitForCondition(() => receivedMessages === 1)
62
62
  })
63
63
 
@@ -66,7 +66,7 @@ describe('NetworkStack', () => {
66
66
  stack1.joinStreamPart(STREAM_PART_ID, { minCount: 1, timeout: 5000 }),
67
67
  stack2.joinStreamPart(STREAM_PART_ID, { minCount: 1, timeout: 5000 }),
68
68
  ])
69
- expect(stack1.getStreamrNode().getNeighbors(STREAM_PART_ID).length).toBe(1)
70
- expect(stack2.getStreamrNode().getNeighbors(STREAM_PART_ID).length).toBe(1)
69
+ expect(stack1.getContentDeliveryManager().getNeighbors(STREAM_PART_ID).length).toBe(1)
70
+ expect(stack2.getContentDeliveryManager().getNeighbors(STREAM_PART_ID).length).toBe(1)
71
71
  })
72
72
  })