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<___T, ___H> ClientProtocol<___T, ___H> for Resolverwhere
___T: Transport,
___H: ResolverClientHandler<___T>,
<Resolve as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
impl<___T, ___H> ClientProtocol<___T, ___H> for Resolverwhere
___T: Transport,
___H: ResolverClientHandler<___T>,
<Resolve as Method>::Response: Decode<<___T as Transport>::RecvBuffer>,
Source§impl Discoverable for Resolver
impl Discoverable for Resolver
Source§const PROTOCOL_NAME: &'static str = "resolver"
const PROTOCOL_NAME: &'static str = "resolver"
Source§impl<___T, ___H> ServerProtocol<___T, ___H> for Resolverwhere
___T: Transport,
___H: ResolverServerHandler<___T>,
WireResolverResolveRequest: Decode<<___T as Transport>::RecvBuffer>,
impl<___T, ___H> ServerProtocol<___T, ___H> for Resolverwhere
___T: Transport,
___H: ResolverServerHandler<___T>,
WireResolverResolveRequest: Decode<<___T as Transport>::RecvBuffer>,
Source§fn on_one_way(
handler: &mut ___H,
sender: &ServerSender<___T, Self>,
ordinal: u64,
buffer: ___T::RecvBuffer,
)
fn on_one_way( handler: &mut ___H, sender: &ServerSender<___T, Self>, ordinal: u64, buffer: ___T::RecvBuffer, )
Source§fn on_two_way(
handler: &mut ___H,
sender: &ServerSender<___T, Self>,
ordinal: u64,
buffer: ___T::RecvBuffer,
responder: Responder,
)
fn on_two_way( handler: &mut ___H, sender: &ServerSender<___T, Self>, ordinal: u64, buffer: ___T::RecvBuffer, responder: Responder, )
Source§impl TakeFrom<Resolver> for ResolverMarker
impl TakeFrom<Resolver> for ResolverMarker
Source§fn take_from(from: &Resolver) -> Self
fn take_from(from: &Resolver) -> Self
T
, taking any resources that can’t be cloned.§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
take_from
. Read more