log emissions (#48)
This commit is contained in:
parent
cffd93ece9
commit
97cbd536f4
|
@ -210,13 +210,17 @@ impl MixNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn forward(&mut self, message: MixMessage, exclude_node: Option<NodeId>) {
|
fn forward(&mut self, message: MixMessage, exclude_node: Option<NodeId>, log: EmissionLog) {
|
||||||
for node_id in self
|
for (i, node_id) in self
|
||||||
.settings
|
.settings
|
||||||
.connected_peers
|
.connected_peers
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|&id| Some(*id) != exclude_node)
|
.filter(|&id| Some(*id) != exclude_node)
|
||||||
|
.enumerate()
|
||||||
{
|
{
|
||||||
|
if i == 0 {
|
||||||
|
Self::log_emission(&log);
|
||||||
|
}
|
||||||
self.network_interface
|
self.network_interface
|
||||||
.send_message(*node_id, message.clone())
|
.send_message(*node_id, message.clone())
|
||||||
}
|
}
|
||||||
|
@ -264,9 +268,22 @@ impl MixNode {
|
||||||
let log = MessageLog {
|
let log = MessageLog {
|
||||||
payload_id: payload.id(),
|
payload_id: payload.id(),
|
||||||
step_id: self.state.step_id,
|
step_id: self.state.step_id,
|
||||||
|
node_id: format!("{}", self.id),
|
||||||
};
|
};
|
||||||
tracing::info!("{}: {}", tag, serde_json::to_string(&log).unwrap());
|
tracing::info!("{}: {}", tag, serde_json::to_string(&log).unwrap());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn log_emission(log: &EmissionLog) {
|
||||||
|
tracing::info!("Emission: {}", serde_json::to_string(log).unwrap());
|
||||||
|
}
|
||||||
|
|
||||||
|
fn new_emission_log(&self, emission_type: &str) -> EmissionLog {
|
||||||
|
EmissionLog {
|
||||||
|
emission_type: emission_type.to_string(),
|
||||||
|
step_id: self.state.step_id,
|
||||||
|
node_id: format!("{}", self.id),
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Node for MixNode {
|
impl Node for MixNode {
|
||||||
|
@ -305,6 +322,7 @@ impl Node for MixNode {
|
||||||
self.forward(
|
self.forward(
|
||||||
network_message.payload().clone(),
|
network_message.payload().clone(),
|
||||||
Some(network_message.from),
|
Some(network_message.from),
|
||||||
|
self.new_emission_log("ImmediateForwarding"),
|
||||||
);
|
);
|
||||||
self.blend_sender
|
self.blend_sender
|
||||||
.send(network_message.into_payload().0)
|
.send(network_message.into_payload().0)
|
||||||
|
@ -341,7 +359,11 @@ impl Node for MixNode {
|
||||||
if let Poll::Ready(Some(msg)) =
|
if let Poll::Ready(Some(msg)) =
|
||||||
pin!(&mut self.persistent_transmission_messages).poll_next(&mut cx)
|
pin!(&mut self.persistent_transmission_messages).poll_next(&mut cx)
|
||||||
{
|
{
|
||||||
self.forward(MixMessage(msg), None);
|
self.forward(
|
||||||
|
MixMessage(msg),
|
||||||
|
None,
|
||||||
|
self.new_emission_log("FromPersistent"),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
self.state.step_id += 1;
|
self.state.step_id += 1;
|
||||||
|
@ -362,4 +384,12 @@ impl Node for MixNode {
|
||||||
struct MessageLog {
|
struct MessageLog {
|
||||||
payload_id: PayloadId,
|
payload_id: PayloadId,
|
||||||
step_id: usize,
|
step_id: usize,
|
||||||
|
node_id: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
|
struct EmissionLog {
|
||||||
|
emission_type: String,
|
||||||
|
step_id: usize,
|
||||||
|
node_id: String,
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue