Skip to content

Commit c220bd8

Browse files
committed
Omit node data delta updates
1 parent 3f38cfa commit c220bd8

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

backend/telemetry_core/src/aggregator/inner_loop.rs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -370,10 +370,13 @@ where
370370

371371
// Tell chain subscribers about the node we've just added:
372372
let mut feed_messages_for_chain = FeedMessageSerializer::new();
373-
feed_messages_for_chain.push(feed_message::AddedNode(
374-
node_id.get_chain_node_id().into(),
375-
details.node,
376-
));
373+
if self.send_node_data {
374+
feed_messages_for_chain.push(feed_message::AddedNode(
375+
node_id.get_chain_node_id().into(),
376+
details.node,
377+
));
378+
}
379+
// TODO: batch node add updates
377380
self.finalize_and_broadcast_to_chain_feeds(
378381
&genesis_hash,
379382
feed_messages_for_chain,
@@ -422,16 +425,19 @@ where
422425
}
423426
};
424427

428+
// TODO: untie serialization and updating data
425429
let mut feed_message_serializer = FeedMessageSerializer::new();
426430
self.node_state
427431
.update_node(node_id, payload, &mut feed_message_serializer);
428432

429433
if let Some(chain) = self.node_state.get_chain_by_node_id(node_id) {
430434
let genesis_hash = chain.genesis_hash();
431-
self.finalize_and_broadcast_to_chain_feeds(
432-
&genesis_hash,
433-
feed_message_serializer,
434-
);
435+
if self.send_node_data {
436+
self.finalize_and_broadcast_to_chain_feeds(
437+
&genesis_hash,
438+
feed_message_serializer,
439+
);
440+
}
435441
}
436442
}
437443
FromShardWebsocket::Disconnected => {
@@ -564,8 +570,9 @@ where
564570
}
565571
}
566572

567-
// Actually make a note of the new chain subsciption:
573+
// Actually make a note of the new chain subscription:
568574
let new_genesis_hash = new_chain.genesis_hash();
575+
// XXX: NOTE
569576
self.chain_to_feed_conn_ids
570577
.insert(new_genesis_hash, feed_conn_id);
571578
}
@@ -594,6 +601,7 @@ where
594601
let mut feed_messages_for_all = FeedMessageSerializer::new();
595602
for (chain_label, node_ids) in node_ids_per_chain {
596603
let mut feed_messages_for_chain = FeedMessageSerializer::new();
604+
// TODO: Update chain node count only once
597605
for node_id in node_ids {
598606
self.remove_node(
599607
node_id,
@@ -643,7 +651,7 @@ where
643651
}
644652

645653
// Assuming the chain hasn't gone away, tell chain subscribers about the node removal
646-
if removed_details.chain_node_count != 0 {
654+
if removed_details.chain_node_count != 0 && self.send_node_data {
647655
feed_for_chain.push(feed_message::RemovedNode(
648656
node_id.get_chain_node_id().into(),
649657
));

0 commit comments

Comments
 (0)