pub struct RouteOptions {
pub description: String,
pub concurrency: usize,
pub batch_size: usize,
pub commit_concurrency_limit: usize,
pub startup_timeout_ms: u64,
pub reconnect_interval_ms: u64,
pub empty_batch_delay_ms: u64,
pub allow_fault_injection: bool,
}Expand description
Fine-tuning options for a route’s execution.
These options control concurrency, batching, and commit behavior for message processing.
§Examples
use mq_bridge::models::RouteOptions;
let options = RouteOptions {
description: "My Route".to_string(),
concurrency: 10,
batch_size: 5,
commit_concurrency_limit: 1024,
..Default::default()
};Fields§
§description: StringA human-readable description of the route’s purpose. Defaults to an empty string.
concurrency: usize(Optional) Number of concurrent processing tasks for this route. While it improves throughput for high-latency handlers, it adds synchronization overhead for ordered commits and may lead to out-of-order processing in the handler. Defaults to 1.
batch_size: usize(Optional) Maximum number of messages to process in a single batch. The consumer waits for at least one message and then attempts to fetch more if available. Increasing this improves throughput but also increases the potential impact of a single batch processing failure. Defaults to 1.
commit_concurrency_limit: usize(Optional) The maximum number of in-flight commit requests queued for ordered sequencing. Lower values apply backpressure earlier; higher values allow larger commit backlogs. Defaults to 4096.
startup_timeout_ms: u64Time to wait for a route to establish connections before startup fails. Defaults to 5000ms.
reconnect_interval_ms: u64Time to wait before reconnecting after a transient route failure. Defaults to 5000ms.
empty_batch_delay_ms: u64Delay after an empty receive batch to avoid hot polling. Set to 0 to only yield. Defaults to 10ms.
allow_fault_injection: boolAllows fault-injection middleware such as random_panic. Disabled by default.
Implementations§
Trait Implementations§
Source§impl Clone for RouteOptions
impl Clone for RouteOptions
Source§fn clone(&self) -> RouteOptions
fn clone(&self) -> RouteOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RouteOptions
impl Debug for RouteOptions
Source§impl Default for RouteOptions
impl Default for RouteOptions
Source§impl<'de> Deserialize<'de> for RouteOptions
impl<'de> Deserialize<'de> for RouteOptions
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for RouteOptions
Source§impl PartialEq for RouteOptions
impl PartialEq for RouteOptions
Source§fn eq(&self, other: &RouteOptions) -> bool
fn eq(&self, other: &RouteOptions) -> bool
self and other values to be equal, and is used by ==.