pub struct Request<'a> {
    pub chunks: Option<&'a mut [Bytes]>,
    pub low_watermark: usize,
    pub high_watermark: usize,
    pub stop_sending: Option<Error>,
    pub detached: bool,
}
Expand description

A request on a rx stream

Fields§

§chunks: Option<&'a mut [Bytes]>

Optionally receive chunks from the stream

At least one of the provided chunks should be empty, as it will be replaced by the received data from the stream. The response will indicate how many chunks and bytes were consumed from the stream into the provided slice.

§low_watermark: usize

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.

§high_watermark: usize

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.

§stop_sending: Option<Error>

Optionally requests the peer to stop sending data with an error

§detached: bool

Marks the rx stream as detached, which makes the stream make progress, regardless of application observations.

Trait Implementations§

source§

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

source§

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

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

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

source§

fn default() -> Self

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

§

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