pub struct PacketMutationScheduler<I, MT, S> where
    I: Input,
    MT: MutatorsTuple<I, S>,
    S: HasRand
{ /* private fields */ }
Expand description

A mutation scheduler for butterflys mutators.

It schedules them in such a way that only one mutator in the list gets executed per run because the mutators may implement their own scheduling, like the PacketHavocMutator, which stacks havoc mutations on its own.

Implementations

Create a new PacketMutationScheduler with a list of mutators. These mutators should be from butterfly.
It is not guaranteed that external mutators will work too.

Trait Implementations

Get the mutations

Get the mutations (mutable)

Mutate a given input

Post-process given the outcome of the execution

Compute the number of iterations used to apply stacked mutations

Get the next mutation to apply

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

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The Resulting [TupleList], of an Prepend::prepend() call, including the prepended entry. Read more

Prepend a value to this tuple, returning a new tuple with prepended value.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.