Struct TransmogReader

Source
pub struct TransmogReader<R, T, F> { /* private fields */ }
Expand description

A wrapper around an asynchronous reader that produces an asynchronous stream of Transmog-decoded values.

To use, provide a reader that implements AsyncRead, and then use Stream to access the deserialized values.

Note that the sender must prefix each serialized item with its size encoded using ordered-varint.

Implementations§

Source§

impl<R, T, F> TransmogReader<R, T, F>

Source

pub fn get_ref(&self) -> &R

Gets a reference to the underlying reader.

It is inadvisable to directly read from the underlying reader.

Source

pub fn get_mut(&mut self) -> &mut R

Gets a mutable reference to the underlying reader.

It is inadvisable to directly read from the underlying reader.

Source

pub fn buffer(&self) -> &[u8]

Returns a reference to the internally buffered data.

This will not attempt to fill the buffer if it is empty.

Source

pub fn into_inner(self) -> R

Unwraps this TransmogReader, returning the underlying reader.

Note that any leftover data in the internal buffer is lost.

Source§

impl<R, T, F> TransmogReader<R, T, F>

Source

pub fn new(reader: R, format: F) -> Self

Returns a new instance that reads format-encoded data for reader.

Source

pub fn default_for(format: F) -> Self
where R: Default,

Returns a new instance that reads format-encoded data for R::default().

Trait Implementations§

Source§

impl<R: Debug, T: Debug, F: Debug> Debug for TransmogReader<R, T, F>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<R, T, F> Stream for TransmogReader<R, T, F>
where R: AsyncRead + Unpin, F: OwnedDeserializer<T>,

Source§

type Item = Result<T, <F as Format<'static, T>>::Error>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more
Source§

impl<R, T, F> Unpin for TransmogReader<R, T, F>
where R: Unpin,

Auto Trait Implementations§

§

impl<R, T, F> Freeze for TransmogReader<R, T, F>
where F: Freeze, R: Freeze,

§

impl<R, T, F> RefUnwindSafe for TransmogReader<R, T, F>

§

impl<R, T, F> Send for TransmogReader<R, T, F>
where F: Send, R: Send, T: Send,

§

impl<R, T, F> Sync for TransmogReader<R, T, F>
where F: Sync, R: Sync, T: Sync,

§

impl<R, T, F> UnwindSafe for TransmogReader<R, T, F>
where F: UnwindSafe, R: UnwindSafe, T: UnwindSafe,

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>,

Source§

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>,

Source§

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.
Source§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more