pub trait RequestBound {
    fn least_wcet_in_interval(&self, delta: Duration) -> Service;
    fn steps_iter<'a>(&'a self) -> Box<dyn Iterator<Item = Duration> + 'a>;
    fn job_cost_iter<'a>(
        &'a self,
        delta: Duration
    ) -> Box<dyn Iterator<Item = Service> + 'a>; fn service_needed(&self, delta: Duration) -> Service { ... } fn service_needed_by_n_jobs(
        &self,
        delta: Duration,
        max_jobs: usize
    ) -> Service { ... } }
Expand description

The general interface for (arbitrarily shaped) processor demand. This can represent the demand of a single task, or the cumulative demand of multiple tasks.

Required Methods

Expose the smallest WCET of any job encountered in an interval of length delta.

Yield an iterator over the interval lengths (i.e., values of delta in RequestBound::service_needed) at which the cumulative demand changes.

More precisely, this iterator yields every value of delta such that:

self.service_needed(delta - 1) < self.service_needed(delta).

Expose an iterator over the individual costs that comprise the overall demand.

Provided Methods

Bound the total amount of service needed in an interval of length delta.

Bound the total amount of service needed by up to max_jobs in an interval of length delta.

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.

Implementations on Foreign Types

Implementors