[−][src]Struct tower::util::BoxService
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]
S: Service<T, Response = U, Error = E> + Send + 'static,
<S as Service<T>>::Future: Send,
<S as Service<T>>::Future: 'static,
Trait Implementations
impl<T, U, E> Debug for BoxService<T, U, E> where
E: Debug,
T: Debug,
U: Debug, [src]
E: Debug,
T: Debug,
U: Debug,
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<Item = U, Error = E> + 'static + Send>
The future response value.
fn poll_ready(&mut self) -> Result<Async<()>, E>[src]
fn call(
&mut self,
request: T
) -> Box<dyn Future<Item = U, Error = E> + 'static + Send>[src]
&mut self,
request: T
) -> Box<dyn Future<Item = U, Error = E> + 'static + Send>
Auto Trait Implementations
impl<T, U, E> Unpin for BoxService<T, U, E>
impl<T, U, E> !Sync for BoxService<T, U, E>
impl<T, U, E> Send for BoxService<T, U, E>
impl<T, U, E> !RefUnwindSafe for BoxService<T, U, E>
impl<T, U, E> !UnwindSafe for BoxService<T, U, E>
Blanket Implementations
impl<T, Request> ServiceExt<Request> for T where
T: Service<Request> + ?Sized, [src]
T: Service<Request> + ?Sized,
fn ready(self) -> Ready<Self, Request> where
Self: Sized, [src]
Self: Sized,
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]
Self: Sized,
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]
Self: Sized,
Self::Error: Into<Box<dyn Error + Send + Sync>>,
S: Stream<Item = Request>,
S::Error: Into<Box<dyn Error + Send + Sync>>,
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]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<C, Target> MakeConnection<Target> for C where
C: Service<Target>,
<C as Service<Target>>::Response: AsyncRead,
<C as Service<Target>>::Response: AsyncWrite, [src]
C: Service<Target>,
<C as Service<Target>>::Response: AsyncRead,
<C as Service<Target>>::Response: AsyncWrite,
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
fn poll_ready(
&mut self
) -> Result<Async<()>, <C as MakeConnection<Target>>::Error>[src]
&mut self
) -> Result<Async<()>, <C as MakeConnection<Target>>::Error>
fn make_connection(
&mut self,
target: Target
) -> <C as MakeConnection<Target>>::Future[src]
&mut self,
target: Target
) -> <C as MakeConnection<Target>>::Future
impl<M, S, Target, Request> MakeService<Target, Request> for M where
M: Service<Target, Response = S>,
S: Service<Request>, [src]
M: Service<Target, Response = S>,
S: Service<Request>,
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.
fn poll_ready(
&mut self
) -> Result<Async<()>, <M as MakeService<Target, Request>>::MakeError>[src]
&mut self
) -> Result<Async<()>, <M as MakeService<Target, Request>>::MakeError>
fn make_service(
&mut self,
target: Target
) -> <M as MakeService<Target, Request>>::Future[src]
&mut self,
target: Target
) -> <M as MakeService<Target, Request>>::Future