Trait libafl::fuzzer::EvaluatorObservers [−][src]
pub trait EvaluatorObservers<I, OT, S>: Sized where
I: Input,
OT: ObserversTuple<I, S>, { fn evaluate_input_with_observers<E, EM>(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error>
where
E: Executor<EM, I, S, Self> + HasObservers<I, OT, S>,
EM: EventManager<E, I, S, Self>; }
Expand description
Evaluate an input modyfing the state of the fuzzer
Required methods
fn evaluate_input_with_observers<E, EM>(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error> where
E: Executor<EM, I, S, Self> + HasObservers<I, OT, S>,
EM: EventManager<E, I, S, Self>,
fn evaluate_input_with_observers<E, EM>(
&mut self,
state: &mut S,
executor: &mut E,
manager: &mut EM,
input: I,
send_events: bool
) -> Result<(ExecuteInputResult, Option<usize>), Error> where
E: Executor<EM, I, S, Self> + HasObservers<I, OT, S>,
EM: EventManager<E, I, S, Self>,
Runs the input and triggers observers and feedback, returns if is interesting an (option) the index of the new testcase in the corpus
Implementors
impl<C, CS, F, I, OF, OT, S, SC> EvaluatorObservers<I, OT, S> for StdFuzzer<C, CS, F, I, OF, OT, S, SC> where
C: Corpus<I>,
CS: CorpusScheduler<I, S>,
OT: ObserversTuple<I, S>,
F: Feedback<I, S>,
I: Input,
OF: Feedback<I, S>,
S: HasExecutions + HasCorpus<C, I> + HasSolutions<SC, I> + HasClientPerfStats,
SC: Corpus<I>,