pub(super) struct Discard(Arc<DiscardState>);Expand description
Drops the input of a ClientIo, also after its WebSocket got split. A
client which sent a message larger than the server takes may still be
busy writing the rest of it and not read meanwhile, which holds up the
status and the close for it, unless its input gets read. The WebSocket
cannot read it anymore, it fails on the message again. Writes drop what
the client sent before they write, up to DRAIN_LIMIT, and the input
of the client wakes a write which waits for it. Reads see nothing but the
end of the connection.
Tuple Fields§
§0: Arc<DiscardState>Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for Discard
impl !UnwindSafe for Discard
impl Freeze for Discard
impl Send for Discard
impl Sync for Discard
impl Unpin for Discard
impl UnsafeUnpin for Discard
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].