pub struct SubscriptionEntry {
pub id: SubscriptionId,
pub source_name: String,
pub source_id: u32,
pub state: SubscriptionState,
pub config: SubscriptionConfig,
pub sender: Sender<ChangeEvent>,
pub created_at: Instant,
pub events_delivered: AtomicU64,
pub events_dropped: AtomicU64,
pub current_lag: u64,
}Expand description
A registered subscription entry with state, config, channel, and metrics.
Fields§
§id: SubscriptionIdUnique ID.
source_name: StringTarget source/MV name.
source_id: u32Source ID for Ring 0 notification matching.
state: SubscriptionStateCurrent lifecycle state.
config: SubscriptionConfigConfiguration.
sender: Sender<ChangeEvent>Broadcast channel sender for this subscription.
created_at: InstantCreation timestamp.
events_delivered: AtomicU64Total events delivered (atomic for lock-free counter bumps from Ring 1).
events_dropped: AtomicU64Total events dropped due to backpressure (atomic, same reason).
current_lag: u64Current lag (events pending in channel).
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for SubscriptionEntry
impl !RefUnwindSafe for SubscriptionEntry
impl Send for SubscriptionEntry
impl Sync for SubscriptionEntry
impl Unpin for SubscriptionEntry
impl UnsafeUnpin for SubscriptionEntry
impl !UnwindSafe for SubscriptionEntry
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.