pub struct CompositeRouter { /* private fields */ }Expand description
Runs a stage router with a tier the judge picks.
Implementations§
Source§impl CompositeRouter
impl CompositeRouter
Sourcepub fn new(config: CompositeRouterConfig) -> Result<Self>
pub fn new(config: CompositeRouterConfig) -> Result<Self>
Stacks the judge over a stage router across the same tier pair.
Errors on a configuration either algorithm rejects and on every_request.
A stage router carrying its own judge is allowed, but that judge sits ahead of the fall-open tier and so answers most of the turns this one set a tier for.
Trait Implementations§
Source§impl Algorithm for CompositeRouter
impl Algorithm for CompositeRouter
Source§fn name(&self) -> &str
fn name(&self) -> &str
Stable, low-cardinality name identifying this algorithm — the
algorithm attribute on every span, metric, and log line the crate
emits for its runs.Source§fn route<'async_trait>(
self: Arc<Self>,
driver: Driver,
request: Request,
) -> Pin<Box<dyn Future<Output = Result<RoutingOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
fn route<'async_trait>(
self: Arc<Self>,
driver: Driver,
request: Request,
) -> Pin<Box<dyn Future<Output = Result<RoutingOutcome>> + Send + 'async_trait>>where
Self: 'async_trait,
Select a route, requesting external work through
Driver as needed.
run_stream runs this method and exposes its work to the host.Source§fn run_stream(
self: Arc<Self>,
request: Request,
models: Arc<RuntimeModels>,
) -> StepStream
fn run_stream( self: Arc<Self>, request: Request, models: Arc<RuntimeModels>, ) -> StepStream
Expose work requests and the final outcome so the host can control execution. Read more
Auto Trait Implementations§
impl !Freeze for CompositeRouter
impl !RefUnwindSafe for CompositeRouter
impl !UnwindSafe for CompositeRouter
impl Send for CompositeRouter
impl Sync for CompositeRouter
impl Unpin for CompositeRouter
impl UnsafeUnpin for CompositeRouter
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