Trait libafl::fuzzer::ExecutionProcessor
source · pub trait ExecutionProcessor<OT>: UsesState {
// Required methods
fn execute_no_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: &<Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind
) -> Result<ExecuteInputResult, Error>
where EM: EventFirer<State = Self::State>;
fn process_execution<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
exec_res: &ExecuteInputResult,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<Option<CorpusId>, Error>
where EM: EventFirer<State = Self::State>;
fn execute_and_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>
where EM: EventFirer<State = Self::State>;
}
Expand description
Evaluates if an input is interesting using the feedback
Required Methods§
sourcefn execute_no_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: &<Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind
) -> Result<ExecuteInputResult, Error>where
EM: EventFirer<State = Self::State>,
fn execute_no_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: &<Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind
) -> Result<ExecuteInputResult, Error>where
EM: EventFirer<State = Self::State>,
Evaluate if a set of observation channels has an interesting state
sourcefn process_execution<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
exec_res: &ExecuteInputResult,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<Option<CorpusId>, Error>where
EM: EventFirer<State = Self::State>,
fn process_execution<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
exec_res: &ExecuteInputResult,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<Option<CorpusId>, Error>where
EM: EventFirer<State = Self::State>,
Process ExecuteInputResult
. Add to corpus, solution or ignore
sourcefn execute_and_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>where
EM: EventFirer<State = Self::State>,
fn execute_and_process<EM>(
&mut self,
state: &mut Self::State,
manager: &mut EM,
input: <Self::State as UsesInput>::Input,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool
) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>where
EM: EventFirer<State = Self::State>,
Evaluate if a set of observation channels has an interesting state
Object Safety§
This trait is not object safe.