pub struct ServerState { /* private fields */ }Expand description
Central server state tracking provider configuration and cached runners
Runners are created lazily on first access and cached for reuse. The active provider and model determine how prompt dispatch behaves.
Implementations§
Source§impl ServerState
impl ServerState
Sourcepub fn new(default_provider: CliRunnerType) -> ServerState
pub fn new(default_provider: CliRunnerType) -> ServerState
Create server state with the given default provider
Sourcepub async fn active_provider(&self) -> CliRunnerType
pub async fn active_provider(&self) -> CliRunnerType
Get the currently active provider type
Sourcepub async fn set_active_provider(&self, provider: CliRunnerType)
pub async fn set_active_provider(&self, provider: CliRunnerType)
Switch the active provider (resets the active model)
Sourcepub async fn active_model(&self) -> Option<String>
pub async fn active_model(&self) -> Option<String>
Get the currently selected model (None means use provider default)
Sourcepub async fn set_active_model(&self, model: Option<String>)
pub async fn set_active_model(&self, model: Option<String>)
Set the model to use for subsequent requests
Sourcepub async fn multiplex_providers(&self) -> Vec<CliRunnerType>
pub async fn multiplex_providers(&self) -> Vec<CliRunnerType>
Get the list of providers configured for multiplex dispatch
Sourcepub async fn set_multiplex_providers(&self, providers: Vec<CliRunnerType>)
pub async fn set_multiplex_providers(&self, providers: Vec<CliRunnerType>)
Set the providers used when multiplexing prompts
Sourcepub async fn get_runner(
&self,
provider: CliRunnerType,
) -> Result<Arc<dyn LlmProvider>, RunnerError>
pub async fn get_runner( &self, provider: CliRunnerType, ) -> Result<Arc<dyn LlmProvider>, RunnerError>
Get or lazily create a runner for the given provider type
Created runners are cached for future calls. The runner cache uses
interior mutability so callers only need &self.
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> ⓘ
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