Trait LoaderClientSender

Source
pub trait LoaderClientSender {
    type Transport: Transport;

    // Required methods
    fn done(&self) -> Result<SendFuture<'_, Self::Transport>, EncodeError>;
    fn load_object<___R>(
        &self,
        request: ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest<'static>>;
    fn config<___R>(
        &self,
        request: ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, Config>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderConfigRequest<'static>>;
    fn clone<___R>(
        &self,
        request: ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, Clone>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderCloneRequest>;
}
Expand description

A helper trait for the Loader client sender.

Required Associated Types§

Source

type Transport: Transport

Required Methods§

Source

fn done(&self) -> Result<SendFuture<'_, Self::Transport>, EncodeError>

Cleanly shutdown the connection to the Loader service.

Source

fn load_object<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest<'static>>,

The dynamic linker sends object_name and gets back a VMO handle containing the file.

Source

fn config<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, Config>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderConfigRequest<'static>>,

The dynamic linker sends a config identifying its load configuration. This is intended to affect how later LoadObject requests decide what particular implementation file to supply for a given name.

Source

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

Obtain a new loader service connection.

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> LoaderClientSender for ClientSender<___T, Loader>
where ___T: Transport,

Source§

fn done(&self) -> Result<SendFuture<'_, Self::Transport>, EncodeError>

Cleanly shutdown the connection to the Loader service.

Source§

fn load_object<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest<'static>>,

The dynamic linker sends object_name and gets back a VMO handle containing the file.

Source§

fn config<___R>( &self, request: ___R, ) -> Result<ResponseFuture<'_, Self::Transport, Config>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderConfigRequest<'static>>,

The dynamic linker sends a config identifying its load configuration. This is intended to affect how later LoadObject requests decide what particular implementation file to supply for a given name.

Source§

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

Obtain a new loader service connection.

Source§

type Transport = ___T

Implementors§