pub enum SourcePosition {
Kafka(KafkaPosition),
PostgresCdc(PostgresCdcPosition),
MysqlCdc(MysqlCdcPosition),
File(FilePosition),
Generic(GenericPosition),
}Expand description
Strongly typed source position.
Each variant captures the native offset format for a connector type, enabling type-safe validation and recovery planning.
Variants§
Kafka(KafkaPosition)
Kafka consumer group offsets.
PostgresCdc(PostgresCdcPosition)
PostgreSQL CDC replication slot position.
MysqlCdc(MysqlCdcPosition)
MySQL CDC binlog/GTID position.
File(FilePosition)
File source byte offset.
Generic(GenericPosition)
Generic connector offsets.
Implementations§
Source§impl SourcePosition
impl SourcePosition
Sourcepub fn to_connector_checkpoint(&self, epoch: u64) -> ConnectorCheckpoint
pub fn to_connector_checkpoint(&self, epoch: u64) -> ConnectorCheckpoint
Convert to a ConnectorCheckpoint for storage.
Sourcepub fn from_connector_checkpoint(
cp: &ConnectorCheckpoint,
type_hint: Option<&str>,
) -> Option<Self>
pub fn from_connector_checkpoint( cp: &ConnectorCheckpoint, type_hint: Option<&str>, ) -> Option<Self>
Try to reconstruct a typed position from a ConnectorCheckpoint.
Uses the connector_type metadata key to determine which variant
to build. Returns None if the type is unknown or the offsets
are incomplete.
Sourcepub fn to_offset_entry(&self, epoch: u64) -> SourceOffsetEntry
pub fn to_offset_entry(&self, epoch: u64) -> SourceOffsetEntry
Convert to a SourceOffsetEntry for the V2 manifest format.
Sourcepub fn from_offset_entry(entry: &SourceOffsetEntry) -> Option<Self>
pub fn from_offset_entry(entry: &SourceOffsetEntry) -> Option<Self>
Reconstruct a typed position from a SourceOffsetEntry.
Returns None if the entry’s source type is unrecognized or the
offsets are incomplete.
Trait Implementations§
Source§impl Clone for SourcePosition
impl Clone for SourcePosition
Source§fn clone(&self) -> SourcePosition
fn clone(&self) -> SourcePosition
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 SourcePosition
impl Debug for SourcePosition
Source§impl<'de> Deserialize<'de> for SourcePosition
impl<'de> Deserialize<'de> for SourcePosition
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for SourcePosition
impl PartialEq for SourcePosition
Source§impl Serialize for SourcePosition
impl Serialize for SourcePosition
impl Eq for SourcePosition
impl StructuralPartialEq for SourcePosition
Auto Trait Implementations§
impl Freeze for SourcePosition
impl RefUnwindSafe for SourcePosition
impl Send for SourcePosition
impl Sync for SourcePosition
impl Unpin for SourcePosition
impl UnsafeUnpin for SourcePosition
impl UnwindSafe for SourcePosition
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
impl<T> Code for Twhere
T: Serialize + DeserializeOwned,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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> 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.