pub struct ApprovalTokenStore { /* private fields */ }Expand description
Tracks approval-token use-count and revocation across calls (spec 109 FR-006a: max use count, revocation, replay prevention). In-memory only — tokens do not survive a process restart, which is safe since they are short-lived and bound to a specific pinned snapshot.
Implementations§
Source§impl ApprovalTokenStore
impl ApprovalTokenStore
pub fn new() -> Self
Sourcepub fn check_and_record_use(
&self,
claims: &ApprovalTokenClaims,
) -> Result<(), ApprovalTokenError>
pub fn check_and_record_use( &self, claims: &ApprovalTokenClaims, ) -> Result<(), ApprovalTokenError>
Atomically checks revocation and use-count, then records one use.
§Errors
Returns ApprovalTokenError with ApprovalTokenErrorCode::Revoked
or ApprovalTokenErrorCode::UseCountExhausted when the token cannot
be used again, or ApprovalTokenErrorCode::StoreUnavailable (fail
closed) if the internal store is poisoned by a prior panicking holder.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ApprovalTokenStore
impl RefUnwindSafe for ApprovalTokenStore
impl Send for ApprovalTokenStore
impl Sync for ApprovalTokenStore
impl Unpin for ApprovalTokenStore
impl UnsafeUnpin for ApprovalTokenStore
impl UnwindSafe for ApprovalTokenStore
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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