pub struct SessionToken {
pub token_id: u64,
pub peer_id: String,
pub nonce: u64,
pub issued_at_secs: u64,
pub expires_at_secs: u64,
}Expand description
A session token encoding identity, timing, and nonce.
Fields§
§token_id: u64FNV-1a hash of (peer_id + nonce string)
peer_id: StringPeer identifier
nonce: u64Random nonce for this session
issued_at_secs: u64Unix timestamp when the token was issued
expires_at_secs: u64Unix timestamp when the token expires
Implementations§
Source§impl SessionToken
impl SessionToken
Sourcepub fn is_expired(&self, now_secs: u64) -> bool
pub fn is_expired(&self, now_secs: u64) -> bool
Returns true if the token has expired relative to now_secs.
Sourcepub fn remaining_secs(&self, now_secs: u64) -> u64
pub fn remaining_secs(&self, now_secs: u64) -> u64
Returns the number of seconds until expiry (saturating at 0).
Trait Implementations§
Source§impl Clone for SessionToken
impl Clone for SessionToken
Source§fn clone(&self) -> SessionToken
fn clone(&self) -> SessionToken
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 moreSource§impl Debug for SessionToken
impl Debug for SessionToken
impl Eq for SessionToken
Source§impl PartialEq for SessionToken
impl PartialEq for SessionToken
Source§fn eq(&self, other: &SessionToken) -> bool
fn eq(&self, other: &SessionToken) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SessionToken
Auto Trait Implementations§
impl Freeze for SessionToken
impl RefUnwindSafe for SessionToken
impl Send for SessionToken
impl Sync for SessionToken
impl Unpin for SessionToken
impl UnsafeUnpin for SessionToken
impl UnwindSafe for SessionToken
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§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<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§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