pub struct ThrottleBuilder { /* private fields */ }Expand description
Builder for the sub-pipeline within a .throttle() … .end_throttle() block.
Exposes the same step methods as RouteBuilder (to, process, filter, etc.)
but NOT .build() and NOT .throttle() (no nested throttles).
Calling .end_throttle() packages the sub-steps into a BuilderStep::Throttle
and returns the parent RouteBuilder.
Implementations§
Source§impl ThrottleBuilder
impl ThrottleBuilder
Sourcepub fn strategy(self, strategy: ThrottleStrategy) -> Self
pub fn strategy(self, strategy: ThrottleStrategy) -> Self
Set the throttle strategy. Default is Delay.
Delay: Queue messages until capacity availableReject: Return error immediately when throttledDrop: Silently discard excess messages
Sourcepub fn end_throttle(self) -> RouteBuilder
pub fn end_throttle(self) -> RouteBuilder
Close the throttle scope. Packages the accumulated sub-steps into a
BuilderStep::Throttle and returns the parent RouteBuilder.
Trait Implementations§
Source§impl StepAccumulator for ThrottleBuilder
impl StepAccumulator for ThrottleBuilder
fn steps_mut(&mut self) -> &mut Vec<BuilderStep>
fn to(self, endpoint: impl Into<String>) -> Self
fn process<F, Fut>(self, f: F) -> Self
fn process_fn(self, processor: BoxProcessor) -> Self
fn set_header(self, key: impl Into<String>, value: impl Into<Value>) -> Self
fn map_body<F>(self, mapper: F) -> Self
fn set_body<B>(self, body: B) -> Self
fn set_body_fn<F>(self, expr: F) -> Self
fn set_header_fn<F>(self, key: impl Into<String>, expr: F) -> Self
fn aggregate(self, config: AggregatorConfig) -> Self
Source§fn stop(self) -> Self
fn stop(self) -> Self
Stop processing this exchange immediately. No further steps in the
current pipeline will run. Read more
Source§fn log(self, message: impl Into<String>, level: LogLevel) -> Self
fn log(self, message: impl Into<String>, level: LogLevel) -> Self
Log a message at the specified level. Read more
Source§fn convert_body_to(self, target: BodyType) -> Self
fn convert_body_to(self, target: BodyType) -> Self
Convert the message body to the target type. Read more
Auto Trait Implementations§
impl Freeze for ThrottleBuilder
impl !RefUnwindSafe for ThrottleBuilder
impl Send for ThrottleBuilder
impl !Sync for ThrottleBuilder
impl Unpin for ThrottleBuilder
impl UnsafeUnpin for ThrottleBuilder
impl !UnwindSafe for ThrottleBuilder
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