mirror of
https://github.com/logos-blockchain/logos-blockchain-simulations.git
synced 2026-01-07 15:43:09 +00:00
Accumulate # of inbound/outbound messages for anonymity measurement
This commit is contained in:
parent
8faafcfb6f
commit
a715fe4ae8
@ -192,6 +192,8 @@ impl MixNode {
|
||||
step_id: 0,
|
||||
data_messages_generated: HashMap::new(),
|
||||
data_messages_fully_unwrapped: HashMap::new(),
|
||||
accum_num_inbound_messages: 0,
|
||||
accum_num_outbound_messages: 0,
|
||||
},
|
||||
data_msg_lottery_update_time_sender,
|
||||
data_msg_lottery_interval,
|
||||
@ -220,13 +222,15 @@ impl MixNode {
|
||||
.filter(|&id| Some(*id) != exclude_node)
|
||||
{
|
||||
self.network_interface
|
||||
.send_message(*node_id, message.clone())
|
||||
.send_message(*node_id, message.clone());
|
||||
self.state.accum_num_outbound_messages += 1;
|
||||
}
|
||||
}
|
||||
|
||||
fn receive(&mut self) -> Vec<NetworkMessage<MixMessage>> {
|
||||
self.network_interface
|
||||
.receive_messages()
|
||||
let received_messages = self.network_interface.receive_messages();
|
||||
self.state.accum_num_inbound_messages += received_messages.len();
|
||||
received_messages
|
||||
.into_iter()
|
||||
// Retain only messages that have not been seen before
|
||||
.filter(|msg| self.message_cache.insert(Self::sha256(&msg.payload().0)))
|
||||
|
||||
@ -16,8 +16,12 @@ pub struct MixnodeState {
|
||||
#[serde(serialize_with = "serialize_node_id_as_index")]
|
||||
pub node_id: NodeId,
|
||||
pub step_id: usize,
|
||||
// For latency measurement
|
||||
pub data_messages_generated: HashMap<PayloadId, usize>,
|
||||
pub data_messages_fully_unwrapped: HashMap<PayloadId, usize>,
|
||||
// For anonymity measurement
|
||||
pub accum_num_inbound_messages: usize,
|
||||
pub accum_num_outbound_messages: usize,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user