pub struct AppState {
pub proxy_state: ProxyState,
pub exec_ctx: Arc<ExecutionContext>,
pub llm_readiness_client: Client,
pub readiness_tracker: ReadinessTracker,
pub shutdown_token: CancellationToken,
pub websocket_tracker: WebSocketTracker,
pub llm_api_base: String,
pub skip_llm_ready_check: bool,
pub openai_api_key: Option<String>,
}Expand description
Shared application state injected into every handler.
Both states are always present:
proxy_statehandlesstore=falserequests (direct passthrough to vLLM)exec_ctxhandlesstore=truerequests (stateful executor with DB)
Fields§
§proxy_state: ProxyState§exec_ctx: Arc<ExecutionContext>§llm_readiness_client: ClientDedicated no-redirect client for inference-service health probes.
readiness_tracker: ReadinessTrackerPrevents public probes from multiplying dependency work and tracks transitions.
shutdown_token: CancellationTokenShared cancellation signal used to drain long-lived handlers.
websocket_tracker: WebSocketTrackerTracks upgraded WebSocket tasks, which Axum does not await during HTTP drain.
llm_api_base: StringvLLM base URL — used by the /ready health probe.
skip_llm_ready_check: boolWhether /ready should omit the upstream health check.
openai_api_key: Option<String>Server-configured API key; used as fallback when the request carries no
Authorization header on the executor path.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for AppState
impl !UnwindSafe for AppState
impl Freeze 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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