[−][src]Struct tower::util::BoxService
This is supported on crate feature
util only.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,
pub fn layer<S>() -> LayerFn<fn(_: 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,
Returns a Layer for wrapping a Service in a BoxService
middleware.
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.
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>> + 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>[src]
impl<T, U, E> Send for BoxService<T, U, E>[src]
impl<T, U, E> !Sync for BoxService<T, U, E>[src]
impl<T, U, E> Unpin for BoxService<T, U, E>[src]
impl<T, U, E> !UnwindSafe for BoxService<T, U, E>[src]
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_and(&mut self) -> ReadyAnd<'_, Self, Request>ⓘ where
Self: Sized, [src]
Self: Sized,
pub 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,
pub fn oneshot(self, req: Request) -> Oneshot<Self, Request>ⓘ where
Self: Sized, [src]
Self: Sized,
pub fn call_all<S>(self, reqs: S) -> CallAll<Self, S> where
Self: Sized,
Self::Error: Into<BoxError>,
S: Stream<Item = Request>, [src]
Self: Sized,
Self::Error: Into<BoxError>,
S: Stream<Item = Request>,
pub fn and_then<F>(self, f: F) -> AndThen<Self, F> where
Self: Sized,
F: Clone, [src]
Self: Sized,
F: Clone,
pub fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F> where
Self: Sized,
F: FnOnce(Self::Response) -> Response + Clone, [src]
Self: Sized,
F: FnOnce(Self::Response) -> Response + Clone,
pub fn map_err<F, Error>(self, f: F) -> MapErr<Self, F> where
Self: Sized,
F: FnOnce(Self::Error) -> Error + Clone, [src]
Self: Sized,
F: FnOnce(Self::Error) -> Error + Clone,
pub fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F> where
Self: Sized,
Error: From<Self::Error>,
F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone, [src]
Self: Sized,
Error: From<Self::Error>,
F: FnOnce(Result<Self::Response, Self::Error>) -> Result<Response, Error> + Clone,
pub fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F> where
Self: Sized,
F: FnMut(NewRequest) -> Request + Clone, [src]
Self: Sized,
F: FnMut(NewRequest) -> Request + Clone,
pub fn filter<F, NewRequest>(self, filter: F) -> Filter<Self, F> where
Self: Sized,
F: Predicate<NewRequest>, [src]
Self: Sized,
F: Predicate<NewRequest>,
pub fn filter_async<F, NewRequest>(self, filter: F) -> AsyncFilter<Self, F> where
Self: Sized,
F: AsyncPredicate<NewRequest>, [src]
Self: Sized,
F: AsyncPredicate<NewRequest>,
pub fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F> where
Self: Sized,
Error: From<Self::Error>,
F: FnOnce(Result<Self::Response, Self::Error>) -> Fut + Clone,
Fut: Future<Output = Result<Response, Error>>, [src]
Self: Sized,
Error: From<Self::Error>,
F: FnOnce(Result<Self::Response, Self::Error>) -> Fut + Clone,
Fut: Future<Output = Result<Response, Error>>,
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,