pub struct BackendRouter;Expand description
Backend auto-picker.
Constructed with BackendRouter::new; queries the runtime
inventory on demand so newly-registered backends participate
without router rebuild.
Implementations§
Source§impl BackendRouter
impl BackendRouter
Sourcepub fn pick(&self, program: &Program) -> Result<RouterDecision, BackendError>
pub fn pick(&self, program: &Program) -> Result<RouterDecision, BackendError>
Pick the best-available backend for _program.
§Errors
Returns BackendError when:
VYRE_BACKENDis set to a backend id that is not registered.- No executable registered GPU backend is found. Vyre reports this as a linkage or driver-visibility error instead of routing into reference evaluation.
Sourcepub fn pick_with_override(
&self,
_program: &Program,
source: Override<'_>,
) -> Result<RouterDecision, BackendError>
pub fn pick_with_override( &self, _program: &Program, source: Override<'_>, ) -> Result<RouterDecision, BackendError>
Sourcepub fn enumerate_by_precedence() -> Vec<&'static BackendRegistration>
pub fn enumerate_by_precedence() -> Vec<&'static BackendRegistration>
Enumerate every registered backend in precedence order. Inventory-driven
per V7-EXT-021 - backends without a submitted BackendPrecedence
trail every backend that has one (rank u32::MAX).
Trait Implementations§
Source§impl Default for BackendRouter
impl Default for BackendRouter
Source§fn default() -> BackendRouter
fn default() -> BackendRouter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BackendRouter
impl RefUnwindSafe for BackendRouter
impl Send for BackendRouter
impl Sync for BackendRouter
impl Unpin for BackendRouter
impl UnsafeUnpin for BackendRouter
impl UnwindSafe for BackendRouter
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