2018-05-09 21:27:51 +08:00
|
|
|
#[cfg(feature = "proto-ipv4")]
|
2020-12-27 07:11:30 +08:00
|
|
|
use crate::wire::icmpv4;
|
2018-05-09 21:27:51 +08:00
|
|
|
#[cfg(feature = "proto-ipv6")]
|
2020-12-27 07:11:30 +08:00
|
|
|
use crate::wire::icmpv6;
|
2018-05-09 21:27:51 +08:00
|
|
|
|
|
|
|
#[derive(Clone, PartialEq, Eq, Debug)]
|
|
|
|
pub enum Repr<'a> {
|
|
|
|
#[cfg(feature = "proto-ipv4")]
|
|
|
|
Ipv4(icmpv4::Repr<'a>),
|
|
|
|
#[cfg(feature = "proto-ipv6")]
|
|
|
|
Ipv6(icmpv6::Repr<'a>),
|
|
|
|
}
|
|
|
|
#[cfg(feature = "proto-ipv4")]
|
|
|
|
impl<'a> From<icmpv4::Repr<'a>> for Repr<'a> {
|
|
|
|
fn from(s: icmpv4::Repr<'a>) -> Self {
|
|
|
|
Repr::Ipv4(s)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#[cfg(feature = "proto-ipv6")]
|
|
|
|
impl<'a> From<icmpv6::Repr<'a>> for Repr<'a> {
|
|
|
|
fn from(s: icmpv6::Repr<'a>) -> Self {
|
|
|
|
Repr::Ipv6(s)
|
|
|
|
}
|
|
|
|
}
|