Skip to main content

ModelRouter

Trait ModelRouter 

Source
pub trait ModelRouter:
    Debug
    + Send
    + Sync {
    // Required methods
    fn provider(&self, provider_id: &ProviderId) -> Option<&dyn ModelProvider>;
    fn models(&self) -> &[ModelSpec];

    // Provided method
    fn model(&self, model_ref: &ModelRef) -> Option<&ModelSpec> { ... }
}
Expand description

Object-safe lookup port that routes provider-qualified model identities.

Required Methods§

Source

fn provider(&self, provider_id: &ProviderId) -> Option<&dyn ModelProvider>

Returns the provider registered under the canonical identity.

Source

fn models(&self) -> &[ModelSpec]

Returns all advertised models in deterministic provider/model order.

Provided Methods§

Source

fn model(&self, model_ref: &ModelRef) -> Option<&ModelSpec>

Resolves one complete model identity.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§