@@ -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