pub struct ChainedSelector { /* private fields */ }Expand description
Production runtime selector: VRAM-pressure guard + Judge-measured rank + static-winner fallback. See the module docs for the exact key semantics.
Both signal sources are optional so the selector degrades honestly:
judge: None→ the rank leg uses static composite costs only.backend_runtime_lookup: None→ the guard leg sees every candidate asFitStatus::Unknown(tier 0, no skips).- Both
None→ exactsuper::WinnerSelectorbehavior on plan-produced (cost-ranked) sets.
Implementations§
Source§impl ChainedSelector
impl ChainedSelector
Sourcepub fn new(
judge: Option<Arc<dyn JudgeOracle>>,
backend_runtime_lookup: Option<BackendRuntimeLookup>,
estimate_output_bytes: OutputBytesEstimator,
) -> Self
pub fn new( judge: Option<Arc<dyn JudgeOracle>>, backend_runtime_lookup: Option<BackendRuntimeLookup>, estimate_output_bytes: OutputBytesEstimator, ) -> Self
Construct with explicit signal sources + output-bytes
estimator. See super::default_estimate_output_bytes for
the estimator contract (deliberately pessimistic default).
Sourcepub fn with_default_estimator(
judge: Option<Arc<dyn JudgeOracle>>,
backend_runtime_lookup: Option<BackendRuntimeLookup>,
) -> Self
pub fn with_default_estimator( judge: Option<Arc<dyn JudgeOracle>>, backend_runtime_lookup: Option<BackendRuntimeLookup>, ) -> Self
Construct with the conservative
default_estimate_output_bytes estimator — the shape the
production bridge uses until per-node output shapes are
threaded through.
Trait Implementations§
Source§impl Clone for ChainedSelector
impl Clone for ChainedSelector
Source§impl Debug for ChainedSelector
impl Debug for ChainedSelector
Source§impl RuntimeSelector for ChainedSelector
impl RuntimeSelector for ChainedSelector
Auto Trait Implementations§
impl !RefUnwindSafe for ChainedSelector
impl !UnwindSafe for ChainedSelector
impl Freeze for ChainedSelector
impl Send for ChainedSelector
impl Sync for ChainedSelector
impl Unpin for ChainedSelector
impl UnsafeUnpin for ChainedSelector
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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