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

pub struct BoxService<T, U, E> { /* fields omitted */ }

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.

Methods

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

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

Trait Implementations

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 = Box<dyn Future<Error = E, Item = U> + 'static + Send>

The future response value.

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

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

fn ready(self) -> Ready<Self, Request> where
    Self: Sized
[src]

A future yielding the service when it is ready to accept a request.

fn oneshot(self, req: Request) -> Oneshot<Self, Request> where
    Self: Sized
[src]

Consume this Service, calling with the providing request once it is ready.

fn call_all<S>(self, reqs: S) -> CallAll<Self, S> where
    Self: Sized,
    Self::Error: Into<Box<dyn Error + Send + Sync>>,
    S: Stream<Item = Request>,
    S::Error: Into<Box<dyn Error + Send + Sync>>, 
[src]

Process all requests from the given Stream, and produce a Stream of their responses. Read more

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

impl<C, Target> MakeConnection<Target> for C where
    C: Service<Target>,
    <C as Service<Target>>::Response: AsyncRead,
    <C as Service<Target>>::Response: AsyncWrite
[src]

type Connection = <C as Service<Target>>::Response

The transport provided by this service

type Error = <C as Service<Target>>::Error

Errors produced by the connecting service

type Future = <C as Service<Target>>::Future

The future that eventually produces the transport

impl<M, S, Target, Request> MakeService<Target, Request> for M where
    M: Service<Target, Response = S>,
    S: Service<Request>, 
[src]

type Response = <S as Service<Request>>::Response

Responses given by the service

type Error = <S as Service<Request>>::Error

Errors produced by the service

type Service = S

The Service value created by this factory

type MakeError = <M as Service<Target>>::Error

Errors produced while building a service.

type Future = <M as Service<Target>>::Future

The future of the Service instance.