pub struct PacketReader<T>
where T: TokioAsyncRead,
{ /* private fields */ }
Available on crate feature async only.
Expand description

Async packet reading functionality.

Implementations§

source§

impl<T: TokioAsyncRead> PacketReader<T>

source

pub fn new(inner: T) -> Self

Wraps the specified Tokio runtime AsyncRead into an Ogg packet reader.

This is the recommended constructor when using the Tokio runtime types.

source§

impl<T: FuturesAsyncRead> PacketReader<Compat<T>>

source

pub fn new_compat(inner: T) -> Self

Wraps the specified futures_io AsyncRead into an Ogg packet reader.

This crate uses Tokio internally, so a wrapper that may have some performance cost will be used. Therefore, this constructor is to be used only when dealing with AsyncRead implementations from other runtimes, and implementing a Tokio AsyncRead compatibility layer oneself is not desired.

Trait Implementations§

source§

impl<T: TokioAsyncRead> Stream for PacketReader<T>

§

type Item = Result<Packet, OggReadError>

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<'pin, T> Unpin for PacketReader<T>
where T: TokioAsyncRead, __PacketReader<'pin, T>: Unpin,

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for PacketReader<T>
where T: RefUnwindSafe,

§

impl<T> Send for PacketReader<T>
where T: Send,

§

impl<T> Sync for PacketReader<T>
where T: Sync,

§

impl<T> UnwindSafe for PacketReader<T>
where 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>,

§

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

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

§

type Ok = T

The type of successful values yielded by this future
§

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