pub trait Scheduler<I, S> where
    I: Input
{ fn next(&self, state: &mut S) -> Result<usize, Error>; fn on_add(&self, _state: &mut S, _idx: usize) -> Result<(), Error> { ... } fn on_replace(
        &self,
        _state: &mut S,
        _idx: usize,
        _testcase: &Testcase<I>
    ) -> Result<(), Error> { ... } fn on_remove(
        &self,
        _state: &mut S,
        _idx: usize,
        _testcase: &Option<Testcase<I>>
    ) -> Result<(), Error> { ... } }
Expand description

The scheduler define how the fuzzer requests a testcase from the corpus. It has hooks to corpus add/replace/remove to allow complex scheduling algorithms to collect data.

Required Methods

Gets the next entry

Provided Methods

Add an entry to the corpus and return its index

Replaces the testcase at the given idx

Removes an entry from the corpus, returning it if it was present.

Implementors