class CoverageDataProvider
Defined at line 8932 of file fidling/gen/src/sys/fuzzing/fidl/fuchsia.fuzzer/hlcpp/fuchsia/fuzzer/cpp/fidl.h
Provides the process Handles and VMOs used to share code coverage to the fuzzing engine.
This protocol is implemented by `test_manager`'s `fuzz_coverage` component. The fuzzing engine
acts as a client, although it does not connect directly. Instead the `fuzz_test_runner` makes
the connection and passes it off to fuzzing engine on process start. It allows the engine to
retrieve the coverage-related Handles published by instrumented target processes.
The channel is closed on FIDL error. Clients should exit and not attempt to reconnect.
Public Members
static const char[] Name_
Public Methods
void ~CoverageDataProvider ()
void SetOptions (::fuchsia::fuzzer::Options options)
Sets the options to be returned by `fuchsia.fuzzer.CoverageDataCollector/Initialize`.
void WatchCoverageData (WatchCoverageDataCallback callback)
Provides coverage data collected from multiple processes.
Returns a vector of `CoverageData` structs containing the information provided by clients of
`fuchsia.fuzzer.CoverageDataCollector`. This method uses the "hanging get" pattern: The
initial call will immediately return whatever data is available, up to `MAX_COVERAGE_DATA`.
If no fuzzed components have been started yet, this be an empty vector. If there are more
than `MAX_COVERAGE_DATA` elements available, the remainder are retained for subsequent
calls. If there is no more data available, subsequent calls will block until new coverage
data is available.
The channel is closed on FIDL error. Clients should exit and not attempt to reconnect.