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: &mut ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest>;
    fn config<___R>(
        &self,
        request: &mut ___R,
    ) -> Result<ResponseFuture<'_, Self::Transport, Config>, EncodeError>
       where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderConfigRequest>;
    fn clone<___R>(
        &self,
        request: &mut ___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: &mut ___R, ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest>,

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

Source

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

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: &mut ___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: &mut ___R, ) -> Result<ResponseFuture<'_, Self::Transport, LoadObject>, EncodeError>
where ___R: Encode<<Self::Transport as Transport>::SendBuffer, Encoded = WireLoaderLoadObjectRequest>,

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

Source§

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

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: &mut ___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§