pub struct AppState {Show 14 fields
pub agent_registry: AgentRegistry,
pub audit_store: AuditStore,
pub dependency_store: DependencyStore,
pub message_store: MessageStore,
pub event_bus: EventBus,
pub delivery_tracker: DeliveryTracker,
pub task_store: TaskStore,
pub subscription_store: SubscriptionStore,
pub project_config_store: ProjectConfigStore,
pub circuit_breaker: CircuitBreaker,
pub rate_limiter: HybridRateLimiter,
pub nudge_config: Mutex<NudgeConfig>,
pub start_time: DateTime<Utc>,
pub atheneum_path: Option<String>,
/* private fields */
}Expand description
Shared application state across all handlers.
Fields§
§agent_registry: AgentRegistry§audit_store: AuditStore§dependency_store: DependencyStore§message_store: MessageStore§event_bus: EventBus§delivery_tracker: DeliveryTracker§task_store: TaskStore§subscription_store: SubscriptionStore§project_config_store: ProjectConfigStore§circuit_breaker: CircuitBreaker§rate_limiter: HybridRateLimiter§nudge_config: Mutex<NudgeConfig>§start_time: DateTime<Utc>§atheneum_path: Option<String>Implementations§
Source§impl AppState
impl AppState
pub fn new(engine: Engine) -> Result<Self>
pub fn with_atheneum(self, path: Option<String>) -> Self
pub fn require_atheneum_path(&self) -> Result<String>
Sourcepub async fn with_graph_async<F, T>(&self, f: F) -> Result<T>
pub async fn with_graph_async<F, T>(&self, f: F) -> Result<T>
Async version of with_graph — offloads DB work to the blocking thread pool. Use this from all async handlers to avoid blocking tokio worker threads.
Sourcepub async fn with_engine_async<F, T>(&self, f: F) -> Result<T>
pub async fn with_engine_async<F, T>(&self, f: F) -> Result<T>
Async version that provides the full Engine (not just graph).
Sourcepub async fn with_atheneum_async<F, T>(&self, f: F) -> Result<T>
pub async fn with_atheneum_async<F, T>(&self, f: F) -> Result<T>
Async version that provides a cached AtheneumGraph. Eliminates per-request SQLite open cost by reusing a single connection.
Auto Trait Implementations§
impl !Freeze for AppState
impl !RefUnwindSafe for AppState
impl !UnwindSafe for AppState
impl Send for AppState
impl Sync for AppState
impl Unpin for AppState
impl UnsafeUnpin 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> Pointable for T
impl<T> Pointable for T
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension. Read more
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension, using
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses. Read more
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses, using
x-request-id as the header name. Read more