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> Clone for DynMiddleware<C>
impl<C> Clone for DynMiddleware<C>
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 Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more