pub struct AppState { /* private fields */ }Expand description
Shared application state passed to all request handler.
This struct is cloneable and cheap to clone since StandardEngine uses
Arc internally. Each handler receives a clone of this state.
§Example
ⓘ
let state = AppState::new(actor_system, engine, QueryConfig::default());
// In an axum handler:
async fn handle_query(State(state): State<AppState>, ...) {
let system = state.actor_system();
let engine = state.engine();
// ...
}Implementations§
Source§impl AppState
impl AppState
Sourcepub fn new(
actor_system: ActorSystem,
engine: StandardEngine,
config: StateConfig,
) -> Self
pub fn new( actor_system: ActorSystem, engine: StandardEngine, config: StateConfig, ) -> Self
Create a new AppState with the given actor system, engine, and configuration.
Sourcepub fn actor_system(&self) -> ActorSystem
pub fn actor_system(&self) -> ActorSystem
Get a clone of the actor system.
This is cheap since ActorSystem uses Arc internally.
Sourcepub fn engine(&self) -> &StandardEngine
pub fn engine(&self) -> &StandardEngine
Get a reference to the database engine.
Sourcepub fn engine_clone(&self) -> StandardEngine
pub fn engine_clone(&self) -> StandardEngine
Get a clone of the database engine.
This is cheap since StandardEngine uses Arc internally.
Sourcepub fn config(&self) -> &StateConfig
pub fn config(&self) -> &StateConfig
Get a reference to the query configuration.
Sourcepub fn query_timeout(&self) -> Duration
pub fn query_timeout(&self) -> Duration
Get the query timeout from configuration.
Sourcepub fn request_timeout(&self) -> Duration
pub fn request_timeout(&self) -> Duration
Get the request timeout from configuration.
Sourcepub fn max_connections(&self) -> usize
pub fn max_connections(&self) -> usize
Get the maximum connections from configuration.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppState
impl !RefUnwindSafe for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin for AppState
impl UnsafeUnpin for AppState
impl !UnwindSafe for AppState
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