#[cfg(test)]
use mockall::automock;
pub mod echo;
pub mod error;
pub use echo::DefaultEchoHandler;
pub(crate) use error::ScmpErrorHandler;
use sciparse::{
dataplane_path::view::ScionDpPathViewRef,
packet::{model::ScionRawPacket, view::ScionRawPacketView},
payload::scmp::model::ScmpErrorMessage,
};
pub trait ScmpHandler: Send + Sync {
fn handle(&self, pkt: &ScionRawPacketView) -> Option<ScionRawPacket>;
}
#[cfg_attr(test, automock)]
pub trait ScmpErrorReceiver: Send + Sync {
#[allow(clippy::needless_lifetimes, clippy::elidable_lifetime_names)]
fn report_scmp_error<'a>(&self, scmp_error: ScmpErrorMessage, path: ScionDpPathViewRef<'a>);
}