pub struct Stream<Data> {
    pub stream_id: VarInt,
    pub offset: VarInt,
    pub is_last_frame: bool,
    pub is_fin: bool,
    pub data: Data,
}

Fields§

§stream_id: VarInt

A variable-length integer indicating the stream ID of the stream

§offset: VarInt

A variable-length integer specifying the byte offset in the stream for the data in this STREAM frame.

§is_last_frame: bool

If true, the frame is the last frame in the payload

§is_fin: bool

If true, the frame marks the end of the stream.

§data: Data

The bytes from the designated stream to be delivered.

Implementations§

source§

impl<Data> Stream<Data>

source

pub fn tag(&self) -> u8

source

pub fn map_data<F: FnOnce(Data) -> Out, Out>(self, map: F) -> Stream<Out>

Converts the stream data from one type to another

source§

impl<Data: EncoderValue> Stream<Data>

source

pub fn try_fit(&mut self, capacity: usize) -> Result<usize, FitError>

Tries to fit the frame into the provided capacity

The is_last_frame field will be updated with this call.

If ok, the new payload length is returned, otherwise the frame cannot fit.

Trait Implementations§

source§

impl<Data> AckElicitable for Stream<Data>

source§

impl<Data> CongestionControlled for Stream<Data>

source§

impl<Data: Debug> Debug for Stream<Data>

source§

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

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

impl<'a, Data: DecoderValue<'a>> DecoderParameterizedValue<'a> for Stream<Data>

source§

impl<'a, Data: DecoderValueMut<'a>> DecoderParameterizedValueMut<'a> for Stream<Data>

source§

impl<Data: EncoderValue> EncoderValue for Stream<Data>

source§

fn encoding_size_for_encoder<E: Encoder>(&self, encoder: &E) -> usize

We hand optimize this encoding size so we can quickly estimate how large a STREAM frame will be

source§

fn encode<E: Encoder>(&self, buffer: &mut E)

Encodes the value into the encoder
source§

fn encode_mut<E>(&mut self, encoder: &mut E)
where E: Encoder,

Encodes the value into the encoder, while potentially mutating the value itself
source§

fn encoding_size(&self) -> usize

Returns the encoding size with no buffer constrains
source§

fn encode_with_len_prefix<Len, E>(&self, encoder: &mut E)
where Len: TryFrom<usize> + EncoderValue, E: Encoder, Self: Sized, <Len as TryFrom<usize>>::Error: Debug,

Encodes the value into the encoder with a prefix of Len
source§

fn encode_to_vec(&self) -> Vec<u8>

source§

impl<'a, AckRanges, Data> From<Stream<Data>> for Frame<'a, AckRanges, Data>

source§

fn from(v: Stream<Data>) -> Frame<'a, AckRanges, Data>

Converts to this type from the input type.
source§

impl<'a> From<Stream<DecoderBuffer<'a>>> for StreamRef<'a>

source§

fn from(s: Stream<DecoderBuffer<'a>>) -> Self

Converts to this type from the input type.
source§

impl<'a> From<Stream<DecoderBufferMut<'a>>> for StreamRef<'a>

source§

fn from(s: Stream<DecoderBufferMut<'a>>) -> Self

Converts to this type from the input type.
source§

impl<'a> From<Stream<DecoderBufferMut<'a>>> for StreamMut<'a>

source§

fn from(s: Stream<DecoderBufferMut<'a>>) -> Self

Converts to this type from the input type.
source§

impl<Data> IntoEvent<Frame> for &Stream<Data>
where Data: EncoderValue,

source§

impl<Data: PartialEq> PartialEq for Stream<Data>

source§

fn eq(&self, other: &Stream<Data>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<Data> Probing for Stream<Data>

source§

impl<Data: Eq> Eq for Stream<Data>

source§

impl<Data> StructuralPartialEq for Stream<Data>

Auto Trait Implementations§

§

impl<Data> Freeze for Stream<Data>
where Data: Freeze,

§

impl<Data> RefUnwindSafe for Stream<Data>
where Data: RefUnwindSafe,

§

impl<Data> Send for Stream<Data>
where Data: Send,

§

impl<Data> Sync for Stream<Data>
where Data: Sync,

§

impl<Data> Unpin for Stream<Data>
where Data: Unpin,

§

impl<Data> UnwindSafe for Stream<Data>
where Data: 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> PacketPayloadEncoder for T
where T: EncoderValue,

source§

fn encoding_size_hint<E>(&mut self, encoder: &E, minimum_len: usize) -> usize
where E: Encoder,

Returns an estimate of the encoding size of the payload. This may be inaccurate from what actually is encoded. Estimates should be less than or equal to what is actually written. Implementations can return 0 to skip encoding.
source§

fn encode( &mut self, buffer: &mut Buffer<'_>, _minimum_len: usize, _header_len: usize, _tag_len: usize )

Encodes the payload into the buffer. Implementations should ensure the encoding len is at least the minimum_len, otherwise the packet writing will panic.
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<T, U> Upcast<T> for U
where T: UpcastFrom<U>,

source§

fn upcast(self) -> T

source§

impl<T, B> UpcastFrom<Counter<T, B>> for T

source§

fn upcast_from(value: Counter<T, B>) -> T

source§

impl<T> FrameTrait for T