#[non_exhaustive]pub enum StartOffset {
Committed,
Earliest,
Latest,
}Expand description
Where a consumer group starts reading when it has no valid committed offset.
Kafka resumes from the group’s committed position when a valid one exists; this choice (it
maps to librdkafka’s auto.offset.reset) applies when there is none - the group has never
committed the partition, or the committed offset was deleted by retention / is out of
range. The second case is why it matters for long-idle groups: with the librdkafka default
(latest) an expired group skips to the end instead of reprocessing.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Committed
Leave the choice to librdkafka (its default resets to the latest offset).
Earliest
Start from the earliest retained offset.
Latest
Start from the latest offset: only messages published after the subscription opened.
Trait Implementations§
Source§impl Clone for StartOffset
impl Clone for StartOffset
impl Copy for StartOffset
Source§impl Debug for StartOffset
impl Debug for StartOffset
Source§impl Default for StartOffset
impl Default for StartOffset
impl Eq for StartOffset
Source§impl PartialEq for StartOffset
impl PartialEq for StartOffset
impl StructuralPartialEq for StartOffset
Auto Trait Implementations§
impl Freeze for StartOffset
impl RefUnwindSafe for StartOffset
impl Send for StartOffset
impl Sync for StartOffset
impl Unpin for StartOffset
impl UnsafeUnpin for StartOffset
impl UnwindSafe for StartOffset
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
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.impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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