pub struct LocalComponentHandles {
    pub outgoing_dir: ServerEnd<DirectoryMarker>,
    /* private fields */
}
Expand description

The handles from the framework over which the local component should interact with other components.

Fields§

§outgoing_dir: ServerEnd<DirectoryMarker>

The outgoing directory handle for a local component. This can be used to run a ServiceFs for the component.

Implementations§

source§

impl LocalComponentHandles

source

pub fn take_numbered_handle(&mut self, id: u32) -> Option<Handle>

source

pub fn numbered_handles(&self) -> &HashMap<u32, Handle>

source

pub async fn register_stop_notifier(&self) -> Receiver<()>

Registers a new stop notifier for this component. If this function is called, then realm builder will deliver a message on the returned oneshot when component manager asks for this component to stop. It is then this component’s responsibility to exit. If it takes too long to exit (the default is 5 seconds) then it will be killed.

If this function is not called, then the component is immediately killed when component manager asks for it to be stopped. Killing the component is performed by dropping the underlying future, effectively cancelling all pending work.

If this function is called more than once on a single local component, then it will panic.

source

pub fn connect_to_protocol<P: DiscoverableProtocolMarker>( &self, ) -> Result<P::Proxy, Error>

Connects to a FIDL protocol and returns a proxy to that protocol.

source

pub fn connect_to_named_protocol<P: ProtocolMarker>( &self, name: &str, ) -> Result<P::Proxy, Error>

Connects to a FIDL protocol with the given name and returns a proxy to that protocol.

source

pub fn open_service<S: ServiceMarker>(&self) -> Result<DirectoryProxy, Error>

Opens a FIDL service as a directory, which holds instances of the service.

source

pub fn open_named_service(&self, name: &str) -> Result<DirectoryProxy, Error>

Opens a FIDL service with the given name as a directory, which holds instances of the service.

source

pub fn connect_to_service<S: ServiceMarker>(&self) -> Result<S::Proxy, Error>

Connect to the “default” instance of a FIDL service in the /svc directory of the local component’s root namespace.

source

pub fn connect_to_service_instance<S: ServiceMarker>( &self, instance_name: &str, ) -> Result<S::Proxy, Error>

Connect to an instance of a FIDL service in the /svc directory of the local components’s root namespace. instance is a path of one or more components.

source

pub fn connect_to_named_service_instance<S: ServiceMarker>( &self, service_name: &str, instance_name: &str, ) -> Result<S::Proxy, Error>

Connect to an instance of a FIDL service with the given name in the /svc directory of the local components’s root namespace. instance is a path of one or more components.

source

pub fn clone_from_namespace( &self, directory_name: &str, ) -> Result<DirectoryProxy, Error>

Clones a directory from the local component’s namespace.

Note that this function only works on exact matches from the namespace. For example if the namespace had a data entry in it, and the caller wished to open the subdirectory at data/assets, then this function should be called with the argument data and the returned DirectoryProxy would then be used to open the subdirectory assets. In this scenario, passing data/assets in its entirety to this function would fail.

let data_dir = handles.clone_from_namespace("data")?;
let assets_dir = fuchsia_fs::directory::open_directory_async(&data_dir, "assets", ...)?;

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

source§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> IntoAny for T
where T: 'static + Send + Sync,

§

fn into_any(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Cast the given object into a dyn std::any::Any.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more