[][src]Attribute Macro bincode_grpc::server

#[server]
struct GreeterServer;

#[server]
impl Greeter for GreeterServer {
    fn say_hello(&mut self, req: HelloRequest) -> HelloReply {
        HelloReply::default()
    }
}

The above code should generate

impl Greeter for GreeterServer {
    fn say_hello(&mut self, req: HelloRequest) -> HelloReply {
        HelloReply::default()
    }

    fn say_hello_grpc(&mut self, ctx: RpcContext<'_>, req: (HelloRequest,), sink: UnarySink<HelloReply>) {
        let mut resp = self.say_hello(req);
        let f = sink
            .success(resp)
            .map_err(move |e| error!("failed to reply {:?}: {:?}", req, e))
            .map(|_| ());
        ctx.spawn(f)
    }
}