Skip to main content

SolverService

Trait SolverService 

Source
pub trait SolverService: Send + Sync {
    // Required methods
    fn solve(
        &self,
        request: &SolveRequest,
    ) -> Result<SolveResponse, SolverForgeError>;
    fn solve_async(
        &self,
        request: &SolveRequest,
    ) -> Result<SolveHandle, SolverForgeError>;
    fn get_status(
        &self,
        handle: &SolveHandle,
    ) -> Result<SolveStatus, SolverForgeError>;
    fn get_best_solution(
        &self,
        handle: &SolveHandle,
    ) -> Result<Option<SolveResponse>, SolverForgeError>;
    fn stop(&self, handle: &SolveHandle) -> Result<(), SolverForgeError>;
    fn is_available(&self) -> bool;
}

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§