pub struct Position;Expand description
The key reading this record’s KinesisPosition out of KinesisContext.
The value is the pinned shard-scoped form: seeking back to it redelivers exactly this record.
§Examples
use ruststream::prelude::*;
use ruststream::subscriber;
use ruststream_kinesis::{KinesisStream, Position};
#[subscriber(KinesisStream::new("jobs"))]
async fn audit(job: &Job, Ctx(at): Ctx<Position>) -> HandlerOutcome {
tracing::info!(job.id, position = ?at, "job read");
HandlerOutcome::ack()
}Trait Implementations§
Source§impl ContextField for Position
impl ContextField for Position
Source§type Context = KinesisContext
type Context = KinesisContext
The per-delivery context type this key reads from.
Source§type Value = KinesisPosition
type Value = KinesisPosition
The owned value the key yields.
Source§fn read(self, src: &KinesisContext) -> KinesisPosition
fn read(self, src: &KinesisContext) -> KinesisPosition
Reads this key’s field out of
src. Named apart from Field::get so a key
implementing both traits stays unambiguous to call.impl Copy for Position
impl Eq for Position
Source§impl Field<KinesisContext> for Position
impl Field<KinesisContext> for Position
Source§type Value<'a> = KinesisPosition
type Value<'a> = KinesisPosition
The value read through this key, borrowed from the source for
'a.Source§fn get(self, src: &KinesisContext) -> KinesisPosition
fn get(self, src: &KinesisContext) -> KinesisPosition
Reads this key’s field out of
src.impl StructuralPartialEq for Position
Auto Trait Implementations§
impl Freeze for Position
impl RefUnwindSafe for Position
impl Send for Position
impl Sync for Position
impl Unpin for Position
impl UnsafeUnpin for Position
impl UnwindSafe for Position
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<K> CtxKey for Kwhere
K: ContextField,
impl<K> CtxKey for Kwhere
K: ContextField,
Source§type Value = <K as ContextField>::Value
type Value = <K as ContextField>::Value
The owned value the extractor binds.
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> 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 moreCreates a shared type from an unshared type.