class Registry

Defined at line 9137 of file fidling/gen/src/sys/fuzzing/fidl/fuchsia.fuzzer/hlcpp/fuchsia/fuzzer/cpp/fidl.h

Entry point for the `fuzz_manager`. It uses this protocol to wait for fuzz

tests started within the test runner framework to register a

`ControllerProvider`, and to stop those fuzzers upon request.

Public Members

static const char[] Name_

Public Methods

void ~Registry ()
void Connect (::std::string fuzzer_url, ::fidl::InterfaceRequest< ::fuchsia::fuzzer::Controller> controller, int64_t timeout, ConnectCallback callback)

Connects the `Controller` to a registered fuzzer.

Uses a `ControllerProvider` that has been `Register`ed with the given

URL to connect. If the associated provider is not available, it assumes

it is starting and blocks until the fuzzer calls `Registrar.Register`,

or the given `timeout` elapses. At most one call to `Connect` will block

in this manner at a time.

+ request `fuzzer_url` the package URL for the fuzzer.

+ request `provider` the connection to a `Controller` client.

+ request `tiemout` maximum duration to wait for a connection.

* error one of the following:

* `ZX_ERR_TIMED_OUT` if the `timeout` elapses without the provider

becoming available.

* `ZX_ERR_SHOULD_WAIT` if already waiting for a fuzzer to start.

void Disconnect (::std::string fuzzer_url, DisconnectCallback callback)

Removes the provider associated with the given URL from the registry and

closes its channel. The associated fuzzer should exit upon channel

closure.

+ request `fuzzer_url` the package URL for the fuzzer.

* error `ZX_ERR_NOT_FOUND` if no such provider exists in the registry.