Struct libafl::schedulers::weighted::WeightedScheduler
source · pub struct WeightedScheduler<F, S> { /* private fields */ }
Expand description
A corpus scheduler using power schedules with weighted queue item selection algo.
Implementations§
source§impl<F, S> WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
impl<F, S> WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new WeightedScheduler
without any scheduling strategy
sourcepub fn with_schedule(strat: PowerSchedule) -> Self
pub fn with_schedule(strat: PowerSchedule) -> Self
Create a new WeightedScheduler
Trait Implementations§
source§impl<F: Clone, S: Clone> Clone for WeightedScheduler<F, S>
impl<F: Clone, S: Clone> Clone for WeightedScheduler<F, S>
source§fn clone(&self) -> WeightedScheduler<F, S>
fn clone(&self) -> WeightedScheduler<F, S>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<F, S> Default for WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
impl<F, S> Default for WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
source§impl<F, S> Scheduler for WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
impl<F, S> Scheduler for WeightedScheduler<F, S>where
F: TestcaseScore<S>,
S: HasCorpus + HasMetadata + HasRand,
source§fn on_add(&self, state: &mut S, idx: CorpusId) -> Result<(), Error>
fn on_add(&self, state: &mut S, idx: CorpusId) -> Result<(), Error>
Add an entry to the corpus and return its index
source§fn on_replace(
&self,
state: &mut S,
idx: CorpusId,
_testcase: &Testcase<S::Input>
) -> Result<(), Error>
fn on_replace(
&self,
state: &mut S,
idx: CorpusId,
_testcase: &Testcase<S::Input>
) -> Result<(), Error>
Replaced the given testcase at the given idx
Auto Trait Implementations§
impl<F, S> RefUnwindSafe for WeightedScheduler<F, S>where
F: RefUnwindSafe,
S: RefUnwindSafe,
impl<F, S> Send for WeightedScheduler<F, S>where
F: Send,
S: Send,
impl<F, S> Sync for WeightedScheduler<F, S>where
F: Sync,
S: Sync,
impl<F, S> Unpin for WeightedScheduler<F, S>where
F: Unpin,
S: Unpin,
impl<F, S> UnwindSafe for WeightedScheduler<F, S>where
F: UnwindSafe,
S: UnwindSafe,
Blanket Implementations§
source§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
The Resulting
TupleList
, of an Prepend::prepend()
call,
including the prepended entry.source§fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.