Trait libafl::mutators::scheduled::ScheduledMutator[][src]

pub trait ScheduledMutator<I, MT, S>: ComposedByMutations<I, MT, S> + Mutator<I, S> where
    I: Input,
    MT: MutatorsTuple<I, S>, 
{ fn iterations(&self, state: &mut S, input: &I) -> u64;
fn schedule(&self, state: &mut S, input: &I) -> usize; fn scheduled_mutate(
        &mut self,
        state: &mut S,
        input: &mut I,
        stage_idx: i32
    ) -> Result<MutationResult, Error> { ... } }

A Mutator scheduling multiple Mutators for an input.

Required methods

fn iterations(&self, state: &mut S, input: &I) -> u64[src]

Compute the number of iterations used to apply stacked mutations

fn schedule(&self, state: &mut S, input: &I) -> usize[src]

Get the next mutation to apply

Loading content...

Provided methods

fn scheduled_mutate(
    &mut self,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>
[src]

New default implementation for mutate Implementations must forward mutate() to this method

Loading content...

Implementors

impl<C, I, MT, R, S, SM> ScheduledMutator<I, MT, S> for LoggerScheduledMutator<C, I, MT, R, S, SM> where
    C: Corpus<I>,
    I: Input,
    MT: MutatorsTuple<I, S> + NamedTuple,
    R: Rand,
    S: HasRand<R> + HasCorpus<C, I>,
    SM: ScheduledMutator<I, MT, S>, 
[src]

fn iterations(&self, state: &mut S, _: &I) -> u64[src]

Compute the number of iterations used to apply stacked mutations

fn schedule(&self, state: &mut S, _: &I) -> usize[src]

Get the next mutation to apply

fn scheduled_mutate(
    &mut self,
    state: &mut S,
    input: &mut I,
    stage_idx: i32
) -> Result<MutationResult, Error>
[src]

impl<I, MT, R, S> ScheduledMutator<I, MT, S> for StdScheduledMutator<I, MT, R, S> where
    I: Input,
    MT: MutatorsTuple<I, S>,
    R: Rand,
    S: HasRand<R>, 
[src]

fn iterations(&self, state: &mut S, _: &I) -> u64[src]

Compute the number of iterations used to apply stacked mutations

fn schedule(&self, state: &mut S, _: &I) -> usize[src]

Get the next mutation to apply

Loading content...