pub struct ServerState {
pub ready: AtomicBool,
pub metrics: ServerMetrics,
pub config: Config,
pub start_time: Instant,
pub llm: Option<Arc<dyn LLMProviderTrait>>,
pub tool_registry: Option<ToolRegistry>,
pub bg_manager: Option<BackgroundTaskManager>,
pub mcp_manager: Option<McpClientManager>,
pub load_manager: Arc<LoadManager>,
}Expand description
Shared state for the HTTP server
Fields§
§ready: AtomicBoolWhether the server is fully initialized and ready to serve requests
metrics: ServerMetricsServer metrics
config: ConfigServer configuration
start_time: InstantServer start time
llm: Option<Arc<dyn LLMProviderTrait>>LLM client for agent execution
tool_registry: Option<ToolRegistry>Tool registry for tool listing and execution
bg_manager: Option<BackgroundTaskManager>Background task manager for async execution
mcp_manager: Option<McpClientManager>MCP client manager for multi-server MCP tool access
load_manager: Arc<LoadManager>Load manager for graceful degradation (rate limiting, concurrency control, load shedding)
Auto Trait Implementations§
impl !Freeze for ServerState
impl !RefUnwindSafe for ServerState
impl !UnwindSafe for ServerState
impl Send for ServerState
impl Sync for ServerState
impl Unpin for ServerState
impl UnsafeUnpin for ServerState
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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