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> { ... } }
Required methods
fn iterations(&self, state: &mut S, input: &I) -> u64
fn iterations(&self, state: &mut S, input: &I) -> u64
Compute the number of iterations used to apply stacked mutations
Provided methods
fn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I,
stage_idx: i32
) -> Result<MutationResult, Error>
fn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I,
stage_idx: i32
) -> Result<MutationResult, Error>
New default implementation for mutate Implementations must forward mutate() to this method
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>,
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>,