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 llmp::*;
pub use launcher::*;
Modules§
- Centralized event manager is a special event manager that will be used to achieve a more efficient message passing architecture.
- Hooks for event managers, especifically these are used to hook before and and
handle_in_client
. This will allow user to define pre/post-processing code when the event manager receives any message from other clients - 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
- 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
EventManager
type that wraps another manager, but captures amonitor
type as well. This is useful to keep the same API between managers with and without an internalmonitor
. - 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§
- Collected stats to decide if observers must be serialized or not
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.