pub struct Nested<I, O> { /* private fields */ }
Expand description
One object encapsulated in another one.
Nested
s are constructed using the [NestedPacketBuilder::encapsulate
] and
Serializer::encapsulate
methods.
When I: NestedPacketBuilder
and O: NestedPacketBuilder
, Nested<I, O>
implements [NestedPacketBuilder
]. When I: Serializer
and O: NestedPacketBuilder
, Nested<I, O>
implements Serializer
.
Implementations§
source§impl<I, O> Nested<I, O>
impl<I, O> Nested<I, O>
sourcepub fn into_inner(self) -> I
pub fn into_inner(self) -> I
Consumes this Nested
and returns the inner object, discarding the
outer one.
sourcepub fn into_outer(self) -> O
pub fn into_outer(self) -> O
Consumes this Nested
and returns the outer object, discarding the
inner one.
pub fn inner(&self) -> &I
pub fn outer(&self) -> &O
Trait Implementations§
source§impl<I: Serializer, O: PacketBuilder> Serializer for Nested<I, O>
impl<I: Serializer, O: PacketBuilder> Serializer for Nested<I, O>
§type Buffer = <I as Serializer>::Buffer
type Buffer = <I as Serializer>::Buffer
The type of buffers returned from serialization methods on this trait.
source§fn serialize<B: GrowBufferMut, P: BufferProvider<I::Buffer, B>>(
self,
outer: PacketConstraints,
provider: P
) -> Result<B, (SerializeError<P::Error>, Self)>
fn serialize<B: GrowBufferMut, P: BufferProvider<I::Buffer, B>>( self, outer: PacketConstraints, provider: P ) -> Result<B, (SerializeError<P::Error>, Self)>
Serializes this
Serializer
, producing a buffer. Read moresource§fn serialize_outer<B: GrowBufferMut, P: BufferProvider<Self::Buffer, B>>(
self,
provider: P
) -> Result<B, (SerializeError<P::Error>, Self)>
fn serialize_outer<B: GrowBufferMut, P: BufferProvider<Self::Buffer, B>>( self, provider: P ) -> Result<B, (SerializeError<P::Error>, Self)>
Serializes this
Serializer
as the outermost packet. Read moresource§fn encapsulate<B>(self, outer: B) -> Nested<Self, B>
fn encapsulate<B>(self, outer: B) -> Nested<Self, B>
source§fn with_size_limit(self, limit: usize) -> Nested<Self, LimitedSizePacketBuilder>
fn with_size_limit(self, limit: usize) -> Nested<Self, LimitedSizePacketBuilder>
Creates a new
Serializer
which will enforce a size limit. Read moreimpl<I: Copy, O: Copy> Copy for Nested<I, O>
Auto Trait Implementations§
impl<I, O> Freeze for Nested<I, O>
impl<I, O> RefUnwindSafe for Nested<I, O>where
I: RefUnwindSafe,
O: RefUnwindSafe,
impl<I, O> Send for Nested<I, O>
impl<I, O> Sync for Nested<I, O>
impl<I, O> Unpin for Nested<I, O>
impl<I, O> UnwindSafe for Nested<I, O>where
I: UnwindSafe,
O: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more