Struct aws_smithy_client::erase::DynMiddleware
source · [−]#[non_exhaustive]pub struct DynMiddleware<C>(_);
Expand description
A Smithy middleware that uses dynamic dispatch.
This type allows you to pay a small runtime cost to avoid having to name the exact middleware
you’re using anywhere you want to hold a Client
. Specifically, this will use Box
to
enable dynamic dispatch for every request that goes through the middleware, which increases
memory pressure and suffers an additional vtable indirection for each request, but is unlikely
to matter in all but the highest-performance settings.
Implementations
sourceimpl<C> DynMiddleware<C>
impl<C> DynMiddleware<C>
sourcepub fn new<M: SmithyMiddleware<C> + Send + Sync + 'static>(
middleware: M
) -> Self
pub fn new<M: SmithyMiddleware<C> + Send + Sync + 'static>(
middleware: M
) -> Self
Construct a new dynamically-dispatched Smithy middleware.
Trait Implementations
sourceimpl<C> Debug for DynMiddleware<C>
impl<C> Debug for DynMiddleware<C>
sourceimpl<C> Layer<DispatchService<C>> for DynMiddleware<C>
impl<C> Layer<DispatchService<C>> for DynMiddleware<C>
type Service = BoxCloneService<Request, Response, SendOperationError>
type Service = BoxCloneService<Request, Response, SendOperationError>
The wrapped service
sourcefn layer(&self, inner: DispatchService<C>) -> Self::Service
fn layer(&self, inner: DispatchService<C>) -> Self::Service
Wrap the given service with the middleware, returning a new service that has been decorated with the middleware. Read more
Auto Trait Implementations
impl<C> !RefUnwindSafe for DynMiddleware<C>
impl<C> Send for DynMiddleware<C>
impl<C> Sync for DynMiddleware<C>
impl<C> Unpin for DynMiddleware<C>
impl<C> !UnwindSafe for DynMiddleware<C>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more