pub struct ModelRouterBuilder { /* private fields */ }Expand description
Fluent, validation-preserving assembly of a ModelRouter.
Implementations§
Source§impl ModelRouterBuilder
impl ModelRouterBuilder
Sourcepub fn route(
self,
name: impl Into<String>,
model: Arc<dyn Model>,
target: ModelRef,
) -> Self
pub fn route( self, name: impl Into<String>, model: Arc<dyn Model>, target: ModelRef, ) -> Self
Adds a physical route in selection order.
Sourcepub fn fallback_policy(self, policy: ModelFallbackPolicy) -> Self
pub fn fallback_policy(self, policy: ModelFallbackPolicy) -> Self
Sets fallback authority.
Sourcepub fn circuit_breaker(self, config: CircuitBreakerConfig) -> Self
pub fn circuit_breaker(self, config: CircuitBreakerConfig) -> Self
Enables an independent circuit breaker for every physical route.
Sourcepub fn clock(self, clock: Arc<dyn RouterClock>) -> Self
pub fn clock(self, clock: Arc<dyn RouterClock>) -> Self
Replaces the monotonic clock used by circuit-breaker policy.
Sourcepub fn retry_policy(self, policy: ModelRetryPolicy) -> Self
pub fn retry_policy(self, policy: ModelRetryPolicy) -> Self
Enables bounded same-route retries before fallback selection.
Sourcepub fn sleeper(self, sleeper: Arc<dyn RouterSleeper>) -> Self
pub fn sleeper(self, sleeper: Arc<dyn RouterSleeper>) -> Self
Replaces the asynchronous timer used by retry backoff.
Sourcepub fn build(self) -> Result<ModelRouter, ModelRouterBuildError>
pub fn build(self) -> Result<ModelRouter, ModelRouterBuildError>
Validates and builds the router.
§Errors
Returns ModelRouterBuildError for blank identities, duplicate route
names, or an empty route list.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ModelRouterBuilder
impl !UnwindSafe for ModelRouterBuilder
impl Freeze for ModelRouterBuilder
impl Send for ModelRouterBuilder
impl Sync for ModelRouterBuilder
impl Unpin for ModelRouterBuilder
impl UnsafeUnpin for ModelRouterBuilder
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