pub trait InsertionEvaluator {
    // Required methods
    fn evaluate_job(
        &self,
        insertion_ctx: &InsertionContext,
        job: &Job,
        routes: &[&RouteContext],
        leg_selection: &LegSelection,
        result_selector: &(dyn ResultSelector + Send + Sync)
    ) -> InsertionResult;
    fn evaluate_route(
        &self,
        insertion_ctx: &InsertionContext,
        route_ctx: &RouteContext,
        jobs: &[&Job],
        leg_selection: &LegSelection,
        result_selector: &(dyn ResultSelector + Send + Sync)
    ) -> InsertionResult;
    fn evaluate_all(
        &self,
        insertion_ctx: &InsertionContext,
        jobs: &[&Job],
        routes: &[&RouteContext],
        leg_selection: &LegSelection,
        result_selector: &(dyn ResultSelector + Send + Sync)
    ) -> InsertionResult;
}
Expand description

Evaluates insertion.

Required Methods§

source

fn evaluate_job( &self, insertion_ctx: &InsertionContext, job: &Job, routes: &[&RouteContext], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult

Evaluates insertion of a single job into given collection of routes.

source

fn evaluate_route( &self, insertion_ctx: &InsertionContext, route_ctx: &RouteContext, jobs: &[&Job], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult

Evaluates insertion of multiple jobs into given route.

source

fn evaluate_all( &self, insertion_ctx: &InsertionContext, jobs: &[&Job], routes: &[&RouteContext], leg_selection: &LegSelection, result_selector: &(dyn ResultSelector + Send + Sync) ) -> InsertionResult

Evaluates insertion of a job collection into given collection of routes.

Implementors§