Struct libafl::events::llmp::LlmpRestartingEventManager [−][src]
pub struct LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
SP: ShMemProvider + 'static, { /* fields omitted */ }
Expand description
A manager that can restart on the fly, storing states in-between (in on_resatrt
)
Implementations
impl<I, OT, S, SP> LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S> + DeserializeOwned,
SP: ShMemProvider + 'static,
impl<I, OT, S, SP> LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S> + DeserializeOwned,
SP: ShMemProvider + 'static,
pub fn new(
llmp_mgr: LlmpEventManager<I, OT, S, SP>,
staterestorer: StateRestorer<SP>
) -> Self
pub fn new(
llmp_mgr: LlmpEventManager<I, OT, S, SP>,
staterestorer: StateRestorer<SP>
) -> Self
Create a new runner, the executed child doing the actual fuzzing.
Get the staterestorer
Get the staterestorer (mut)
Trait Implementations
impl<I: Debug, OT: Debug, S: Debug, SP: Debug> Debug for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
SP: ShMemProvider + 'static,
impl<I: Debug, OT: Debug, S: Debug, SP: Debug> Debug for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
SP: ShMemProvider + 'static,
impl<I, OT, S, SP> EventFirer<I, S> for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
S: Serialize,
SP: ShMemProvider,
impl<I, OT, S, SP> EventFirer<I, S> for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
S: Serialize,
SP: ShMemProvider,
Get the configuration
fn serialize_observers<OT>(&mut self, observers: &OT) -> Result<Vec<u8>, Error> where
OT: ObserversTuple<I, S> + Serialize,
fn serialize_observers<OT>(&mut self, observers: &OT) -> Result<Vec<u8>, Error> where
OT: ObserversTuple<I, S> + Serialize,
Serialize all observers for this type and manager
impl<E, I, OT, S, SP, Z> EventProcessor<E, I, S, Z> for LlmpRestartingEventManager<I, OT, S, SP> where
E: Executor<LlmpEventManager<I, OT, S, SP>, I, S, Z> + HasObservers<I, OT, S>,
I: Input,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S>,
OT: ObserversTuple<I, S> + DeserializeOwned,
SP: ShMemProvider + 'static,
impl<E, I, OT, S, SP, Z> EventProcessor<E, I, S, Z> for LlmpRestartingEventManager<I, OT, S, SP> where
E: Executor<LlmpEventManager<I, OT, S, SP>, I, S, Z> + HasObservers<I, OT, S>,
I: Input,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S>,
OT: ObserversTuple<I, S> + DeserializeOwned,
SP: ShMemProvider + 'static,
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<I, OT, S, SP> EventRestarter<S> for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
S: Serialize,
SP: ShMemProvider,
impl<I, OT, S, SP> EventRestarter<S> for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S>,
S: Serialize,
SP: ShMemProvider,
The llmp client needs to wait until a broker mapped all pages, before shutting down. Otherwise, the OS may already have removed the shared maps,
impl<I, OT, S, SP> HasEventManagerId for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S> + DeserializeOwned,
S: Serialize,
SP: ShMemProvider + 'static,
impl<I, OT, S, SP> HasEventManagerId for LlmpRestartingEventManager<I, OT, S, SP> where
I: Input,
OT: ObserversTuple<I, S> + DeserializeOwned,
S: Serialize,
SP: ShMemProvider + 'static,
The id of this manager. For Multiprocessed EventManager
s,
each client sholud have a unique ids. Read more
impl<E, I, OT, S, SP, Z> EventManager<E, I, S, Z> for LlmpRestartingEventManager<I, OT, S, SP> where
E: Executor<LlmpEventManager<I, OT, S, SP>, I, S, Z> + HasObservers<I, OT, S>,
I: Input,
S: Serialize,
Z: ExecutionProcessor<I, OT, S> + EvaluatorObservers<I, OT, S>,
OT: ObserversTuple<I, S> + DeserializeOwned,
SP: ShMemProvider + 'static,
Auto Trait Implementations
impl<I, OT, S, SP> RefUnwindSafe for LlmpRestartingEventManager<I, OT, S, SP> where
I: RefUnwindSafe,
OT: RefUnwindSafe,
S: RefUnwindSafe,
SP: RefUnwindSafe,
<SP as ShMemProvider>::Mem: RefUnwindSafe,
impl<I, OT, S, SP> !Send for LlmpRestartingEventManager<I, OT, S, SP>
impl<I, OT, S, SP> !Sync for LlmpRestartingEventManager<I, OT, S, SP>
impl<I, OT, S, SP> Unpin for LlmpRestartingEventManager<I, OT, S, SP> where
I: Unpin,
OT: Unpin,
S: Unpin,
SP: Unpin,
<SP as ShMemProvider>::Mem: Unpin,
impl<I, OT, S, SP> UnwindSafe for LlmpRestartingEventManager<I, OT, S, SP> where
I: UnwindSafe,
OT: UnwindSafe,
S: UnwindSafe,
SP: RefUnwindSafe + UnwindSafe,
<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
type Output = T
type Output = T
Should always be Self