Struct BindBodyToConnLayer
#[non_exhaustive]pub struct BindBodyToConnLayer { /* private fields */ }dns and http-backend and http and std and tcp only.Expand description
Layer that wraps a connector’s connection in BindBodyToConn.
Place it directly above the connection pool (as
HttpPooledConnectorConfig::build_connector
does), so the body holds the pool lease, and below any layer transforming
response bodies (e.g. decompression), so a drain reads the raw body.
By default HTTP/1 response bodies dropped before their end are drained as
Http1BodyDrainConfig::default allows; each connector this layer
creates has its own limit of concurrent drains, shared by its clones.
Draining needs connections established by an
HttpConnector; others are not drained.
Implementations§
§impl BindBodyToConnLayer
impl BindBodyToConnLayer
pub fn new() -> BindBodyToConnLayer
pub fn new() -> BindBodyToConnLayer
Create a new BindBodyToConnLayer.
pub fn maybe_with_http1_body_drain(
self,
config: Option<Http1BodyDrainConfig>,
) -> BindBodyToConnLayer
pub fn maybe_with_http1_body_drain( self, config: Option<Http1BodyDrainConfig>, ) -> BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
pub fn maybe_set_http1_body_drain(
&mut self,
config: Option<Http1BodyDrainConfig>,
) -> &mut BindBodyToConnLayer
pub fn maybe_set_http1_body_drain( &mut self, config: Option<Http1BodyDrainConfig>, ) -> &mut BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
pub fn with_http1_body_drain(
self,
config: Http1BodyDrainConfig,
) -> BindBodyToConnLayer
pub fn with_http1_body_drain( self, config: Http1BodyDrainConfig, ) -> BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
pub fn set_http1_body_drain(
&mut self,
config: Http1BodyDrainConfig,
) -> &mut BindBodyToConnLayer
pub fn set_http1_body_drain( &mut self, config: Http1BodyDrainConfig, ) -> &mut BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
pub fn without_http1_body_drain(self) -> BindBodyToConnLayer
pub fn without_http1_body_drain(self) -> BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
pub fn unset_http1_body_drain(&mut self) -> &mut BindBodyToConnLayer
pub fn unset_http1_body_drain(&mut self) -> &mut BindBodyToConnLayer
Drain HTTP/1 response bodies dropped before their end within these
limits; None closes their connection right away instead.
Trait Implementations§
§impl Clone for BindBodyToConnLayer
impl Clone for BindBodyToConnLayer
§fn clone(&self) -> BindBodyToConnLayer
fn clone(&self) -> BindBodyToConnLayer
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for BindBodyToConnLayer
impl Debug for BindBodyToConnLayer
§impl Default for BindBodyToConnLayer
impl Default for BindBodyToConnLayer
§fn default() -> BindBodyToConnLayer
fn default() -> BindBodyToConnLayer
§impl<S> Layer<S> for BindBodyToConnLayer
impl<S> Layer<S> for BindBodyToConnLayer
§type Service = BindBodyToConnector<S>
type Service = BindBodyToConnector<S>
§fn layer(&self, inner: S) -> <BindBodyToConnLayer as Layer<S>>::Service
fn layer(&self, inner: S) -> <BindBodyToConnLayer as Layer<S>>::Service
§fn into_layer(self, inner: S) -> Self::Service
fn into_layer(self, inner: S) -> Self::Service
layer but consuming self after the service was created. Read moreAuto Trait Implementations§
impl Freeze for BindBodyToConnLayer
impl RefUnwindSafe for BindBodyToConnLayer
impl Send for BindBodyToConnLayer
impl Sync for BindBodyToConnLayer
impl Unpin for BindBodyToConnLayer
impl UnsafeUnpin for BindBodyToConnLayer
impl UnwindSafe for BindBodyToConnLayer
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more