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]

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]

Get the sender

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]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

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]

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]

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]

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]

Send off an event to the broker

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]

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

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

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

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.