s2n_quic_transport::stream::ops

Struct Request

source
pub struct Request<'a> {
    pub tx: Option<Request<'a>>,
    pub rx: Option<Request<'a>>,
}
Expand description

A request made on a stream

Fields§

§tx: Option<Request<'a>>

The tx options of the request

§rx: Option<Request<'a>>

The rx options of the request

Implementations§

source§

impl<'a> Request<'a>

source

pub fn send(&mut self, chunks: &'a mut [Bytes]) -> &mut Request<'a>

Requests a slice of chunks to be sent on the tx stream

source

pub fn reset(&mut self, error: Error) -> &mut Request<'a>

Resets the tx stream with an error code

source

pub fn flush(&mut self) -> &mut Request<'a>

Flushes any pending tx data to be ACKed before unblocking

source

pub fn finish(&mut self) -> &mut Request<'a>

Marks the tx stream as finished (e.g. no more data will be sent)

source

pub fn receive(&mut self, chunks: &'a mut [Bytes]) -> &mut Request<'a>

Requests data on the rx stream to be received into the provided slice of chunks

source

pub fn stop_sending(&mut self, error: Error) -> &mut Request<'a>

Requests the peer to stop sending data on the rx stream

source

pub fn with_watermark(&mut self, low: usize, high: usize) -> &mut Request<'a>

Sets the watermarks for the rx stream

source

pub fn with_low_watermark(&mut self, low: usize) -> &mut Request<'a>

Sets the low watermark for the rx stream

If the watermark is set to 0, the caller will be notified as soon as there is data available on the stream.

If the watermark is greater than 0, the caller will be notified as soon as there is at least low bytes available to be read. Note that the stream may be woken earlier.

source

pub fn with_high_watermark(&mut self, high: usize) -> &mut Request<'a>

Sets the high watermark for the rx stream

The stream ensures that all the received data will not exceed the watermark amount. This can be useful for receiving at most n bytes.

source

pub fn detach_tx(&mut self) -> &mut Request<'a>

source

pub fn detach_rx(&mut self) -> &mut Request<'a>

Trait Implementations§

source§

impl<'a> Debug for Request<'a>

source§

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

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

impl<'a> Default for Request<'a>

source§

fn default() -> Request<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Request<'a>

§

impl<'a> RefUnwindSafe for Request<'a>

§

impl<'a> Send for Request<'a>

§

impl<'a> Sync for Request<'a>

§

impl<'a> Unpin for Request<'a>

§

impl<'a> !UnwindSafe for Request<'a>

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