Expand description
An EventManager
manages all events that go to other instances of the fuzzer.
The messages are commonly information about new Testcases as well as stats and other Event
s.
Re-exports
pub use simple::*;
pub use centralized::*;
pub use launcher::*;
pub use llmp::*;
Modules
- A wrapper manager to implement a main-secondary architecture with point-to-point channels
- The
Launcher
launches multiple fuzzer instances in parallel. Thanks to it, we won’t need afor
loop in a shell script… - LLMP-backed event manager for scalable multi-processed fuzzing
EventManager
Python bindings- A very simple event manager, that just supports log outputs, but no multiprocessing
- TCP-backed event manager for scalable multi-processed fuzzing
Structs
- A per-fuzzer unique
ID
, usually starting with0
and increasing by1
in multiprocessedEventManager
s, such asself::llmp::LlmpEventManager
. - An eventmgr for tests, and as placeholder if you really don’t need an event manager.
- A signal handler for releasing
StateRestore
ShMem
This struct holds a pointer toStateRestore
and clean up theShMem
segment used by it.
Enums
- Indicate if an event worked or not
- The result of a custom buf handler added using
HasCustomBufHandlers::add_custom_buf_handler
- Events sent around in the library
- Distinguish a fuzzer by its config
- The log event severity
Statics
- Check if ctrl-c is sent with this struct
Traits
EventFirer
fire an event.EventManager
is the main communications hub. For the “normal” multi-processed mode, you may want to look intoLlmpRestartingEventManager
EventProcessor
process all the incoming messages- Restartable trait
- Supports custom buf handlers to handle
CustomBuf
events. - The id of this
EventManager
. For multi processedEventManager
s, each connected client should have a unique ids. ProgressReporter
report progress to the broker.