pub trait Stage<E, EM, S, Z> {
// Required method
fn perform(
&mut self,
fuzzer: &mut Z,
executor: &mut E,
state: &mut S,
manager: &mut EM,
) -> Result<(), Error>;
}
Expand description
A stage is one step in the fuzzing process. Multiple stages will be scheduled one by one for each input.
Required Methods§
Sourcefn perform(
&mut self,
fuzzer: &mut Z,
executor: &mut E,
state: &mut S,
manager: &mut EM,
) -> Result<(), Error>
fn perform( &mut self, fuzzer: &mut Z, executor: &mut E, state: &mut S, manager: &mut EM, ) -> Result<(), Error>
Run the stage.
If you want this stage to restart, then
Before a call to perform, Restartable::should_restart
will be (must be!) called.
After returning (so non-target crash or timeout in a restarting case), Restartable::clear_progress
gets called.