Add first step of async-trait
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
use tonic::transport::Server;
|
||||
use tonic::{Request, Response, Status};
|
||||
use tonic::{Request, Response, Status, Server};
|
||||
|
||||
pub mod hello_world {
|
||||
include!(concat!(env!("OUT_DIR"), "/helloworld.rs"));
|
||||
tonic::server!(service = "helloworld.Greeter", proto = "self");
|
||||
}
|
||||
|
||||
#[derive(Default, Clone)]
|
||||
@@ -10,12 +10,9 @@ pub struct MyGreeter {
|
||||
data: String,
|
||||
}
|
||||
|
||||
#[tonic::server(service = "helloworld.Greeter", proto = "hello_world")]
|
||||
impl MyGreeter {
|
||||
pub async fn say_hello(
|
||||
&self,
|
||||
request: Request<hello_world::HelloRequest>,
|
||||
) -> Result<Response<hello_world::HelloReply>, Status> {
|
||||
#[tonic::server_trait]
|
||||
impl hello_world::Greeter for MyGreeter {
|
||||
async fn say_hello(self, request: Request<hello_world::HelloRequest>) -> Result<Response<hello_world::HelloReply>, Status> {
|
||||
println!("Got a request: {:?}", request);
|
||||
|
||||
let string = &self.data;
|
||||
@@ -35,7 +32,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let greeter = MyGreeter::default();
|
||||
|
||||
Server::builder()
|
||||
.serve(addr, GreeterServer::new(greeter))
|
||||
.serve(addr, hello_world::GreeterServer::new(greeter))
|
||||
.await?;
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user