Trait libafl::mutators::scheduled::ScheduledMutator
source · pub trait ScheduledMutator<I, MT, S>: ComposedByMutations<I, MT, S> + Mutator<I, S>where
MT: MutatorsTuple<I, S>,{
// Required methods
fn iterations(&self, state: &mut S, input: &I) -> u64;
fn schedule(&self, state: &mut S, input: &I) -> MutationId;
// Provided method
fn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I
) -> Result<MutationResult, Error> { ... }
}
Required Methods§
sourcefn 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
sourcefn schedule(&self, state: &mut S, input: &I) -> MutationId
fn schedule(&self, state: &mut S, input: &I) -> MutationId
Get the next mutation to apply
Provided Methods§
sourcefn scheduled_mutate(
&mut self,
state: &mut S,
input: &mut I
) -> Result<MutationResult, Error>
fn scheduled_mutate( &mut self, state: &mut S, input: &mut I ) -> Result<MutationResult, Error>
New default implementation for mutate.
Implementations must forward mutate()
to this method