pub struct ManagerProxy { /* private fields */ }
Implementations§
Source§impl ManagerProxy
impl ManagerProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.fuzzer/Manager.
Sourcepub fn take_event_stream(&self) -> ManagerEventStream
pub fn take_event_stream(&self) -> ManagerEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn connect(
&self,
fuzzer_url: &str,
controller: ServerEnd<ControllerMarker>,
) -> QueryResponseFut<ManagerConnectResult, DefaultFuchsiaResourceDialect>
pub fn connect( &self, fuzzer_url: &str, controller: ServerEnd<ControllerMarker>, ) -> QueryResponseFut<ManagerConnectResult, DefaultFuchsiaResourceDialect>
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
iftest_manager
needs resources that are unavailable.ZX_ERR_NOT_FOUND
if the fuzzer URL is not recognized bytest_manager
.ZX_ERR_INVALID_ARGS
iftest_manager
reports invalid arguments.ZX_ERR_NOT_SUPPORTED
iftest_manager
cannot connect to the test suite.ZX_ERR_INTERNAL
iftest_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.
Sourcepub fn get_output(
&self,
fuzzer_url: &str,
output: TestOutput,
socket: Socket,
) -> QueryResponseFut<ManagerGetOutputResult, DefaultFuchsiaResourceDialect>
pub fn get_output( &self, fuzzer_url: &str, output: TestOutput, socket: Socket, ) -> QueryResponseFut<ManagerGetOutputResult, DefaultFuchsiaResourceDialect>
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 bytest_manager
.ZX_ERR_BAD_STATE
if the fuzzer is not connected.
Sourcepub fn stop(
&self,
fuzzer_url: &str,
) -> QueryResponseFut<ManagerStopResult, DefaultFuchsiaResourceDialect>
pub fn stop( &self, fuzzer_url: &str, ) -> QueryResponseFut<ManagerStopResult, DefaultFuchsiaResourceDialect>
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.
Trait Implementations§
Source§impl Clone for ManagerProxy
impl Clone for ManagerProxy
Source§fn clone(&self) -> ManagerProxy
fn clone(&self) -> ManagerProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ManagerProxy
impl Debug for ManagerProxy
Source§impl ManagerProxyInterface for ManagerProxy
impl ManagerProxyInterface for ManagerProxy
type ConnectResponseFut = QueryResponseFut<Result<(), i32>>
type GetOutputResponseFut = QueryResponseFut<Result<(), i32>>
type StopResponseFut = QueryResponseFut<Result<(), i32>>
fn connect( &self, fuzzer_url: &str, controller: ServerEnd<ControllerMarker>, ) -> Self::ConnectResponseFut
fn get_output( &self, fuzzer_url: &str, output: TestOutput, socket: Socket, ) -> Self::GetOutputResponseFut
fn stop(&self, fuzzer_url: &str) -> Self::StopResponseFut
Source§impl Proxy for ManagerProxy
impl Proxy for ManagerProxy
Source§type Protocol = ManagerMarker
type Protocol = ManagerMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Auto Trait Implementations§
impl Freeze for ManagerProxy
impl !RefUnwindSafe for ManagerProxy
impl Send for ManagerProxy
impl Sync for ManagerProxy
impl Unpin for ManagerProxy
impl !UnwindSafe for ManagerProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)