25 lines
602 B
Rust
25 lines
602 B
Rust
#[cfg(feature = "proto-ipv4")]
|
|
use crate::wire::icmpv4;
|
|
#[cfg(feature = "proto-ipv6")]
|
|
use crate::wire::icmpv6;
|
|
|
|
#[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)
|
|
}
|
|
}
|