pub struct ShedState { /* private fields */ }Expand description
Node-wide and per-client in-flight serve counts. Held in an Arc so a
ShedSlot can outlive the borrow that created it.
Implementations§
Source§impl ShedState
impl ShedState
Sourcepub fn new() -> Arc<Self> ⓘ
pub fn new() -> Arc<Self> ⓘ
A counter with nothing in flight, already wrapped so ShedSlots can
hold it.
Sourcepub fn counts(&self, client: B256) -> (u32, u32)
pub fn counts(&self, client: B256) -> (u32, u32)
(node_in_flight, client_in_flight). A client with no entry counts 0.
Sourcepub fn node_in_flight(&self) -> u32
pub fn node_in_flight(&self) -> u32
Node-wide serves in flight across all clients — the same count
Self::counts returns as its first element, without needing a client
key. Sampled onto the decdn_load_shed_streams_in_flight gauge so an
operator can read live concurrency against the shed high-water mark.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ShedState
impl !RefUnwindSafe for ShedState
impl Send for ShedState
impl Sync for ShedState
impl Unpin for ShedState
impl UnsafeUnpin for ShedState
impl UnwindSafe for ShedState
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
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::RequestCreates a shared type from an unshared type.