[][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> !Sync for BoxService<T, U, E>

Blanket Implementations

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

impl<T> From for T[src]

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<C, Target> MakeConnection 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 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.