pub struct SessionGuard { /* private fields */ }Expand description
Lightweight handle that remembers the session generation at the moment
it was created. Pass it into background tasks (via move-capture into a
spawned future) and check is_valid() before any side-effect.
Cheap to copy — just a u64. Never holds a lock.
Implementations§
Source§impl SessionGuard
impl SessionGuard
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
true while the captured generation still matches the live counter.
Once false, any captured per-account context (npub, keys, chat ids)
is no longer guaranteed to belong to the active session.
Sourcepub fn generation(&self) -> u64
pub fn generation(&self) -> u64
Raw generation value (for logging / structured comparisons).
Trait Implementations§
Source§impl Clone for SessionGuard
impl Clone for SessionGuard
Source§fn clone(&self) -> SessionGuard
fn clone(&self) -> SessionGuard
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SessionGuard
Auto Trait Implementations§
impl Freeze for SessionGuard
impl RefUnwindSafe for SessionGuard
impl Send for SessionGuard
impl Sync for SessionGuard
impl Unpin for SessionGuard
impl UnsafeUnpin for SessionGuard
impl UnwindSafe for SessionGuard
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<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