pub struct DoTryService {
pub try_steps: Vec<BoxProcessor>,
pub catch_clauses: Vec<CatchClause>,
pub finally_steps: Vec<BoxProcessor>,
pub finally_on_when: Option<FilterPredicate>,
}Expand description
The doTry processor. Wrap with BoxProcessor::new(DoTryService::new(...)).
Fields§
§try_steps: Vec<BoxProcessor>Steps in the try block.
catch_clauses: Vec<CatchClause>Catch clauses evaluated first-match-wins.
finally_steps: Vec<BoxProcessor>Steps in the finally block (empty = no finally).
finally_on_when: Option<FilterPredicate>Optional onWhen predicate for finally.
Implementations§
Source§impl DoTryService
impl DoTryService
Sourcepub fn new(try_steps: Vec<BoxProcessor>) -> Self
pub fn new(try_steps: Vec<BoxProcessor>) -> Self
Create a new DoTryService with the given try steps.
Sourcepub fn with_catch_and_finally(
try_steps: Vec<BoxProcessor>,
catch_clauses: Vec<CatchClause>,
finally_steps: Vec<BoxProcessor>,
finally_on_when: Option<FilterPredicate>,
) -> Self
pub fn with_catch_and_finally( try_steps: Vec<BoxProcessor>, catch_clauses: Vec<CatchClause>, finally_steps: Vec<BoxProcessor>, finally_on_when: Option<FilterPredicate>, ) -> Self
Full constructor used by the compile pipeline (Task 10b control_flow.rs).
Builder API (Task 8) constructs via new() + field mutation.
Trait Implementations§
Source§impl Clone for DoTryService
impl Clone for DoTryService
Source§fn clone(&self) -> DoTryService
fn clone(&self) -> DoTryService
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Service<Exchange> for DoTryService
impl Service<Exchange> for DoTryService
Source§type Error = CamelError
type Error = CamelError
Errors produced by the service.
Source§type Future = Pin<Box<dyn Future<Output = Result<<DoTryService as Service<Exchange>>::Response, <DoTryService as Service<Exchange>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<DoTryService as Service<Exchange>>::Response, <DoTryService as Service<Exchange>>::Error>> + Send>>
The future response value.
Auto Trait Implementations§
impl !RefUnwindSafe for DoTryService
impl !Sync for DoTryService
impl !UnwindSafe for DoTryService
impl Freeze for DoTryService
impl Send for DoTryService
impl Unpin for DoTryService
impl UnsafeUnpin for DoTryService
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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