#[non_exhaustive]pub enum CapacityKind {
UnicastSockets,
UdpBuffer,
PendingResponses,
RequestQueue,
ServiceRegistry,
}Expand description
Which fixed-capacity internal structure overflowed.
Each variant names the compile-time constant that governs it, so the bound is reachable from the type rather than by grepping for a string tag.
#[non_exhaustive]: new kinds appear as internal structures gain
bounds, and that should not break a downstream match.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnicastSockets
Bound by UNICAST_SOCKETS_CAP. The client cannot bind a new
ephemeral / requested-port unicast socket because the per-client
cap is exhausted.
UdpBuffer
Bound by crate::UDP_BUFFER_SIZE. An outgoing message was
rejected because the encoded form exceeds the application-level
UDP cap.
With E2E protect configured for the destination key, the post-protect payload may add up to the protect profile’s overhead bytes (Profile 1: 4, Profile 4: 16). The pre-encode check uses the raw size; the post-protect re-check inside the spawned send loop produces this kind if the protected datagram would overflow the cap.
The only kind the server currently produces, where it means a stack send buffer smaller than the outgoing message.
PendingResponses
Bound by PENDING_RESPONSES_CAP. A request was enqueued but the
in-flight response table is full; the request was dropped.
RequestQueue
Bound by REQUEST_QUEUE_CAP. The client’s internal control-message
queue overflowed during a multi-pass push_front re-enqueue (e.g.
an auto-bind path).
Public callers normally hit the bounded(4) control channel first
and either backpressure or fail with Shutdown; this kind fires
only in the narrow re-enqueue overflow window.
ServiceRegistry
Bound by SERVICE_REGISTRY_CAP. A new service-instance endpoint
cannot be registered because the registry is full.
Implementations§
Trait Implementations§
Source§impl Clone for CapacityKind
impl Clone for CapacityKind
Source§fn clone(&self) -> CapacityKind
fn clone(&self) -> CapacityKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more