Struct tower::util::BoxService [−][src]
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) -> 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
T: Debug,
E: Debug,
U: Debug, [src]
T: Debug,
E: 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 = Pin<Box<dyn Future<Output = Result<U, E>> + 'static + Send, Global>>
The future response value.
pub fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), E>>[src]
pub fn call(
&mut self,
request: T
) -> Pin<Box<dyn Future<Output = Result<U, E>> + 'static + Send, Global>>[src]
&mut self,
request: T
) -> Pin<Box<dyn Future<Output = Result<U, E>> + 'static + Send, Global>>
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]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, Request> ServiceExt<Request> for T where
T: Service<Request> + ?Sized, [src]
T: Service<Request> + ?Sized,
pub fn ready(&mut self) -> Ready<'_, Self, Request>ⓘ[src]
pub fn ready_and(&mut self) -> ReadyAnd<'_, Self, Request>[src]
pub fn ready_oneshot(self) -> ReadyOneshot<Self, Request>[src]
pub fn oneshot(self, req: Request) -> Oneshot<Self, Request>ⓘ[src]
pub fn call_all<S>(self, reqs: S) -> CallAll<Self, S> where
S: Stream<Item = Request>,
Self::Error: Into<Box<dyn Error + 'static + Send + Sync, Global>>, [src]
S: Stream<Item = Request>,
Self::Error: Into<Box<dyn Error + 'static + Send + Sync, Global>>,
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.
pub 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>,