Trait ResolverClientSender

Source
pub trait ResolverClientSender {
    type Transport: Transport;

    // Required method
    fn resolve<___R>(
        &self,
        request: ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, Resolve>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireResolverResolveRequest>;
}
Expand description

A helper trait for the Resolver client sender.

Required Associated Types§

Source

type Transport: Transport

Required Methods§

Source

fn resolve<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, Resolve>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireResolverResolveRequest>,

Resolves the given name to an executable and an shared library loader.

If present, the executable is suitable for use as the executable property of LaunchInfo – in particular, it will have ZX_RIGHT_EXECUTE. If present, the ldsvc is suitable for use as the PA_LDSVC_LOADER handle when launching the process.

For example, the resolver might locate the given name inside a package and return the executable binary from the package as well as a shared library loader scoped to that package.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<___T> ResolverClientSender for ClientSender<___T, Resolver>
where ___T: Transport,

Source§

fn resolve<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, Resolve>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireResolverResolveRequest>,

Resolves the given name to an executable and an shared library loader.

If present, the executable is suitable for use as the executable property of LaunchInfo – in particular, it will have ZX_RIGHT_EXECUTE. If present, the ldsvc is suitable for use as the PA_LDSVC_LOADER handle when launching the process.

For example, the resolver might locate the given name inside a package and return the executable binary from the package as well as a shared library loader scoped to that package.

Source§

type Transport = ___T

Implementors§