pub struct LoopSegment {
pub config: LoopConfig,
pub body: OutcomeSegment,
}Expand description
Outcome-aware structural EIP segment for the Loop pattern.
Operates at the PipelineOutcome layer so that Stopped(ex) from a
sub-step (e.g. Stop EIP) is preserved with the exchange including all
mutations. Supports both Count and While modes, mirroring LoopService
semantics exactly.
Unlike LoopService (which operates at the Tower layer), LoopSegment
correctly short-circuits on PipelineOutcome::Stopped or Failed.
Fields§
§config: LoopConfig§body: OutcomeSegmentTrait Implementations§
Source§impl Clone for LoopSegment
impl Clone for LoopSegment
Source§impl OutcomePipeline for LoopSegment
impl OutcomePipeline for LoopSegment
Source§fn clone_box(&self) -> Box<dyn OutcomePipeline>
fn clone_box(&self) -> Box<dyn OutcomePipeline>
Clone the segment into a new boxed instance. Required because
Box<dyn OutcomePipeline> cannot directly derive Clone.Auto Trait Implementations§
impl !RefUnwindSafe for LoopSegment
impl !Sync for LoopSegment
impl !UnwindSafe for LoopSegment
impl Freeze for LoopSegment
impl Send for LoopSegment
impl Unpin for LoopSegment
impl UnsafeUnpin for LoopSegment
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