pub struct State {
pub storage: Service,
pub db: SqlitePool,
pub session_cache: Cache<TokenHash, UserId>,
}Expand description
The shared application state, injected into every route handler by Axum.
State is cloned cheaply on each request — all fields are either reference-counted
(SqlitePool, Cache) or backed by an Arc internally, so cloning is just
incrementing a reference count.
Access it in handlers via State(state): State<AppState>.
Fields§
§storage: ServiceThe storage service managing the on-disk CAS vault.
db: SqlitePoolThe SQLite connection pool for all database queries.
session_cache: Cache<TokenHash, UserId>In-memory session cache. Checked before every database lookup in auth_guard
to avoid hitting the disk on every authenticated request.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for State
impl !UnwindSafe for State
impl Freeze for State
impl Send for State
impl Sync for State
impl Unpin for State
impl UnsafeUnpin for State
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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