Trait libafl::schedulers::Scheduler
source · [−]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
Provided Methods
Add an entry to the corpus and return its index
Replaces the testcase at the given idx