pub struct SessionQueueConfig {Show 16 fields
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>,
pub retry_policy: Option<RetryPolicyConfig>,
pub rate_limit: Option<RateLimitConfig>,
pub priority_boost: Option<PriorityBoostConfig>,
pub pressure_threshold: Option<usize>,
pub lane_timeouts: HashMap<SessionLane, u64>,
}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)
retry_policy: Option<RetryPolicyConfig>Retry policy configuration
rate_limit: Option<RateLimitConfig>Rate limit configuration
priority_boost: Option<PriorityBoostConfig>Priority boost configuration
pressure_threshold: Option<usize>Pressure threshold for emitting pressure/idle events
lane_timeouts: HashMap<SessionLane, u64>Per-lane timeout overrides in milliseconds
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
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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>,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more