Enum packet::serialize::EitherSerializer
source · pub enum EitherSerializer<A, B> {
A(A),
B(B),
}
Expand description
Either of two serializers.
An EitherSerializer
wraps one of two different serializer types.
Variants§
Trait Implementations§
source§impl<A: Serializer, B: Serializer<Buffer = A::Buffer>> Serializer for EitherSerializer<A, B>
impl<A: Serializer, B: Serializer<Buffer = A::Buffer>> Serializer for EitherSerializer<A, B>
§type Buffer = <A as Serializer>::Buffer
type Buffer = <A as Serializer>::Buffer
The type of buffers returned from serialization methods on this trait.
source§fn serialize<TB: GrowBufferMut, P: BufferProvider<Self::Buffer, TB>>(
self,
outer: PacketConstraints,
provider: P,
) -> Result<TB, (SerializeError<P::Error>, Self)>
fn serialize<TB: GrowBufferMut, P: BufferProvider<Self::Buffer, TB>>( self, outer: PacketConstraints, provider: P, ) -> Result<TB, (SerializeError<P::Error>, Self)>
Serializes this
Serializer
, producing a buffer. Read moresource§fn serialize_new_buf<TB: ReusableBuffer, BA: BufferAlloc<TB>>(
&self,
outer: PacketConstraints,
alloc: BA,
) -> Result<TB, SerializeError<BA::Error>>
fn serialize_new_buf<TB: ReusableBuffer, BA: BufferAlloc<TB>>( &self, outer: PacketConstraints, alloc: BA, ) -> Result<TB, SerializeError<BA::Error>>
Serializes the data into a new buffer without consuming
self
. 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 moreAuto Trait Implementations§
impl<A, B> Freeze for EitherSerializer<A, B>
impl<A, B> RefUnwindSafe for EitherSerializer<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for EitherSerializer<A, B>
impl<A, B> Sync for EitherSerializer<A, B>
impl<A, B> Unpin for EitherSerializer<A, B>
impl<A, B> UnwindSafe for EitherSerializer<A, B>where
A: UnwindSafe,
B: 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