pub struct EventsReadiness { /* private fields */ }Expand description
Startup readiness of the events daemon this process supervises (ADR-170), as seen by the request path.
A daemon with events forwarding enabled commits every write’s audit batch through the supervised events daemon. That child is spawned in the background after the main socket is bound, and until it binds its own socket every audit commit fails: a write verb then reports a refusal while its domain write is already committed. The daemon therefore holds each request at this gate until the events socket has answered once.
The window is measured from the moment supervision starts, not per request: once it has elapsed without an answer, requests are refused at once instead of each waiting again, and a later answer (a respawned child binding) admits them again. The gate is a startup barrier only; it stays open after the first answer.
Implementations§
Source§impl EventsReadiness
impl EventsReadiness
Sourcepub async fn wait(&self) -> Result<(), EventsNotReady>
pub async fn wait(&self) -> Result<(), EventsNotReady>
Wait until the events socket has answered, or refuse once the startup window has elapsed or the supervisor has stopped.
Trait Implementations§
Source§impl Clone for EventsReadiness
impl Clone for EventsReadiness
Auto Trait Implementations§
impl !RefUnwindSafe for EventsReadiness
impl !UnwindSafe for EventsReadiness
impl Freeze for EventsReadiness
impl Send for EventsReadiness
impl Sync for EventsReadiness
impl Unpin for EventsReadiness
impl UnsafeUnpin for EventsReadiness
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
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,
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> ⓘ
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