Files
music-agregator/src/main.rs
T
2026-07-01 21:16:40 +02:00

45 lines
1.1 KiB
Rust

use generated::hello::{
FILE_DESCRIPTOR_SET, HelloReply, HelloRequest,
greeter_server::{Greeter, GreeterServer},
};
mod generated {
pub mod hello {
include!("generated/hello/hello.rs");
}
}
#[derive(Debug, Default)]
struct GreeterService;
#[tonic::async_trait]
impl Greeter for GreeterService {
async fn say_hello(
&self,
request: tonic::Request<HelloRequest>,
) -> Result<tonic::Response<HelloReply>, tonic::Status> {
let name = request.into_inner().name;
let reply = HelloReply {
message: format!("Hello, {}!", name),
};
Ok(tonic::Response::new(reply))
}
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let addr = "[::1]:50051".parse()?;
let reflection = tonic_reflection::server::Builder::configure()
.register_encoded_file_descriptor_set(FILE_DESCRIPTOR_SET)
.build_v1()?;
tonic::transport::Server::builder()
.add_service(reflection)
.add_service(GreeterServer::new(GreeterService::default()))
.serve(addr)
.await?;
return Ok(());
}