Struct tower::util::BoxService[][src]

pub struct BoxService<T, U, E> { /* fields omitted */ }
This is supported on crate feature util only.

A boxed Service + Send trait object.

BoxService turns a service into a trait object, allowing the response future type to be dynamic. This type requires both the service and the response future to be Send.

See module level documentation for more details.

Implementations

impl<T, U, E> BoxService<T, U, E>[src]

pub fn new<S>(inner: S) -> Self where
    S: Service<T, Response = U, Error = E> + Send + 'static,
    S::Future: Send + 'static, 
[src]

pub fn layer<S>() -> LayerFn<fn(_: S) -> Self> where
    S: Service<T, Response = U, Error = E> + Send + 'static,
    S::Future: Send + 'static, 
[src]

Returns a Layer for wrapping a Service in a BoxService middleware.

Trait Implementations

impl<T, U, E> Debug for BoxService<T, U, E> where
    T: Debug,
    U: Debug,
    E: Debug
[src]

impl<T, U, E> Service<T> for BoxService<T, U, E>[src]

type Response = U

Responses given by the service.

type Error = E

Errors produced by the service.

type Future = Pin<Box<dyn Future<Output = Result<U, E>> + Send>>

The future response value.

Auto Trait Implementations

impl<T, U, E> !RefUnwindSafe for BoxService<T, U, E>

impl<T, U, E> Send for BoxService<T, U, E>

impl<T, U, E> !Sync for BoxService<T, U, E>

impl<T, U, E> Unpin for BoxService<T, U, E>

impl<T, U, E> !UnwindSafe for BoxService<T, U, E>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Request> ServiceExt<Request> for T where
    T: Service<Request> + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,