pub struct InboxInstall {
pub budget: Arc<ConnectionInboxBudget>,
pub depth_cap: usize,
pub notifier: Option<InboxNotifier>,
pub capacity: Option<ConsumerCapacity>,
}Expand description
Everything a server connection installs onto a subscription’s inbox.
Carries the shared §5 byte budget, the per-inbox fairness cap, and the R3 wake notifier. Passed INTO the subscribe call so the installation happens at inbox construction — strictly BEFORE the registration is published to the channel actor — closing the pre-install window in which envelopes could be admitted uncharged or without a wake.
Fields§
§budget: Arc<ConnectionInboxBudget>Shared per-connection byte budget (§5).
depth_cap: usizePer-inbox envelope-count fairness trip (§5).
notifier: Option<InboxNotifier>R3 wake notifier fired on every envelope admitted to the inbox. None
when the caller has no waker (scheduler-free unit tests).
capacity: Option<ConsumerCapacity>A1 §2: the consumer’s declared capacity — the in-flight window the
Subscribe frame’s max_in_flight carries, paired with the bus-policy
buffer band. None keeps
crate::channel::admission::default_capacity, so an inbox is bounded
whether or not the caller declared anything: there is no opt-out.
Declared HERE rather than through a separate subscribe_with_capacity
because this install is the seam that was deliberately unified to make
installation happen at inbox construction, strictly before the
registration reaches the actor. A second subscribe entry point would
fork that ordering guarantee.