Struct tbon::en::Encoder

source ·
pub struct Encoder;
Expand description

A TBON encoder

Trait Implementations§

source§

impl<'en> Encoder<'en> for Encoder

§

type Ok = Pin<Box<dyn Stream<Item = Result<Bytes, Error>> + Send + Unpin + 'en>>

The output type produced by this Encoder.
§

type Error = Error

The type returned when an encoding error is encountered.
§

type EncodeMap = MapEncoder<'en>

Type returned from encode_map for streaming the content of the map.
§

type EncodeSeq = SequenceEncoder<'en>

Type returned from encode_seq for streaming the content of the sequence.
§

type EncodeTuple = SequenceEncoder<'en>

Type returned from encode_tuple for streaming the content of the tuple.
source§

fn encode_bool(self, v: bool) -> Result<Self::Ok, Self::Error>

Encode a bool.
source§

fn encode_bytes<B: Into<Bytes>>(self, bytes: B) -> Result<Self::Ok, Self::Error>

Encode a binary value.
source§

fn encode_i8(self, v: i8) -> Result<Self::Ok, Self::Error>

Encode an i8.
source§

fn encode_i16(self, v: i16) -> Result<Self::Ok, Self::Error>

Encode an i16.
source§

fn encode_i32(self, v: i32) -> Result<Self::Ok, Self::Error>

Encode an i32.
source§

fn encode_i64(self, v: i64) -> Result<Self::Ok, Self::Error>

Encode an i64.
source§

fn encode_u8(self, v: u8) -> Result<Self::Ok, Self::Error>

Encode a u8.
source§

fn encode_u16(self, v: u16) -> Result<Self::Ok, Self::Error>

Encode a u16.
source§

fn encode_u32(self, v: u32) -> Result<Self::Ok, Self::Error>

Encode a u32.
source§

fn encode_u64(self, v: u64) -> Result<Self::Ok, Self::Error>

Encode a u64.
source§

fn encode_f32(self, v: f32) -> Result<Self::Ok, Self::Error>

Encode an f32 value.
source§

fn encode_f64(self, v: f64) -> Result<Self::Ok, Self::Error>

Encode an f64 value.
source§

fn encode_array_bool<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = bool> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of bools.
source§

fn encode_array_i8<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = i8> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of i8s.
source§

fn encode_array_i16<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = i16> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of i16s.
source§

fn encode_array_i32<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = i32> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of i32s.
source§

fn encode_array_i64<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = i64> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of i64s.
source§

fn encode_array_u8<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = u8> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of u8s.
source§

fn encode_array_u16<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = u16> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of u16s.
source§

fn encode_array_u32<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = u32> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of u32s.
source§

fn encode_array_u64<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = u64> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of u64s.
source§

fn encode_array_f32<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = f32> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of f32s.
source§

fn encode_array_f64<T, S>(self, chunks: S) -> Result<Self::Ok, Self::Error>
where T: IntoIterator<Item = f64> + Send + Unpin + 'en, S: Stream<Item = T> + Send + Unpin + 'en, <T as IntoIterator>::IntoIter: Send + Unpin + 'en,

Encode an array of f64s.
source§

fn encode_str(self, v: &str) -> Result<Self::Ok, Self::Error>

Encode a &str.
source§

fn encode_none(self) -> Result<Self::Ok, Self::Error>

Encode a None value.
source§

fn encode_some<T: IntoStream<'en> + 'en>( self, value: T ) -> Result<Self::Ok, Self::Error>

Encode a Some(T) value.
source§

fn encode_unit(self) -> Result<Self::Ok, Self::Error>

Encode a () value.
source§

fn encode_uuid(self, uuid: Uuid) -> Result<Self::Ok, Self::Error>

Encode a Uuid.
source§

fn encode_map( self, size_hint: Option<usize> ) -> Result<Self::EncodeMap, Self::Error>

Begin encoding a map. This call must be followed by zero or more calls to encode_key and encode_value, then end. Read more
source§

fn encode_map_stream<K, V, S>(self, map: S) -> Result<Self::Ok, Self::Error>
where K: IntoStream<'en> + 'en, V: IntoStream<'en> + 'en, S: Stream<Item = (K, V)> + Send + Unpin + 'en,

Given a stream of encodable key-value pairs, return a stream encoded as a map.
source§

fn encode_seq( self, size_hint: Option<usize> ) -> Result<Self::EncodeSeq, Self::Error>

Begin encoding a variably sized sequence. This call must be followed by zero or more calls to encode_element, then end. Read more
source§

fn encode_seq_stream<T: IntoStream<'en> + 'en, S: Stream<Item = T> + Send + Unpin + 'en>( self, seq: S ) -> Result<Self::Ok, Self::Error>

Given a stream of encodable values, return a stream encoded as a sequence.
source§

fn encode_tuple(self, len: usize) -> Result<Self::EncodeTuple, Self::Error>

Begin encoding a statically sized sequence whose length will be known at decoding time without looking at the encoded data. This call must be followed by zero or more calls to encode_element, then end.
source§

fn collect_bytes<B: IntoIterator<Item = u8>>( self, bytes: B ) -> Result<Self::Ok, Self::Error>

Collect an iterator of bytes.
source§

fn collect_seq<T, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
where T: IntoStream<'en> + 'en, I: IntoIterator<Item = T>,

Collect an iterator as a sequence. Read more
source§

fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
where K: IntoStream<'en> + 'en, V: IntoStream<'en> + 'en, I: IntoIterator<Item = (K, V)>,

Collect an iterator as a map. Read more
source§

fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
where T: Display + ?Sized,

Encode a string produced by an implementation of Display.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.