use crate::id::{ConversationSeq, CorrelationId};
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Anomaly {
DuplicateReply {
correlation: CorrelationId,
seq: ConversationSeq,
},
LateReply {
correlation: CorrelationId,
seq: ConversationSeq,
},
ForeignReply {
correlation: CorrelationId,
seq: ConversationSeq,
},
MalformedInbound {
seq: ConversationSeq,
slug: &'static str,
detail: String,
},
UnexpectedFrame {
detail: String,
},
}
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
pub struct AnomalyCounters {
pub duplicate_replies: u64,
pub late_replies: u64,
pub foreign_replies: u64,
pub malformed_inbound: u64,
pub unexpected_frames: u64,
pub gaps: u64,
pub duplicate_publications: u64,
}