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 const fn active_provider(&self) -> CliRunnerType
pub const fn active_provider(&self) -> CliRunnerType
Get the currently active provider type
Sourcepub fn set_active_provider(&mut self, provider: CliRunnerType)
pub fn set_active_provider(&mut self, provider: CliRunnerType)
Switch the active provider (resets the active model)
Sourcepub fn active_model(&self) -> Option<&str>
pub fn active_model(&self) -> Option<&str>
Get the currently selected model (None means use provider default)
Sourcepub fn set_active_model(&mut self, model: Option<String>)
pub fn set_active_model(&mut self, model: Option<String>)
Set the model to use for subsequent requests
Sourcepub fn multiplex_providers(&self) -> &[CliRunnerType]
pub fn multiplex_providers(&self) -> &[CliRunnerType]
Get the list of providers configured for multiplex dispatch
Sourcepub fn set_multiplex_providers(&mut self, providers: Vec<CliRunnerType>)
pub fn set_multiplex_providers(&mut 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 Send for ServerState
impl Sync for ServerState
impl Unpin for ServerState
impl UnsafeUnpin for ServerState
impl !UnwindSafe 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
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 more