pub enum ManagerRequest {
Connect {
fuzzer_url: String,
controller: ServerEnd<ControllerMarker>,
responder: ManagerConnectResponder,
},
GetOutput {
fuzzer_url: String,
output: TestOutput,
socket: Socket,
responder: ManagerGetOutputResponder,
},
Stop {
fuzzer_url: String,
responder: ManagerStopResponder,
},
}Expand description
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.
Variants§
Connect
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_urlthe package URL for the fuzzer. - request
controllerthe connection from the client.
- error one of the following:
ZX_ERR_NO_RESOURCESiftest_managerneeds resources that are unavailable.ZX_ERR_NOT_FOUNDif the fuzzer URL is not recognized bytest_manager.ZX_ERR_INVALID_ARGSiftest_managerreports invalid arguments.ZX_ERR_NOT_SUPPORTEDiftest_managercannot connect to the test suite.ZX_ERR_INTERNALiftest_managerencountered some other, unspecified failure.ZX_ERR_TIMED_OUTif the fuzzer is not present or added to fuzz-registry after starting.ZX_ERR_SHOULD_WAITif another fuzzer is still starting.
GetOutput
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_urlthe package URL for the fuzzer. - request
outputthe type of the output stream to forward. - request
socketa socket to forward the output stream to.
- error one of the following:
ZX_ERR_INVALID_ARGSif the URL cannot be parsed.ZX_ERR_NOT_FOUNDif the fuzzer URL was not recognized bytest_manager.ZX_ERR_BAD_STATEif the fuzzer is not connected.
Stop
Stops the associated fuzzer immediately, ending any workflows in progress.
- request
fuzzer_urlthe package URL for the fuzzer.
- error
ZX_ERR_NOT_FOUNDif no fuzzer was active with the given URL.
Implementations§
Source§impl ManagerRequest
impl ManagerRequest
pub fn into_connect( self, ) -> Option<(String, ServerEnd<ControllerMarker>, ManagerConnectResponder)>
pub fn into_get_output( self, ) -> Option<(String, TestOutput, Socket, ManagerGetOutputResponder)>
pub fn into_stop(self) -> Option<(String, ManagerStopResponder)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL