class Manager
Defined at line 8638 of file fidling/gen/src/sys/fuzzing/fidl/fuchsia.fuzzer/hlcpp/fuchsia/fuzzer/cpp/fidl.h
Entry point for users, e.g. `ffx fuzz`, used to start and stop fuzzers. A
fuzzer will be started on the first call to `Connect` with a given URL.
Closing the given `Controller` channel does *not* stop the associated
fuzzer. Instead, since fuzzing is meant to be long-running, clients
may drop the connection and re-`Connect` some time later.
Public Members
static const char[] Name_
Public Methods
void ~Manager ()
void Connect (::std::string fuzzer_url, ::fidl::InterfaceRequest< ::fuchsia::fuzzer::Controller> controller, ConnectCallback callback)
Connects to a fuzzer that implements the `fuchsia.fuzzer/Controller`
protocol.
If the fuzzer is not currently running, the `fuzz_manager` will first
start it (via the test_manager) before proceeding. The `fuzz_manager`
sends the `controller` on to the fuzz-registry, which contains the
`ControllerProviders` that can fulfill the connection request.
See `fuchsia.test.manager/LaunchError` for details on ways
`test_manager` can fail.
+ request `fuzzer_url` the package URL for the fuzzer.
+ request `controller` the connection from the client.
* error one of the following:
* `ZX_ERR_NO_RESOURCES` if `test_manager` needs resources that are
unavailable.
* `ZX_ERR_NOT_FOUND` if the fuzzer URL is not recognized by
`test_manager`.
* `ZX_ERR_INVALID_ARGS` if `test_manager` reports invalid arguments.
* `ZX_ERR_NOT_SUPPORTED` if `test_manager` cannot connect to the
test suite.
* `ZX_ERR_INTERNAL` if `test_manager` encountered some other,
unspecified failure.
* `ZX_ERR_TIMED_OUT` if the fuzzer is not present or added to
fuzz-registry after starting.
* `ZX_ERR_SHOULD_WAIT` if another fuzzer is still starting.
void GetOutput (::std::string fuzzer_url, ::fuchsia::fuzzer::TestOutput output, ::zx::socket socket, GetOutputCallback callback)
Forwards the fuzzer's output of the given type to the provided socket.
If this method is called multiple times for the same output type, the
socket from the subsequent call replaces the socket from the earlier
call, which is closed.
+ request `fuzzer_url` the package URL for the fuzzer.
+ request `output` the type of the output stream to forward.
+ request `socket` a socket to forward the output stream to.
* error one of the following:
* `ZX_ERR_INVALID_ARGS` if the URL cannot be parsed.
* `ZX_ERR_NOT_FOUND` if the fuzzer URL was not recognized by
`test_manager`.
* `ZX_ERR_BAD_STATE` if the fuzzer is not connected.
void Stop (::std::string fuzzer_url, StopCallback callback)
Stops the associated fuzzer immediately, ending any workflows in
progress.
+ request `fuzzer_url` the package URL for the fuzzer.
* error `ZX_ERR_NOT_FOUND` if no fuzzer was active with the given URL.