Trait libafl::state::Evaluator[][src]

pub trait Evaluator<I>: Sized where
    I: Input
{ fn evaluate_input<CS, E, EM, OT>(
        &mut self,
        input: I,
        executor: &mut E,
        manager: &mut EM,
        scheduler: &CS
    ) -> Result<(bool, Option<usize>), Error>
    where
        E: Executor<I> + HasObservers<OT> + HasExecHooks<EM, I, Self> + HasObserversHooks<EM, I, OT, Self>,
        OT: ObserversTuple + HasExecHooksTuple<EM, I, Self>,
        EM: EventManager<I, Self>,
        CS: CorpusScheduler<I, Self>
; }

Evaluate an input modyfing the state of the fuzzer

Required methods

fn evaluate_input<CS, E, EM, OT>(
    &mut self,
    input: I,
    executor: &mut E,
    manager: &mut EM,
    scheduler: &CS
) -> Result<(bool, Option<usize>), Error> where
    E: Executor<I> + HasObservers<OT> + HasExecHooks<EM, I, Self> + HasObserversHooks<EM, I, OT, Self>,
    OT: ObserversTuple + HasExecHooksTuple<EM, I, Self>,
    EM: EventManager<I, Self>,
    CS: CorpusScheduler<I, Self>, 
[src]

Runs the input and triggers observers and feedback

Loading content...

Implementors

impl<C, F, I, OF, R, SC> Evaluator<I> for State<C, F, I, OF, R, SC> where
    C: Corpus<I>,
    I: Input,
    R: Rand,
    F: Feedback<I>,
    SC: Corpus<I>,
    OF: Feedback<I>, 
[src]

fn evaluate_input<CS, E, EM, OT>(
    &mut self,
    input: I,
    executor: &mut E,
    manager: &mut EM,
    scheduler: &CS
) -> Result<(bool, Option<usize>), Error> where
    E: Executor<I> + HasObservers<OT> + HasExecHooks<EM, I, Self> + HasObserversHooks<EM, I, OT, Self>,
    OT: ObserversTuple + HasExecHooksTuple<EM, I, Self>,
    C: Corpus<I>,
    EM: EventManager<I, Self>,
    CS: CorpusScheduler<I, Self>, 
[src]

Process one input, adding to the respective corpuses if needed and firing the right events

Loading content...