pub struct SessionQueueConfig {
pub control_max_concurrency: usize,
pub query_max_concurrency: usize,
pub execute_max_concurrency: usize,
pub generate_max_concurrency: usize,
pub lane_handlers: HashMap<SessionLane, LaneHandlerConfig>,
pub enable_dlq: bool,
pub dlq_max_size: Option<usize>,
pub enable_metrics: bool,
pub enable_alerts: bool,
pub default_timeout_ms: Option<u64>,
pub storage_path: Option<PathBuf>,
}Expand description
Configuration for a session command queue
Fields§
§control_max_concurrency: usizeMax concurrency for Control lane (P0)
query_max_concurrency: usizeMax concurrency for Query lane (P1)
execute_max_concurrency: usizeMax concurrency for Execute lane (P2)
generate_max_concurrency: usizeMax concurrency for Generate lane (P3)
lane_handlers: HashMap<SessionLane, LaneHandlerConfig>Handler configurations per lane
enable_dlq: boolEnable dead letter queue for failed commands
dlq_max_size: Option<usize>Max size of dead letter queue (None = use default 1000)
enable_metrics: boolEnable metrics collection
enable_alerts: boolEnable queue alerts
default_timeout_ms: Option<u64>Default timeout for commands in milliseconds
storage_path: Option<PathBuf>Persistent storage path (None = in-memory only)
Implementations§
Source§impl SessionQueueConfig
impl SessionQueueConfig
Sourcepub fn max_concurrency(&self, lane: SessionLane) -> usize
pub fn max_concurrency(&self, lane: SessionLane) -> usize
Get max concurrency for a lane
Sourcepub fn handler_config(&self, lane: SessionLane) -> LaneHandlerConfig
pub fn handler_config(&self, lane: SessionLane) -> LaneHandlerConfig
Get handler config for a lane (returns default if not configured)
Sourcepub fn with_dlq(self, max_size: Option<usize>) -> Self
pub fn with_dlq(self, max_size: Option<usize>) -> Self
Enable dead letter queue with optional max size
Sourcepub fn with_metrics(self) -> Self
pub fn with_metrics(self) -> Self
Enable metrics collection
Sourcepub fn with_alerts(self) -> Self
pub fn with_alerts(self) -> Self
Enable queue alerts
Sourcepub fn with_timeout(self, timeout_ms: u64) -> Self
pub fn with_timeout(self, timeout_ms: u64) -> Self
Set default timeout for commands
Sourcepub fn with_storage(self, path: impl Into<PathBuf>) -> Self
pub fn with_storage(self, path: impl Into<PathBuf>) -> Self
Set persistent storage path
Sourcepub fn with_lane_features(self) -> Self
pub fn with_lane_features(self) -> Self
Enable all a3s-lane features with sensible defaults
Trait Implementations§
Source§impl Clone for SessionQueueConfig
impl Clone for SessionQueueConfig
Source§fn clone(&self) -> SessionQueueConfig
fn clone(&self) -> SessionQueueConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SessionQueueConfig
impl Debug for SessionQueueConfig
Source§impl Default for SessionQueueConfig
impl Default for SessionQueueConfig
Source§impl<'de> Deserialize<'de> for SessionQueueConfig
impl<'de> Deserialize<'de> for SessionQueueConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SessionQueueConfig
impl RefUnwindSafe for SessionQueueConfig
impl Send for SessionQueueConfig
impl Sync for SessionQueueConfig
impl Unpin for SessionQueueConfig
impl UnsafeUnpin for SessionQueueConfig
impl UnwindSafe for SessionQueueConfig
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