pub struct EffectiveConstraints {
pub max_concurrent_dispatchers: EffectiveCeiling,
pub max_message_rate: Option<EffectiveCeiling>,
pub max_message_rate_declared: Option<String>,
pub max_connection_rate: Option<EffectiveCeiling>,
pub max_source_selection_rate: Option<EffectiveCeiling>,
}Expand description
Steady-state ceilings implied by an EgressPathConfig. Each
ceiling carries a tag for which configuration term produced it.
{{since(‘dev’)}}
These are per-queue ceilings; shared limits in additional_*
maps are reported at their full value and may be tighter in
practice when the bucket is contended.
Fields§
§max_concurrent_dispatchers: EffectiveCeiling§max_message_rate: Option<EffectiveCeiling>None when neither max_message_rate nor any
additional_message_rate_throttles entry nor
max_connection_rate is configured.
max_message_rate_declared: Option<String>Pre-formatted display of the declared max_message_rate when
a different term (typically ReconnectCycling) wins the
minimum. Lets renderers show a “declared but unreachable”
annotation. Uses the operator’s original units.
max_connection_rate: Option<EffectiveCeiling>§max_source_selection_rate: Option<EffectiveCeiling>Implementations§
Source§impl EffectiveConstraints
impl EffectiveConstraints
Sourcepub fn render(&self, out: &mut dyn Write) -> Result
pub fn render(&self, out: &mut dyn Write) -> Result
Render a human-readable multi-line block. The same formatting
is used by kcli inspect-ready-q and by the
resolve-shaping-domain script, so operators see the same
output regardless of where they retrieved the config.
pub fn to_human_string(&self) -> String
Sourcepub fn merge(&mut self, other: &EffectiveConstraints)
pub fn merge(&mut self, other: &EffectiveConstraints)
Fold another EffectiveConstraints into this one by taking
the per-axis minimum. The losing ceiling is shadowed; the
winner’s source tag is preserved. The
max_message_rate_declared annotation is re-evaluated so a
rate that is now shadowed by an external source gets the
“declared but unreachable” treatment.
Trait Implementations§
Source§impl Clone for EffectiveConstraints
impl Clone for EffectiveConstraints
Source§fn clone(&self) -> EffectiveConstraints
fn clone(&self) -> EffectiveConstraints
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ComposeSchema for EffectiveConstraints
impl ComposeSchema for EffectiveConstraints
Source§impl Debug for EffectiveConstraints
impl Debug for EffectiveConstraints
Source§impl<'de> Deserialize<'de> for EffectiveConstraints
impl<'de> Deserialize<'de> for EffectiveConstraints
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>,
Source§impl PartialEq for EffectiveConstraints
impl PartialEq for EffectiveConstraints
Source§impl Serialize for EffectiveConstraints
impl Serialize for EffectiveConstraints
Source§impl ToSchema for EffectiveConstraints
impl ToSchema for EffectiveConstraints
impl StructuralPartialEq for EffectiveConstraints
Auto Trait Implementations§
impl Freeze for EffectiveConstraints
impl RefUnwindSafe for EffectiveConstraints
impl Send for EffectiveConstraints
impl Sync for EffectiveConstraints
impl Unpin for EffectiveConstraints
impl UnwindSafe for EffectiveConstraints
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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