pub enum PostOutcome {
Appended {
first_event: bool,
},
Replaced,
Collapsed,
Closed,
}Expand description
What EventSink::post did, for the caller to account for. The queue
applies every change to its own state itself (it is the single owner); this
reports the part that lives outside it — the dropped-monitor-event counter.
Variants§
Appended
C append branch (dbEvent.c:832-852): the event took a new ring entry.
first_event mirrors C’s firstEventFlag — the ring was empty before
this post.
Replaced
C replace branch (dbEvent.c:812-827): the monitor already had an entry
queued and the queue is in flow control or within EVENTSPERQUE of full,
so *pLastLog was overwritten. The displaced value is never delivered —
one lost monitor event (C nreplace).
Collapsed
C early-drop branch (dbEvent.c:786-799): this subscription keeps only
its latest entry because it carries values too wide for C’s
union native_value, and one was already pending. Depth did not grow.
Not counted in nreplace — C does not count it either.
Closed
The subscription is gone (reader dropped, or never attached). Nothing was
queued — the mpsc::Sender::try_send-on-closed-channel case.
Trait Implementations§
Source§impl Clone for PostOutcome
impl Clone for PostOutcome
Source§fn clone(&self) -> PostOutcome
fn clone(&self) -> PostOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PostOutcome
Source§impl Debug for PostOutcome
impl Debug for PostOutcome
impl Eq for PostOutcome
Source§impl PartialEq for PostOutcome
impl PartialEq for PostOutcome
impl StructuralPartialEq for PostOutcome
Auto Trait Implementations§
impl Freeze for PostOutcome
impl RefUnwindSafe for PostOutcome
impl Send for PostOutcome
impl Sync for PostOutcome
impl Unpin for PostOutcome
impl UnsafeUnpin for PostOutcome
impl UnwindSafe for PostOutcome
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.