pub struct Resolver;
Expand description
The type corresponding to the Resolver protocol. An interface for resolving names to executables and library loaders.
An executable itself is often not sufficient to create a working process
because many executables also load shared libraries. On Fuchsia, there is no
global pool of shared libraries. Instead, every process has an associated
fuchsia.ldsvc.Loader
, which provides access to a private pool of shared
libraries appropriate for that process.
This interface provides a protocol for resolving a name into both the
zx.Handle:VMO
for the executable and the fuchsia.ldsvc.Loader
for its
associated shared libraries.
This interface is rarely used directly. Instead, fdio_spawn
and
fdio_spawn_etc
use this interface internally when they try to run a file
with a #!resolve
directive.
Trait Implementations§
Source§impl ClientCompatFrom<ResolverProxy> for Resolver
impl ClientCompatFrom<ResolverProxy> for Resolver
Source§fn client_compat_from(proxy: ResolverProxy) -> ClientDispatcher<Self, Channel>
fn client_compat_from(proxy: ResolverProxy) -> ClientDispatcher<Self, Channel>
proxy
into a Client
for this protocol.Source§impl CompatFrom<Resolver> for ResolverMarker
impl CompatFrom<Resolver> for ResolverMarker
Source§fn compat_from(_: Resolver) -> Self
fn compat_from(_: Resolver) -> Self
value
into a value of this type.Source§impl CompatFrom<ResolverMarker> for Resolver
impl CompatFrom<ResolverMarker> for Resolver
Source§fn compat_from(_: ResolverMarker) -> Self
fn compat_from(_: ResolverMarker) -> Self
value
into a value of this type.Source§impl Discoverable for Resolver
impl Discoverable for Resolver
Source§const PROTOCOL_NAME: &'static str = "fuchsia.process.Resolver"
const PROTOCOL_NAME: &'static str = "fuchsia.process.Resolver"
Source§impl<___H, ___T> DispatchClientMessage<___H, ___T> for Resolverwhere
___H: ResolverClientHandler<___T> + Send,
___T: Transport,
<Resolve as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> DispatchClientMessage<___H, ___T> for Resolverwhere
___H: ResolverClientHandler<___T> + Send,
___T: Transport,
<Resolve as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
Source§impl<___H, ___T> DispatchServerMessage<___H, ___T> for Resolverwhere
___H: ResolverServerHandler<___T> + Send,
___T: Transport,
<Resolve as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
impl<___H, ___T> DispatchServerMessage<___H, ___T> for Resolverwhere
___H: ResolverServerHandler<___T> + Send,
___T: Transport,
<Resolve as Method>::Request: Decode<<___T as Transport>::RecvBuffer>,
impl StructuralPartialEq for Resolver
Auto Trait Implementations§
impl Freeze for Resolver
impl RefUnwindSafe for Resolver
impl Send for Resolver
impl Sync for Resolver
impl Unpin for Resolver
impl UnwindSafe for Resolver
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, 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> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T
to [Self
]