Struct FrameStream

Source
pub struct FrameStream<S, B> {
    pub stream: BufRecvStream<S, B>,
    /* private fields */
}
Available on crate feature h3 only.
Expand description

Decodes Frames from the underlying QUIC stream

Fields§

§stream: BufRecvStream<S, B>

Implementations§

Source§

impl<S, B> FrameStream<S, B>

Source

pub fn new(stream: BufRecvStream<S, B>) -> FrameStream<S, B>

Source

pub fn into_inner(self) -> BufRecvStream<S, B>

Unwraps the Framed streamer and returns the underlying stream without data loss for partially received/read frames.

Source§

impl<S, B> FrameStream<S, B>
where S: RecvStream,

Source

pub fn poll_next( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Option<Frame<PayloadLen>>, FrameStreamError>>

Polls the stream for the next frame header

When a frame header is received use poll_data to retrieve the frame’s data.

Source

pub fn poll_data( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<Option<impl Buf>, FrameStreamError>>

Retrieves the next piece of data in an incoming data packet or webtransport stream

WebTransport bidirectional payload has no finite length and is processed until the end of the stream.

Source

pub fn id(&self) -> StreamId

Trait Implementations§

Source§

impl<T, B> SendStream<B> for FrameStream<T, B>
where T: SendStream<B>, B: Buf,

Source§

fn poll_ready( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<(), StreamErrorIncoming>>

Polls if the stream can send more data.
Source§

fn send_data<D>(&mut self, data: D) -> Result<(), StreamErrorIncoming>
where D: Into<WriteBuf<B>>,

Send more data on the stream.
Source§

fn poll_finish( &mut self, cx: &mut Context<'_>, ) -> Poll<Result<(), StreamErrorIncoming>>

Poll to finish the sending side of the stream.
Source§

fn reset(&mut self, reset_code: u64)

Send a QUIC reset code.
Source§

fn send_id(&self) -> StreamId

Get QUIC send stream id

Auto Trait Implementations§

§

impl<S, B> Freeze for FrameStream<S, B>
where S: Freeze,

§

impl<S, B> RefUnwindSafe for FrameStream<S, B>

§

impl<S, B> Send for FrameStream<S, B>
where S: Send, B: Send,

§

impl<S, B> Sync for FrameStream<S, B>
where S: Sync, B: Sync,

§

impl<S, B> Unpin for FrameStream<S, B>

§

impl<S, B> UnwindSafe for FrameStream<S, B>
where S: UnwindSafe, B: 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more