mod data; mod grpc; use data::BrainData; use grpc::brain::brain_cli_service_server::BrainCliServiceServer; use grpc::brain::brain_daemon_service_server::BrainDaemonServiceServer; use grpc::BrainCliMock; use grpc::BrainDaemonMock; use std::sync::Arc; use tonic::transport::Server; #[tokio::main] async fn main() { env_logger::builder() .filter_level(log::LevelFilter::Debug) .init(); let data = Arc::new(BrainData::new()); let addr = "0.0.0.0:31337".parse().unwrap(); let daemon_server = BrainDaemonServiceServer::new(BrainDaemonMock::new(data.clone())); let cli_server = BrainCliServiceServer::new(BrainCliMock::new(data.clone())); Server::builder() .add_service(daemon_server) .add_service(cli_server) .serve(addr) .await .unwrap(); }