Trait libafl::stages::Stage[][src]

pub trait Stage<E, EM, S, Z> {
    fn perform(
        &mut self,
        fuzzer: &mut Z,
        executor: &mut E,
        state: &mut S,
        manager: &mut EM,
        corpus_idx: usize
    ) -> 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

fn perform(
    &mut self,
    fuzzer: &mut Z,
    executor: &mut E,
    state: &mut S,
    manager: &mut EM,
    corpus_idx: usize
) -> Result<(), Error>
[src]

Run the stage

Implementors

impl<C, E, EM, I, M, R, S, Z> Stage<E, EM, S, Z> for StdMutationalStage<C, E, EM, I, M, R, S, Z> where
    C: Corpus<I>,
    M: Mutator<I, S>,
    I: Input,
    R: Rand,
    S: HasClientPerfStats + HasCorpus<C, I> + HasRand<R>,
    Z: Evaluator<E, EM, I, S>, 
[src]

fn perform(
    &mut self,
    fuzzer: &mut Z,
    executor: &mut E,
    state: &mut S,
    manager: &mut EM,
    corpus_idx: usize
) -> Result<(), Error>
[src]

impl<E, C, EM, I, OT, S, TE, Z> Stage<E, EM, S, Z> for TracingStage<C, EM, I, OT, S, TE, Z> where
    I: Input,
    C: Corpus<I>,
    TE: Executor<I> + HasObservers<OT> + HasExecHooks<EM, I, S, Z> + HasObserversHooks<EM, I, OT, S, Z>,
    OT: ObserversTuple + HasExecHooksTuple<EM, I, S, Z>,
    S: HasClientPerfStats + HasExecutions + HasCorpus<C, I>, 
[src]

fn perform(
    &mut self,
    fuzzer: &mut Z,
    _executor: &mut E,
    state: &mut S,
    manager: &mut EM,
    corpus_idx: usize
) -> Result<(), Error>
[src]