Struct Realm

Source
pub struct Realm;
Expand description

The type corresponding to the Realm protocol. A protocol used by a component instance to manage its own realm, such as for binding to its children.

Requests to this protocol are processed in the order they are received. Clients that wish to send requests in parallel should open multiple connections.

The component framework provides this service to components that use fuchsia.component.Realm.

Trait Implementations§

Source§

impl ClientCompatFrom<RealmProxy> for Realm

Source§

fn client_compat_from(proxy: RealmProxy) -> Client<Self, Channel>

Converts proxy into a Client for this protocol.
Source§

impl CompatFrom<Realm> for RealmMarker

Source§

fn compat_from(_: Realm) -> Self

Converts value into a value of this type.
Source§

impl CompatFrom<RealmMarker> for Realm

Source§

fn compat_from(_: RealmMarker) -> Self

Converts value into a value of this type.
Source§

impl Debug for Realm

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Discoverable for Realm

Source§

const PROTOCOL_NAME: &'static str = "fuchsia.component.Realm"

The service name to use to connect to this discoverable protocol.
Source§

impl<___H, ___T> DispatchClientMessage<___H, ___T> for Realm
where ___H: RealmClientHandler<___T> + Send, ___T: Transport, <OpenController as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <OpenExposedDir as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <CreateChild as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <DestroyChild as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <ListChildren as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetResolvedInfo as Method>::Response: Decode<<___T as Transport>::RecvBuffer>, <GetChildOutputDictionary as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,

Source§

async fn on_event( handler: &mut ___H, sender: &ClientSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, )

Handles a received client event with the given handler.
Source§

impl<___H, ___T> DispatchServerMessage<___H, ___T> for Realm
where ___H: RealmServerHandler<___T> + Send, ___T: Transport, <OpenController as Method>::Request: Decode<<___T as Transport>::RecvBuffer>, <OpenExposedDir as Method>::Request: Decode<<___T as Transport>::RecvBuffer>, <CreateChild as Method>::Request: Decode<<___T as Transport>::RecvBuffer>, <DestroyChild as Method>::Request: Decode<<___T as Transport>::RecvBuffer>, <ListChildren as Method>::Request: Decode<<___T as Transport>::RecvBuffer>, <GetChildOutputDictionary as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,

Source§

async fn on_one_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, )

Handles a received server one-way message with the given handler.
Source§

async fn on_two_way( handler: &mut ___H, sender: &ServerSender<Self, ___T>, ordinal: u64, buffer: ___T::RecvBuffer, responder: Responder, )

Handles a received server two-way message with the given handler.
Source§

impl<___T> Protocol<___T> for Realm
where ___T: Transport,

Source§

type ClientSender = RealmClientSender<___T>

The client sender for the protocol. It must be a #[repr(transparent)] wrapper around ClientSender<T>.
Source§

type ServerSender = RealmServerSender<___T>

The server sender for the protocol. It must be a #[repr(transparent)] wrapper around ServerSender<T>.

Auto Trait Implementations§

§

impl Freeze for Realm

§

impl RefUnwindSafe for Realm

§

impl Send for Realm

§

impl Sync for Realm

§

impl Unpin for Realm

§

impl UnwindSafe for Realm

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
§

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

§

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
§

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

§

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.

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> 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>,

Source§

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>,

Source§

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<E> RunsTransport<Mpsc> for E

§

impl<E> RunsTransport<Mpsc> for E
where E: RunsTransport<Mpsc>,