Skip to main content

LoaderLocalServerHandler

Trait LoaderLocalServerHandler 

Source
pub trait LoaderLocalServerHandler<___T: Transport = Channel> {
    // Required methods
    fn done(&mut self) -> impl Future<Output = ()>;
    fn load_object(
        &mut self,
        request: Request<LoadObject, ___T>,
        responder: Responder<LoadObject, ___T>,
    ) -> impl Future<Output = ()>;
    fn config(
        &mut self,
        request: Request<Config, ___T>,
        responder: Responder<Config, ___T>,
    ) -> impl Future<Output = ()>;
    fn clone(
        &mut self,
        request: Request<Clone, ___T>,
        responder: Responder<Clone, ___T>,
    ) -> impl Future<Output = ()>;
}
Expand description

A server handler for the Loader protocol.

See Loader for more details.

Required Methods§

Source

fn done(&mut self) -> impl Future<Output = ()>

Cleanly shutdown the connection to the Loader service.

Source

fn load_object( &mut self, request: Request<LoadObject, ___T>, responder: Responder<LoadObject, ___T>, ) -> impl Future<Output = ()>

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

Source

fn config( &mut self, request: Request<Config, ___T>, responder: Responder<Config, ___T>, ) -> impl Future<Output = ()>

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( &mut self, request: Request<Clone, ___T>, responder: Responder<Clone, ___T>, ) -> impl Future<Output = ()>

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<___H, ___T> LoaderLocalServerHandler<___T> for Local<___H>
where ___H: LoaderServerHandler<___T>, ___T: Transport,

Source§

async fn done(&mut self)

Source§

async fn load_object( &mut self, request: Request<LoadObject, ___T>, responder: Responder<LoadObject, ___T>, )

Source§

async fn config( &mut self, request: Request<Config, ___T>, responder: Responder<Config, ___T>, )

Source§

async fn clone( &mut self, request: Request<Clone, ___T>, responder: Responder<Clone, ___T>, )

Implementors§