pub struct ControllerSynchronousProxy { /* private fields */ }Implementations§
Source§impl ControllerSynchronousProxy
impl ControllerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<ControllerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<ControllerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn start(
&self,
args: StartChildArgs,
execution_controller: ServerEnd<ExecutionControllerMarker>,
___deadline: MonotonicInstant,
) -> Result<ControllerStartResult, Error>
pub fn start( &self, args: StartChildArgs, execution_controller: ServerEnd<ExecutionControllerMarker>, ___deadline: MonotonicInstant, ) -> Result<ControllerStartResult, Error>
Start the component, optionally providing additional handles to be given to the component. Returns INSTANCE_ALREADY_RUNNING if the instance is currently running.
Sourcepub fn is_started(
&self,
___deadline: MonotonicInstant,
) -> Result<ControllerIsStartedResult, Error>
pub fn is_started( &self, ___deadline: MonotonicInstant, ) -> Result<ControllerIsStartedResult, Error>
Returns true if this instance is currently running.
Sourcepub fn open_exposed_dir(
&self,
exposed_dir: ServerEnd<DirectoryMarker>,
___deadline: MonotonicInstant,
) -> Result<ControllerOpenExposedDirResult, Error>
pub fn open_exposed_dir( &self, exposed_dir: ServerEnd<DirectoryMarker>, ___deadline: MonotonicInstant, ) -> Result<ControllerOpenExposedDirResult, Error>
Opens the exposed directory of the controlled component, through which
capabilities the component exposed via ComponentDecl.exposes are
available, on success.
Binding to the exposed directory requires that the component be resolved, but it will not be started until/unless some capability is requested that requires it to be.
If this component is destroyed, any outstanding connections to
exposed_dir will be closed.
Errors:
INSTANCE_CANNOT_RESOLVE: This component failed to resolve.
Sourcepub fn get_exposed_dictionary(
&self,
___deadline: MonotonicInstant,
) -> Result<ControllerGetExposedDictionaryResult, Error>
pub fn get_exposed_dictionary( &self, ___deadline: MonotonicInstant, ) -> Result<ControllerGetExposedDictionaryResult, Error>
Returns the dictionary containing the component’s exposed capabilities.
Sourcepub fn destroy(
&self,
___deadline: MonotonicInstant,
) -> Result<ControllerDestroyResult, Error>
pub fn destroy( &self, ___deadline: MonotonicInstant, ) -> Result<ControllerDestroyResult, Error>
Destroys this component. When this method returns, the component is either destroyed or in the case of an error no destruction happened.
Errors:
ACCESS_DENIED: Destruction of this component is not allowed. Currently, this can happen if the component is a static child of its parent.INTERNAL: Something prevented destruction from succeeding – component manager’s logs will contain more detail.
Trait Implementations§
Source§impl Debug for ControllerSynchronousProxy
impl Debug for ControllerSynchronousProxy
Source§impl From<Channel> for ControllerSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for ControllerSynchronousProxy
Source§impl From<ControllerSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<ControllerSynchronousProxy> for NullableHandle
Source§fn from(value: ControllerSynchronousProxy) -> Self
fn from(value: ControllerSynchronousProxy) -> Self
Source§impl FromClient for ControllerSynchronousProxy
Available on Fuchsia only.
impl FromClient for ControllerSynchronousProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
Source§fn from_client(value: ClientEnd<ControllerMarker>) -> Self
fn from_client(value: ClientEnd<ControllerMarker>) -> Self
Source§impl SynchronousProxy for ControllerSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for ControllerSynchronousProxy
Source§type Proxy = ControllerProxy
type Proxy = ControllerProxy
Source§type Protocol = ControllerMarker
type Protocol = ControllerMarker
Proxy controls.