Struct libafl::events::llmp::LlmpRestartingEventManager [−][src]
pub struct LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I>,
SP: ShMemProvider + 'static,
ST: Stats, { /* fields omitted */ }
A manager that can restart on the fly, storing states in-between (in on_resatrt
)
Implementations
impl<I, S, SP, ST> LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I>,
SP: ShMemProvider,
ST: Stats,
[src]
impl<I, S, SP, ST> LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I>,
SP: ShMemProvider,
ST: Stats,
[src]pub fn new(
llmp_mgr: LlmpEventManager<I, S, SP, ST>,
sender: LlmpSender<SP>
) -> Self
[src]
pub fn new(
llmp_mgr: LlmpEventManager<I, S, SP, ST>,
sender: LlmpSender<SP>
) -> Self
[src]Create a new runner, the executed child doing the actual fuzzing.
pub fn sender(&self) -> &LlmpSender<SP>
[src]
pub fn sender(&self) -> &LlmpSender<SP>
[src]Get the sender
pub fn sender_mut(&mut self) -> &mut LlmpSender<SP>
[src]
pub fn sender_mut(&mut self) -> &mut LlmpSender<SP>
[src]Get the sender (mut)
Trait Implementations
impl<I: Debug, S: Debug, SP: Debug, ST: Debug> Debug for LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I>,
SP: ShMemProvider + 'static,
ST: Stats,
[src]
impl<I: Debug, S: Debug, SP: Debug, ST: Debug> Debug for LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I>,
SP: ShMemProvider + 'static,
ST: Stats,
[src]impl<I, S, SP, ST> EventManager<I, S> for LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I> + Serialize,
SP: ShMemProvider,
ST: Stats,
[src]
impl<I, S, SP, ST> EventManager<I, S> for LlmpRestartingEventManager<I, S, SP, ST> where
I: Input,
S: IfInteresting<I> + Serialize,
SP: ShMemProvider,
ST: Stats,
[src]fn await_restart_safe(&mut self)
[src]
fn await_restart_safe(&mut self)
[src]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,
fn on_restart(&mut self, state: &mut S) -> Result<(), Error>
[src]
fn on_restart(&mut self, state: &mut S) -> Result<(), Error>
[src]Reset the single page (we reuse it over and over from pos 0), then send the current state to the next runner.
fn process<CS, E, OT>(
&mut self,
state: &mut S,
executor: &mut E,
scheduler: &CS
) -> Result<usize, Error> where
CS: CorpusScheduler<I, S>,
E: Executor<I> + HasObservers<OT>,
OT: ObserversTuple,
[src]
fn process<CS, E, OT>(
&mut self,
state: &mut S,
executor: &mut E,
scheduler: &CS
) -> Result<usize, Error> where
CS: CorpusScheduler<I, S>,
E: Executor<I> + HasObservers<OT>,
OT: ObserversTuple,
[src]Fire an Event Lookup for incoming events and process them. Return the number of processes events or an error Read more
fn fire(&mut self, state: &mut S, event: Event<I>) -> Result<(), Error>
[src]
fn fire(&mut self, state: &mut S, event: Event<I>) -> Result<(), Error>
[src]Send off an event to the broker
fn serialize_observers<OT>(&mut self, observers: &OT) -> Result<Vec<u8>, Error> where
OT: ObserversTuple,
[src]
fn serialize_observers<OT>(&mut self, observers: &OT) -> Result<Vec<u8>, Error> where
OT: ObserversTuple,
[src]Serialize all observers for this type and manager
fn deserialize_observers<OT>(
&mut self,
observers_buf: &[u8]
) -> Result<OT, Error> where
OT: ObserversTuple,
[src]
fn deserialize_observers<OT>(
&mut self,
observers_buf: &[u8]
) -> Result<OT, Error> where
OT: ObserversTuple,
[src]Deserialize all observers for this type and manager
Auto Trait Implementations
impl<I, S, SP, ST> RefUnwindSafe for LlmpRestartingEventManager<I, S, SP, ST> where
I: RefUnwindSafe,
S: RefUnwindSafe,
SP: RefUnwindSafe,
ST: RefUnwindSafe,
<SP as ShMemProvider>::Mem: RefUnwindSafe,
I: RefUnwindSafe,
S: RefUnwindSafe,
SP: RefUnwindSafe,
ST: RefUnwindSafe,
<SP as ShMemProvider>::Mem: RefUnwindSafe,
impl<I, S, SP, ST> !Send for LlmpRestartingEventManager<I, S, SP, ST>
impl<I, S, SP, ST> !Sync for LlmpRestartingEventManager<I, S, SP, ST>
impl<I, S, SP, ST> Unpin for LlmpRestartingEventManager<I, S, SP, ST> where
I: Unpin,
S: Unpin,
SP: Unpin,
ST: Unpin,
<SP as ShMemProvider>::Mem: Unpin,
I: Unpin,
S: Unpin,
SP: Unpin,
ST: Unpin,
<SP as ShMemProvider>::Mem: Unpin,
impl<I, S, SP, ST> UnwindSafe for LlmpRestartingEventManager<I, S, SP, ST> where
I: UnwindSafe,
S: UnwindSafe,
SP: UnwindSafe,
ST: UnwindSafe,
<SP as ShMemProvider>::Mem: UnwindSafe,
I: UnwindSafe,
S: UnwindSafe,
SP: UnwindSafe,
ST: UnwindSafe,
<SP as ShMemProvider>::Mem: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self