pub trait ToOwnedPacket: NextLayer {
type Target;
// Required method
fn to_owned(&self, hint: Option<Self::Hint>) -> ParseResult<Self::Target>;
}Expand description
Converts a borrowed view of a header into an owned version, possibly reparsing to do so.
This trait is used to support cases which are ambiguous on their own,
such as Repeated views over extension headers.
Required Associated Types§
Required Methods§
Implementors§
Source§impl<B: SplitByteSlice, T, E> ToOwnedPacket for RepeatedView<B, T>where
T: for<'a> HasView<&'a [u8]> + NextLayer<Hint = <T as NextLayer>::Denom> + HasView<B>,
for<'a> <T as HasView<&'a [u8]>>::ViewType: HeaderParse<&'a [u8]> + NextLayer<Denom = T::Denom, Hint = T::Hint>,
for<'a, 'b> &'b <T as HasView<&'a [u8]>>::ViewType: TryInto<T, Error = E>,
ParseError: From<E>,
impl<B: SplitByteSlice, T, E> ToOwnedPacket for RepeatedView<B, T>where
T: for<'a> HasView<&'a [u8]> + NextLayer<Hint = <T as NextLayer>::Denom> + HasView<B>,
for<'a> <T as HasView<&'a [u8]>>::ViewType: HeaderParse<&'a [u8]> + NextLayer<Denom = T::Denom, Hint = T::Hint>,
for<'a, 'b> &'b <T as HasView<&'a [u8]>>::ViewType: TryInto<T, Error = E>,
ParseError: From<E>,
Source§impl<O: NextLayer + Clone, B: NextLayer<Denom = O::Denom, Hint = O::Hint> + ToOwnedPacket<Target = O>> ToOwnedPacket for BoxedHeader<O, B>
Available on crate feature alloc only.
impl<O: NextLayer + Clone, B: NextLayer<Denom = O::Denom, Hint = O::Hint> + ToOwnedPacket<Target = O>> ToOwnedPacket for BoxedHeader<O, B>
Available on crate feature
alloc only.