pub struct RegistryProxy { /* private fields */ }
Implementations§
Source§impl RegistryProxy
impl RegistryProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.fuzzer/Registry.
Sourcepub fn take_event_stream(&self) -> RegistryEventStream
pub fn take_event_stream(&self) -> RegistryEventStream
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>,
timeout: i64,
) -> QueryResponseFut<RegistryConnectResult, DefaultFuchsiaResourceDialect>
pub fn connect( &self, fuzzer_url: &str, controller: ServerEnd<ControllerMarker>, timeout: i64, ) -> QueryResponseFut<RegistryConnectResult, DefaultFuchsiaResourceDialect>
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 aController
client. - request
tiemout
maximum duration to wait for a connection.
- error one of the following:
ZX_ERR_TIMED_OUT
if thetimeout
elapses without the provider becoming available.ZX_ERR_SHOULD_WAIT
if already waiting for a fuzzer to start.
Sourcepub fn disconnect(
&self,
fuzzer_url: &str,
) -> QueryResponseFut<RegistryDisconnectResult, DefaultFuchsiaResourceDialect>
pub fn disconnect( &self, fuzzer_url: &str, ) -> QueryResponseFut<RegistryDisconnectResult, DefaultFuchsiaResourceDialect>
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.
Trait Implementations§
Source§impl Clone for RegistryProxy
impl Clone for RegistryProxy
Source§fn clone(&self) -> RegistryProxy
fn clone(&self) -> RegistryProxy
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for RegistryProxy
impl Debug for RegistryProxy
Source§impl Proxy for RegistryProxy
impl Proxy for RegistryProxy
Source§type Protocol = RegistryMarker
type Protocol = RegistryMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
Source§impl RegistryProxyInterface for RegistryProxy
impl RegistryProxyInterface for RegistryProxy
type ConnectResponseFut = QueryResponseFut<Result<(), i32>>
type DisconnectResponseFut = QueryResponseFut<Result<(), i32>>
fn connect( &self, fuzzer_url: &str, controller: ServerEnd<ControllerMarker>, timeout: i64, ) -> Self::ConnectResponseFut
fn disconnect(&self, fuzzer_url: &str) -> Self::DisconnectResponseFut
Auto Trait Implementations§
impl Freeze for RegistryProxy
impl !RefUnwindSafe for RegistryProxy
impl Send for RegistryProxy
impl Sync for RegistryProxy
impl Unpin for RegistryProxy
impl !UnwindSafe for RegistryProxy
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
Mutably borrows from an owned value. Read more
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
Source§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.