pub struct Position;Expand description
The key reading this delivery’s FilePosition out of FileContext.
The value is the pinned form: seeking back to it redelivers exactly this message.
§Examples
use ruststream_sea_file::file::prelude::*;
#[subscriber(FileStream::new("jobs"))]
async fn audit(job: &Job, Ctx(at): Ctx<Position>) -> HandlerOutcome {
tracing::info!(job.id, position = ?at, "audited");
HandlerOutcome::ack()
}Trait Implementations§
Source§impl ContextField for Position
impl ContextField for Position
Source§type Context = FileContext
type Context = FileContext
The per-delivery context type this key reads from.
Source§type Value = FilePosition
type Value = FilePosition
The owned value the key yields.
Source§fn read(self, src: &FileContext) -> FilePosition
fn read(self, src: &FileContext) -> FilePosition
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<FileContext> for Position
impl Field<FileContext> for Position
Source§type Value<'a> = FilePosition
type Value<'a> = FilePosition
The value read through this key, borrowed from the source for
'a.Source§fn get(self, src: &FileContext) -> FilePosition
fn get(self, src: &FileContext) -> FilePosition
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 more