Struct butterfly_fuzz::PacketSpliceMutator
source · [−]pub struct PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize, { /* private fields */ }Expand description
A mutator that splices two random packets together.
P denotes the type of an individual packet that MUST implement HasSpliceMutation.
PacketSpliceMutator respects a lower bound on the number of packets
passed as an argument to the constructor.
Example
// Make sure that we always have at least 4 packets
let mutator = PacketSpliceMutator::new(4);Implementations
sourceimpl<P, S> PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
impl<P, S> PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
Trait Implementations
sourceimpl<I, P, S> Mutator<I, S> for PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
I: Input + HasLen + HasPackets<P>,
impl<I, P, S> Mutator<I, S> for PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
I: Input + HasLen + HasPackets<P>,
sourceimpl<P, S> Named for PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
impl<P, S> Named for PacketSpliceMutator<P, S> where
P: HasSpliceMutation<S>,
S: HasRand + HasMaxSize,
Auto Trait Implementations
impl<P, S> RefUnwindSafe for PacketSpliceMutator<P, S> where
P: RefUnwindSafe,
S: RefUnwindSafe,
impl<P, S> Send for PacketSpliceMutator<P, S> where
P: Send,
S: Send,
impl<P, S> Sync for PacketSpliceMutator<P, S> where
P: Sync,
S: Sync,
impl<P, S> Unpin for PacketSpliceMutator<P, S> where
P: Unpin,
S: Unpin,
impl<P, S> UnwindSafe for PacketSpliceMutator<P, S> where
P: UnwindSafe,
S: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
type PreprendResult = Tail
type PreprendResult = Tail
The Resulting [TupleList], of an Prepend::prepend() call,
including the prepended entry. Read more
sourcefn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.