pub struct AppState {
pub config: Arc<RuntimeConfig>,
pub cache: Option<Arc<dyn CacheClient>>,
pub rate_limiter: Option<Arc<dyn RateLimiter>>,
pub idempotency: Option<Arc<dyn IdempotencyStore>>,
pub shutdown: Arc<ShutdownCoordinator>,
}Expand description
Shared application state with injectable components
Fields§
§config: Arc<RuntimeConfig>Configuration
cache: Option<Arc<dyn CacheClient>>Cache client (optional, injectable)
rate_limiter: Option<Arc<dyn RateLimiter>>Rate limiter state
idempotency: Option<Arc<dyn IdempotencyStore>>Webhook idempotency store (injectable)
shutdown: Arc<ShutdownCoordinator>Shutdown coordinator
Implementations§
Source§impl AppState
impl AppState
Sourcepub fn new(config: RuntimeConfig, shutdown: Arc<ShutdownCoordinator>) -> Self
pub fn new(config: RuntimeConfig, shutdown: Arc<ShutdownCoordinator>) -> Self
Create new application state from configuration (without database)
§Panics
Panics if the “database” feature is enabled - use new_with_database instead.
Auto Trait Implementations§
impl Freeze for AppState
impl !RefUnwindSafe for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin 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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request