30 lines
929 B
Rust
30 lines
929 B
Rust
use std::net::SocketAddr;
|
|
|
|
use tonic::transport::Server;
|
|
use tonic_web::GrpcWebLayer;
|
|
|
|
use crate::protocol::game_service_server::GameServiceServer;
|
|
use crate::protocol::general_service_server::GeneralServiceServer;
|
|
use crate::services::game_service::GameServiceImpl;
|
|
use crate::services::general_service::GeneralServiceImpl;
|
|
|
|
pub(crate) struct GrpcServer;
|
|
|
|
impl GrpcServer {
|
|
pub(crate) async fn init() {
|
|
let addr = SocketAddr::new([127, 0, 0, 1].into(), 12345);
|
|
|
|
let general_service = GeneralServiceServer::new(GeneralServiceImpl);
|
|
let game_service = GameServiceServer::new(GameServiceImpl);
|
|
|
|
Server::builder()
|
|
.accept_http1(true)
|
|
.layer(GrpcWebLayer::new())
|
|
.add_service(general_service)
|
|
.add_service(game_service)
|
|
.serve(addr)
|
|
.await
|
|
.unwrap_or_else(|e| log::error!("Failed to build server: {e}"));
|
|
}
|
|
}
|