diff options
Diffstat (limited to 'src/protocol/ipv6.rs')
| -rw-r--r-- | src/protocol/ipv6.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/protocol/ipv6.rs b/src/protocol/ipv6.rs index f21c4da..c334ea2 100644 --- a/src/protocol/ipv6.rs +++ b/src/protocol/ipv6.rs @@ -1,3 +1,4 @@ +use crate::protocol::codec::Decode; use crate::protocol::ip::IPProtocol; use nom::bits; use nom::bytes; @@ -70,8 +71,8 @@ fn address_v6_decode(input: &[u8]) -> IResult<&[u8], Ipv6Addr> { Ok((input, Ipv6Addr::from(<[u8; 16]>::try_from(ipv6).unwrap()))) } -impl IPv6Header { - pub fn decode(input: &[u8]) -> IResult<&[u8], IPv6Header> { +impl Decode<IPv6Header> for IPv6Header { + fn decode(input: &[u8]) -> IResult<&[u8], IPv6Header> { let (input, ver_tc) = half_byte_decode(input)?; let (input, tc_fl) = half_byte_decode(input)?; let (input, fl): (_, u32) = @@ -108,6 +109,7 @@ impl IPv6Header { #[cfg(test)] mod tests { use super::IPv6Header; + use crate::protocol::codec::Decode; use crate::protocol::ip::IPProtocol; use std::net::Ipv6Addr; |
