pub enum SlowSubscriberPolicy {
Block,
DropSlow,
SkipForSlow,
}Expand description
Slow subscriber handling policy.
Determines what happens when the slowest subscriber is too far behind the producer (about to overwrite unread data).
Variants§
Block
Block producer until slow subscriber catches up (default).
Best for exactly-once semantics where no data loss is acceptable. May cause head-of-line blocking if one subscriber is permanently slow.
DropSlow
Drop the slowest subscriber and continue.
Best for systems where continuing is more important than any single subscriber. The dropped subscriber receives a disconnection signal.
SkipForSlow
Skip messages for slow subscribers (they lose data).
Best for real-time systems where freshness matters more than completeness. Slow subscribers simply miss events.
Trait Implementations§
Source§impl Clone for SlowSubscriberPolicy
impl Clone for SlowSubscriberPolicy
Source§fn clone(&self) -> SlowSubscriberPolicy
fn clone(&self) -> SlowSubscriberPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SlowSubscriberPolicy
impl Debug for SlowSubscriberPolicy
Source§impl Default for SlowSubscriberPolicy
impl Default for SlowSubscriberPolicy
Source§fn default() -> SlowSubscriberPolicy
fn default() -> SlowSubscriberPolicy
Returns the “default value” for a type. Read more
Source§impl PartialEq for SlowSubscriberPolicy
impl PartialEq for SlowSubscriberPolicy
impl Copy for SlowSubscriberPolicy
impl Eq for SlowSubscriberPolicy
impl StructuralPartialEq for SlowSubscriberPolicy
Auto Trait Implementations§
impl Freeze for SlowSubscriberPolicy
impl RefUnwindSafe for SlowSubscriberPolicy
impl Send for SlowSubscriberPolicy
impl Sync for SlowSubscriberPolicy
impl Unpin for SlowSubscriberPolicy
impl UnwindSafe for SlowSubscriberPolicy
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§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
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
Compare self to
key and return true if they are equal.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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§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.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.