mirror of
https://github.com/logos-blockchain/logos-blockchain-simulations.git
synced 2026-01-19 13:33:11 +00:00
optimize: do not prepare noise for non-receivers
This commit is contained in:
parent
38b96fcec4
commit
abc67ea7df
@ -136,7 +136,7 @@ fn relay_messages(
|
||||
// Collect messages to relay
|
||||
let mut all_msgs_to_relay: Vec<Vec<(NodeId, Message<MessageId>)>> = Vec::new();
|
||||
for node in nodes.iter_mut() {
|
||||
all_msgs_to_relay.push(node.read_queues());
|
||||
all_msgs_to_relay.push(node.read_queues(None));
|
||||
}
|
||||
|
||||
// Relay the messages
|
||||
|
||||
@ -280,7 +280,7 @@ impl AllMessagesToRelay {
|
||||
fn new(mixnodes: &mut [Node<DataMessage>]) -> Self {
|
||||
let mut all_msgs_to_relay = Vec::with_capacity(mixnodes.len());
|
||||
for node in mixnodes.iter_mut() {
|
||||
all_msgs_to_relay.push((node.id, node.read_queues()));
|
||||
all_msgs_to_relay.push((node.id, node.read_queues(Some(RECEIVER_NODE_ID))));
|
||||
}
|
||||
Self(all_msgs_to_relay)
|
||||
}
|
||||
|
||||
@ -87,10 +87,25 @@ where
|
||||
first_received
|
||||
}
|
||||
|
||||
pub fn read_queues(&mut self) -> MessagesToRelay<M> {
|
||||
pub fn read_queues(&mut self, noise_receiver: Option<NodeId>) -> MessagesToRelay<M> {
|
||||
let mut msgs_to_relay: MessagesToRelay<M> = Vec::with_capacity(self.queues.len());
|
||||
self.queues.iter_mut().for_each(|(node_id, queue)| {
|
||||
msgs_to_relay.push((*node_id, queue.pop()));
|
||||
let msg = queue.pop();
|
||||
match msg {
|
||||
Message::Data(_) => {
|
||||
msgs_to_relay.push((*node_id, msg));
|
||||
}
|
||||
Message::Noise => match noise_receiver {
|
||||
Some(noise_receiver) => {
|
||||
if *node_id == noise_receiver {
|
||||
msgs_to_relay.push((*node_id, msg));
|
||||
}
|
||||
}
|
||||
None => {
|
||||
msgs_to_relay.push((*node_id, msg));
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
msgs_to_relay
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user