#[non_exhaustive]pub struct LoadConfig {
pub max_concurrent_requests: usize,
pub rate_limit_per_second: u64,
pub rate_limit_burst: u64,
pub overload_error_threshold: u8,
pub overload_window_secs: u64,
pub shed_load_at_queue_depth: usize,
pub enabled: bool,
}Expand description
Load management configuration (v1.1.0)
Controls how RavenClaws handles overload conditions — rate limiting, concurrency limits, and load shedding thresholds.
§Example (TOML)
[load]
max_concurrent_requests = 50
rate_limit_per_second = 100
rate_limit_burst = 200
overload_error_threshold = 50
overload_window_secs = 60
shed_load_at_queue_depth = 1000§Stability
This struct is #[non_exhaustive] — new fields may be added in minor releases.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.max_concurrent_requests: usizeMaximum number of concurrent in-flight requests (0 = unlimited)
rate_limit_per_second: u64Rate limit: maximum requests per second (0 = unlimited)
rate_limit_burst: u64Rate limit: maximum burst size (0 = use rate_limit_per_second)
overload_error_threshold: u8Error rate threshold (%) for overload detection (0-100) When the error rate in the window exceeds this, the load shedder activates.
overload_window_secs: u64Time window (seconds) for overload detection
shed_load_at_queue_depth: usizeQueue depth at which to start shedding load (0 = disabled)
enabled: boolWhether to enable graceful degradation features
Trait Implementations§
Source§impl Clone for LoadConfig
impl Clone for LoadConfig
Source§fn clone(&self) -> LoadConfig
fn clone(&self) -> LoadConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 LoadConfig
impl Debug for LoadConfig
Source§impl Default for LoadConfig
impl Default for LoadConfig
Source§impl<'de> Deserialize<'de> for LoadConfig
impl<'de> Deserialize<'de> for LoadConfig
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 LoadConfig
impl RefUnwindSafe for LoadConfig
impl Send for LoadConfig
impl Sync for LoadConfig
impl Unpin for LoadConfig
impl UnsafeUnpin for LoadConfig
impl UnwindSafe for LoadConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request