Struct libafl::events::simple::SimpleRestartingEventManager [−][src]
pub struct SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor, { /* fields omitted */ }
Expand description
Provides a builder
which can be used to build a SimpleRestartingEventManager
, which is a combination of a
restarter
and runner
, that can be used on systems both with and without fork
support. The
restarter
will start a new process each time the child crashes or times out.
Implementations
impl<'a, C, I, MT, S, SC, SP> SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: DeserializeOwned + Serialize + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, I, MT, S, SC, SP> SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: DeserializeOwned + Serialize + HasCorpus<C, I> + HasSolutions<SC, I>,
SC: Corpus<I>,
SP: ShMemProvider,
MT: Monitor,
Trait Implementations
impl<'a, C, I, MT, S, SC, SP> EventFirer<I> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, I, MT, S, SC, SP> EventFirer<I> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
Send off an Event::Log
event to the broker
This is a shortcut for EventFirer::fire
with Event::Log
as argument. Read more
fn serialize_observers<OT, S>(
&mut self,
observers: &OT
) -> Result<Vec<u8>, Error> where
OT: ObserversTuple<I, S> + Serialize,
fn serialize_observers<OT, S>(
&mut self,
observers: &OT
) -> Result<Vec<u8>, Error> where
OT: ObserversTuple<I, S> + Serialize,
Serialize all observers for this type and manager
Get the configuration
impl<'a, C, E, I, S, SC, SP, MT, Z> EventProcessor<E, I, S, Z> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, E, I, S, SC, SP, MT, Z> EventProcessor<E, I, S, Z> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
Lookup for incoming events and process them. Return the number of processes events or an error Read more
fn deserialize_observers<OT>(
&mut self,
observers_buf: &[u8]
) -> Result<OT, Error> where
OT: ObserversTuple<I, S> + DeserializeOwned,
fn deserialize_observers<OT>(
&mut self,
observers_buf: &[u8]
) -> Result<OT, Error> where
OT: ObserversTuple<I, S> + DeserializeOwned,
Deserialize all observers for this type and manager
impl<'a, C, I, MT, S, SC, SP> EventRestarter<S> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, I, MT, S, SC, SP> EventRestarter<S> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
Reset the single page (we reuse it over and over from pos 0), then send the current state to the next runner.
Block until we are safe to exit.
impl<'a, C, I, MT, S, SC, SP> HasEventManagerId for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, I, MT, S, SC, SP> HasEventManagerId for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
The id of this manager. For Multiprocessed EventManager
s,
each client sholud have a unique ids. Read more
impl<'a, C, I, MT, S, SC, SP> ProgressReporter<I> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
I: Input,
C: Corpus<I>,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
impl<'a, C, I, MT, S, SC, SP> ProgressReporter<I> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
I: Input,
C: Corpus<I>,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
fn maybe_report_progress<S>(
&mut self,
state: &mut S,
last_report_time: Duration,
monitor_timeout: Duration
) -> Result<Duration, Error> where
S: HasExecutions + HasClientPerfMonitor,
fn maybe_report_progress<S>(
&mut self,
state: &mut S,
last_report_time: Duration,
monitor_timeout: Duration
) -> Result<Duration, Error> where
S: HasExecutions + HasClientPerfMonitor,
Given the last time, if monitor_timeout
seconds passed, send off an info/monitor/heartbeat message to the broker.
Returns the new last
time (so the old one, unless monitor_timeout
time has passed and monitor have been sent)
Will return an crate::Error
, if the stats could not be sent. Read more
impl<'a, C, E, I, S, SC, SP, MT, Z> EventManager<E, I, S, Z> for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: Corpus<I>,
I: Input,
S: Serialize,
SP: ShMemProvider,
MT: Monitor,
Auto Trait Implementations
impl<'a, C, I, MT, S, SC, SP> RefUnwindSafe for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: RefUnwindSafe,
I: RefUnwindSafe,
MT: RefUnwindSafe,
S: RefUnwindSafe,
SC: RefUnwindSafe,
SP: RefUnwindSafe,
<SP as ShMemProvider>::Mem: RefUnwindSafe,
impl<'a, C, I, MT, S, SC, SP> !Send for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP>
impl<'a, C, I, MT, S, SC, SP> !Sync for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP>
impl<'a, C, I, MT, S, SC, SP> Unpin for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
I: Unpin,
MT: Unpin,
<SP as ShMemProvider>::Mem: Unpin,
impl<'a, C, I, MT, S, SC, SP> UnwindSafe for SimpleRestartingEventManager<'a, C, I, MT, S, SC, SP> where
C: RefUnwindSafe,
I: UnwindSafe + RefUnwindSafe,
MT: UnwindSafe,
S: RefUnwindSafe,
SC: RefUnwindSafe,
SP: RefUnwindSafe,
<SP as ShMemProvider>::Mem: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
type PreprendResult = Tail
type PreprendResult = Tail
The Resulting TupleList
, of an Prepend::prepend()
call,
including the prepended entry. Read more