Struct libafl::fuzzer::StdFuzzer [−][src]
pub struct StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input, { /* fields omitted */ }
Your default fuzzer instance, for everyday use.
Implementations
impl<CS, ST, E, EM, I, OT, S> StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]
impl<CS, ST, E, EM, I, OT, S> StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]Trait Implementations
impl<CS: Clone, ST: Clone, E: Clone, EM: Clone, I: Clone, OT: Clone, S: Clone> Clone for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]
impl<CS: Clone, ST: Clone, E: Clone, EM: Clone, I: Clone, OT: Clone, S: Clone> Clone for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]impl<CS: Debug, ST: Debug, E: Debug, EM: Debug, I: Debug, OT: Debug, S: Debug> Debug for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]
impl<CS: Debug, ST: Debug, E: Debug, EM: Debug, I: Debug, OT: Debug, S: Debug> Debug for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]impl<CS, ST, E, EM, I, OT, S> Fuzzer<E, EM, S, CS> for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
S: HasExecutions + HasClientPerfStats,
ST: StagesTuple<CS, E, EM, I, S>,
EM: EventManager<I, S>,
E: Executor<I> + HasObservers<OT>,
OT: ObserversTuple,
I: Input,
[src]
impl<CS, ST, E, EM, I, OT, S> Fuzzer<E, EM, S, CS> for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
S: HasExecutions + HasClientPerfStats,
ST: StagesTuple<CS, E, EM, I, S>,
EM: EventManager<I, S>,
E: Executor<I> + HasObservers<OT>,
OT: ObserversTuple,
I: Input,
[src]fn maybe_report_stats(
state: &mut S,
manager: &mut EM,
last: Duration,
stats_timeout: Duration
) -> Result<Duration, Error>
[src]
fn maybe_report_stats(
state: &mut S,
manager: &mut EM,
last: Duration,
stats_timeout: Duration
) -> Result<Duration, Error>
[src]Given the last time, if stats_timeout
seconds passed, send off an info/stats/heartbeat message to the broker.
Returns the new last
time (so the old one, unless stats_timeout
time has passed and stats have been sent)
Will return an crate::Error
, if the stats could not be sent. Read more
fn fuzz_one(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
scheduler: &CS
) -> Result<usize, Error>
[src]
fn fuzz_one(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
scheduler: &CS
) -> Result<usize, Error>
[src]Fuzz for a single iteration Returns the index of the last fuzzed corpus item Read more
impl<CS, ST, E, EM, I, OT, S> HasStages<CS, E, EM, I, S, ST> for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]
impl<CS, ST, E, EM, I, OT, S> HasStages<CS, E, EM, I, S, ST> for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: CorpusScheduler<I, S>,
ST: StagesTuple<CS, E, EM, I, S>,
E: Executor<I>,
EM: EventManager<I, S>,
I: Input,
[src]Auto Trait Implementations
impl<CS, ST, E, EM, I, OT, S> RefUnwindSafe for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: RefUnwindSafe,
E: RefUnwindSafe,
EM: RefUnwindSafe,
I: RefUnwindSafe,
OT: RefUnwindSafe,
S: RefUnwindSafe,
ST: RefUnwindSafe,
CS: RefUnwindSafe,
E: RefUnwindSafe,
EM: RefUnwindSafe,
I: RefUnwindSafe,
OT: RefUnwindSafe,
S: RefUnwindSafe,
ST: RefUnwindSafe,
impl<CS, ST, E, EM, I, OT, S> Send for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: Send,
E: Send,
EM: Send,
I: Send,
OT: Send,
S: Send,
ST: Send,
CS: Send,
E: Send,
EM: Send,
I: Send,
OT: Send,
S: Send,
ST: Send,
impl<CS, ST, E, EM, I, OT, S> Sync for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: Sync,
E: Sync,
EM: Sync,
I: Sync,
OT: Sync,
S: Sync,
ST: Sync,
CS: Sync,
E: Sync,
EM: Sync,
I: Sync,
OT: Sync,
S: Sync,
ST: Sync,
impl<CS, ST, E, EM, I, OT, S> Unpin for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: Unpin,
E: Unpin,
EM: Unpin,
I: Unpin,
OT: Unpin,
S: Unpin,
ST: Unpin,
CS: Unpin,
E: Unpin,
EM: Unpin,
I: Unpin,
OT: Unpin,
S: Unpin,
ST: Unpin,
impl<CS, ST, E, EM, I, OT, S> UnwindSafe for StdFuzzer<CS, ST, E, EM, I, OT, S> where
CS: UnwindSafe,
E: UnwindSafe,
EM: UnwindSafe,
I: UnwindSafe,
OT: UnwindSafe,
S: UnwindSafe,
ST: UnwindSafe,
CS: UnwindSafe,
E: UnwindSafe,
EM: UnwindSafe,
I: UnwindSafe,
OT: UnwindSafe,
S: UnwindSafe,
ST: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more