Struct puffin::put_registry::PutRegistry
source · pub struct PutRegistry<PB> {
factories: HashMap<String, Box<dyn Factory<PB>>>,
default_put: String,
}
Expand description
Registry for Factories. An instance of this is usually defined statically and then used throughout the fuzzer.
Fields§
§factories: HashMap<String, Box<dyn Factory<PB>>>
§default_put: String
Implementations§
source§impl<PB: ProtocolBehavior> PutRegistry<PB>
impl<PB: ProtocolBehavior> PutRegistry<PB>
pub fn new<SI, I, S>(puts: I, default: S) -> Selfwhere
SI: Into<String>,
I: IntoIterator<Item = (SI, Box<dyn Factory<PB>>)>,
S: Into<String>,
pub fn default(&self) -> &dyn Factory<PB>
pub fn puts(&self) -> impl Iterator<Item = (&str, &dyn Factory<PB>)>
pub fn find_by_id<S: AsRef<str>>(&self, id: S) -> Option<&dyn Factory<PB>>
sourcepub fn determinism_set_reseed_all_factories(&self)
pub fn determinism_set_reseed_all_factories(&self)
To be called at the beginning of all fuzzing campaigns!
pub fn determinism_reseed_all_factories(&self)
Trait Implementations§
source§impl<PB: ProtocolBehavior> Clone for PutRegistry<PB>
impl<PB: ProtocolBehavior> Clone for PutRegistry<PB>
source§impl<PB: ProtocolBehavior> Debug for PutRegistry<PB>
impl<PB: ProtocolBehavior> Debug for PutRegistry<PB>
source§impl<PB: ProtocolBehavior> PartialEq<PutRegistry<PB>> for PutRegistry<PB>
impl<PB: ProtocolBehavior> PartialEq<PutRegistry<PB>> for PutRegistry<PB>
Auto Trait Implementations§
impl<PB> !RefUnwindSafe for PutRegistry<PB>
impl<PB> !Send for PutRegistry<PB>
impl<PB> !Sync for PutRegistry<PB>
impl<PB> Unpin for PutRegistry<PB>
impl<PB> !UnwindSafe for PutRegistry<PB>
Blanket Implementations§
§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.