pub trait ProcessRequest<M, S = Bincode> {
    // Required methods
    fn request<Res, Req, F>(&self, f: F, req: Req) -> Res
       where F: Fn(MessageRequest<Req, Res, S>) -> M,
             S: Serializer<Res> + Serializer<M>;
    fn request_timeout<Res, Req, F>(
        &self,
        f: F,
        req: Req,
        timeout: Duration
    ) -> MailboxResult<Res>
       where F: Fn(MessageRequest<Req, Res, S>) -> M,
             S: Serializer<Res> + Serializer<M>;
}
Expand description

Trait for sending a message request directly on a lunatic process.

Required Methods§

source

fn request<Res, Req, F>(&self, f: F, req: Req) -> Reswhere F: Fn(MessageRequest<Req, Res, S>) -> M, S: Serializer<Res> + Serializer<M>,

Sends a message request and waits for a reponse.

source

fn request_timeout<Res, Req, F>( &self, f: F, req: Req, timeout: Duration ) -> MailboxResult<Res>where F: Fn(MessageRequest<Req, Res, S>) -> M, S: Serializer<Res> + Serializer<M>,

Sends a message request and waits for a reponse with a timeout.

Implementations on Foreign Types§

source§

impl<M, S, PS> ProcessRequest<M, S> for Process<M, PS>where PS: Serializer<M>,

source§

fn request<Res, Req, F>(&self, f: F, req: Req) -> Reswhere F: Fn(MessageRequest<Req, Res, S>) -> M, S: Serializer<Res> + Serializer<M>,

source§

fn request_timeout<Res, Req, F>( &self, f: F, req: Req, timeout: Duration ) -> MailboxResult<Res>where F: Fn(MessageRequest<Req, Res, S>) -> M, S: Serializer<Res> + Serializer<M>,

Implementors§