pub struct ToolService { /* private fields */ }Expand description
A tower::Service wrapper around ToolPort::call_tool.
This allows composing tool execution with standard tower middleware
like Timeout, Retry, RateLimit, ConcurrencyLimit, etc.
Implementations§
Trait Implementations§
Source§impl Debug for ToolService
impl Debug for ToolService
Source§impl Service<ToolRequest> for ToolService
impl Service<ToolRequest> for ToolService
Source§type Response = ToolResponse
type Response = ToolResponse
Responses given by the service.
Source§type Future = Pin<Box<dyn Future<Output = Result<<ToolService as Service<ToolRequest>>::Response, <ToolService as Service<ToolRequest>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<ToolService as Service<ToolRequest>>::Response, <ToolService as Service<ToolRequest>>::Error>> + Send>>
The future response value.
Auto Trait Implementations§
impl Freeze for ToolService
impl !RefUnwindSafe for ToolService
impl Send for ToolService
impl Sync for ToolService
impl Unpin for ToolService
impl UnsafeUnpin for ToolService
impl !UnwindSafe for ToolService
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T, Request> ServiceExt<Request> for Twhere
T: Service<Request>,
impl<T, Request> ServiceExt<Request> for Twhere
T: Service<Request>,
Source§fn with_timeout(self, timeout: Duration) -> Timeout<Self>
fn with_timeout(self, timeout: Duration) -> Timeout<Self>
Apply a timeout to this service.
Source§fn with_rate_limit(self, max: u64, interval: Duration) -> RateLimit<Self>
fn with_rate_limit(self, max: u64, interval: Duration) -> RateLimit<Self>
Apply rate limiting to this service.
Source§fn with_concurrency_limit(self, max: usize) -> ConcurrencyLimit<Self>
fn with_concurrency_limit(self, max: usize) -> ConcurrencyLimit<Self>
Apply concurrency limiting to this service.
Source§fn map_response<F, Response2>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response2>(self, f: F) -> MapResponse<Self, F>
Map responses from this service.
Source§impl<T, Request> ServiceExt<Request> for T
impl<T, Request> ServiceExt<Request> for T
Source§fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
fn ready(&mut self) -> Ready<'_, Self, Request>where
Self: Sized,
Yields a mutable reference to the service when it is ready to accept a request.
Source§fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
fn ready_oneshot(self) -> ReadyOneshot<Self, Request>where
Self: Sized,
Yields the service when it is ready to accept a request.
Source§fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
fn oneshot(self, req: Request) -> Oneshot<Self, Request>where
Self: Sized,
Consume this
Service, calling it with the provided request once it is ready.Source§fn and_then<F>(self, f: F) -> AndThen<Self, F>
fn and_then<F>(self, f: F) -> AndThen<Self, F>
Executes a new future after this service’s future resolves. This does
not alter the behaviour of the
poll_ready method. Read moreSource§fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
fn map_response<F, Response>(self, f: F) -> MapResponse<Self, F>
Maps this service’s response value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
fn map_err<F, Error>(self, f: F) -> MapErr<Self, F>
Maps this service’s error value to a different value. This does not
alter the behaviour of the
poll_ready method. Read moreSource§fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
fn map_result<F, Response, Error>(self, f: F) -> MapResult<Self, F>
Maps this service’s result type (
Result<Self::Response, Self::Error>)
to a different value, regardless of whether the future succeeds or
fails. Read moreSource§fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
fn map_request<F, NewRequest>(self, f: F) -> MapRequest<Self, F>
Composes a function in front of the service. Read more
Source§fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
fn then<F, Response, Error, Fut>(self, f: F) -> Then<Self, F>
Composes an asynchronous function after this service. Read more
Source§fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
fn map_future<F, Fut, Response, Error>(self, f: F) -> MapFuture<Self, F>
Composes a function that transforms futures produced by the service. Read more