fix: receiver seq counts

This commit is contained in:
Youngjoon Lee 2024-08-25 04:30:50 +09:00
parent 8e11dec005
commit d15c421a3a
No known key found for this signature in database
GPG Key ID: 167546E2D1712F8C
4 changed files with 18 additions and 10 deletions

View File

@ -34,7 +34,7 @@ impl Iteration {
(0..self.paramset.num_senders)
.map(|sender_idx| format!("{dir}/sent_seq_{sender_idx}__WIP__.csv"))
.collect(),
(0..self.paramset.peering_degree)
(0..self.paramset.num_receiver_connections())
.map(|conn_idx| format!("{dir}/recv_seq_{conn_idx}__WIP__.csv"))
.collect(),
format!("{dir}/data_msg_counts__WIP__.csv"),

View File

@ -112,13 +112,13 @@ impl Outputs {
writer.add_noise();
}
pub fn add_recv_msg(&mut self, msg: &DataMessage, conn_idx: u16) {
let writer = &mut self.recv_sequence_writers[conn_idx as usize];
pub fn add_recv_msg(&mut self, msg: &DataMessage, conn_idx: usize) {
let writer = &mut self.recv_sequence_writers[conn_idx];
writer.add_message(msg);
}
pub fn add_recv_noise(&mut self, conn_idx: u16) {
let writer = &mut self.recv_sequence_writers[conn_idx as usize];
pub fn add_recv_noise(&mut self, conn_idx: usize) {
let writer = &mut self.recv_sequence_writers[conn_idx];
writer.add_noise();
}

View File

@ -179,6 +179,14 @@ impl ParamSet {
paramsets
}
pub fn num_receiver_connections(&self) -> usize {
if self.random_topology {
self.peering_degree as usize
} else {
self.num_paths as usize
}
}
pub fn as_csv_record(&self) -> Vec<String> {
vec![
self.id.to_string(),

View File

@ -56,7 +56,7 @@ pub fn build_striped_network<M: 'static + Debug + Copy + Clone + PartialEq + Eq
assert_eq!(mixnode.id, *id);
mixnode.connect(RECEIVER_NODE_ID);
receiver_peers.add(*id, receiver_peers.len().try_into().unwrap());
receiver_peers.add(*id, receiver_peers.len());
}
}
}
@ -139,7 +139,7 @@ pub fn build_random_network<M: 'static + Debug + Copy + Clone + PartialEq + Eq +
assert_eq!(mixnode.id, *mixnode_id);
mixnode.connect(RECEIVER_NODE_ID);
receiver_peers.add(*mixnode_id, conn_idx.try_into().unwrap());
receiver_peers.add(*mixnode_id, conn_idx);
}
outputs.write_topology(&topology, &all_sender_peers, &receiver_peer_ids);
@ -166,18 +166,18 @@ impl AllSenderPeers {
}
}
pub struct ReceiverPeers(FxHashMap<NodeId, u16>);
pub struct ReceiverPeers(FxHashMap<NodeId, usize>);
impl ReceiverPeers {
fn new() -> Self {
ReceiverPeers(FxHashMap::default())
}
fn add(&mut self, peer_id: NodeId, conn_idx: u16) {
fn add(&mut self, peer_id: NodeId, conn_idx: usize) {
self.0.insert(peer_id, conn_idx);
}
pub fn conn_idx(&self, node_id: &NodeId) -> Option<u16> {
pub fn conn_idx(&self, node_id: &NodeId) -> Option<usize> {
self.0.get(node_id).cloned()
}