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) -> Self where
S: Service<T, Response = U, Error = E> + Send + 'static,
S::Future: Send + 'static, [src]
S: Service<T, Response = U, Error = E> + Send + 'static,
S::Future: Send + 'static,
Trait Implementations
impl<T, U, E> Debug for BoxService<T, U, E> where
T: Debug,
U: Debug,
E: Debug, [src]
T: Debug,
U: Debug,
E: 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>> + Send>>
The future response value.
fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll<Result<(), E>>[src]
fn call(
&mut self,
request: T
) -> Pin<Box<dyn Future<Output = Result<U, E>> + Send>>[src]
&mut self,
request: T
) -> Pin<Box<dyn Future<Output = Result<U, E>> + Send>>
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, 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,
fn ready(&mut self) -> Ready<'_, Self, Request>ⓘ where
Self: Sized, [src]
Self: Sized,
fn ready_and(&mut self) -> ReadyAnd<'_, Self, Request>ⓘ where
Self: Sized, [src]
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>ⓘNotable traits for ReadyOneshot<T, Request>
impl<T, Request> Future for ReadyOneshot<T, Request> where
T: Service<Request>, type Output = Result<T, T::Error>; where
Self: Sized, [src]
Notable traits for ReadyOneshot<T, Request>
impl<T, Request> Future for ReadyOneshot<T, Request> where
T: Service<Request>, type Output = Result<T, T::Error>;Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>ⓘ where
Self: Sized, [src]
Self: Sized,
fn call_all<S>(self, reqs: S) -> CallAll<Self, S> where
Self: Sized,
Self::Error: Into<Error>,
S: Stream<Item = Request>, [src]
Self: Sized,
Self::Error: Into<Error>,
S: Stream<Item = Request>,
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>,