pub trait ExecutionProcessor<EM, I, OT, S> {
// Required methods
fn check_results(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind,
) -> Result<ExecuteInputResult, Error>;
fn process_execution(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
exec_res: &ExecuteInputResult,
exit_kind: &ExitKind,
observers: &OT,
) -> Result<Option<CorpusId>, Error>;
fn serialize_and_dispatch(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
exec_res: &ExecuteInputResult,
observers: &OT,
exit_kind: &ExitKind,
) -> Result<(), Error>;
fn dispatch_event(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
exec_res: &ExecuteInputResult,
obs_buf: Option<Vec<u8>>,
exit_kind: &ExitKind,
) -> Result<(), Error>;
fn evaluate_execution(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind,
send_events: bool,
) -> Result<(ExecuteInputResult, Option<CorpusId>), Error>;
}
Expand description
Evaluates if an input is interesting using the feedback
Required Methods§
Sourcefn check_results(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
observers: &OT,
exit_kind: &ExitKind,
) -> Result<ExecuteInputResult, Error>
fn check_results( &mut self, state: &mut S, manager: &mut EM, input: &I, observers: &OT, exit_kind: &ExitKind, ) -> Result<ExecuteInputResult, Error>
Check the outcome of the execution, find if it is worth for corpus or objectives
Sourcefn process_execution(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
exec_res: &ExecuteInputResult,
exit_kind: &ExitKind,
observers: &OT,
) -> Result<Option<CorpusId>, Error>
fn process_execution( &mut self, state: &mut S, manager: &mut EM, input: &I, exec_res: &ExecuteInputResult, exit_kind: &ExitKind, observers: &OT, ) -> Result<Option<CorpusId>, Error>
Process ExecuteInputResult
. Add to corpus, solution or ignore
Sourcefn serialize_and_dispatch(
&mut self,
state: &mut S,
manager: &mut EM,
input: &I,
exec_res: &ExecuteInputResult,
observers: &OT,
exit_kind: &ExitKind,
) -> Result<(), Error>
fn serialize_and_dispatch( &mut self, state: &mut S, manager: &mut EM, input: &I, exec_res: &ExecuteInputResult, observers: &OT, exit_kind: &ExitKind, ) -> Result<(), Error>
serialize and send event via manager