pub struct MemoryTokenStore { /* private fields */ }Expand description
The process-local store the http01 strategy publishes into.
A std::sync::RwLock, not a tokio::sync one: unlike
local_ca’s revocation ledger — which uses an
async mutex precisely because it awaits two file writes inside its critical
section — every section here is one hash-map operation and awaits nothing.
Poisoning is recovered from rather than propagated. A panic anywhere else holding this lock must not turn the responder into a permanent 404 for every certificate this server will ever relay; the worst a torn write could leave behind is a stale token, which the CA would simply fail to match.
Implementations§
Trait Implementations§
Source§impl Debug for MemoryTokenStore
impl Debug for MemoryTokenStore
Source§impl Default for MemoryTokenStore
impl Default for MemoryTokenStore
Source§fn default() -> MemoryTokenStore
fn default() -> MemoryTokenStore
Returns the “default value” for a type. Read more
Source§impl TokenStore for MemoryTokenStore
impl TokenStore for MemoryTokenStore
Auto Trait Implementations§
impl !Freeze for MemoryTokenStore
impl RefUnwindSafe for MemoryTokenStore
impl Send for MemoryTokenStore
impl Sync for MemoryTokenStore
impl Unpin for MemoryTokenStore
impl UnsafeUnpin for MemoryTokenStore
impl UnwindSafe for MemoryTokenStore
Blanket Implementations§
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<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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