forked from ghe0/brain-mock
43 lines
1.2 KiB
Rust
43 lines
1.2 KiB
Rust
mod data;
|
|
mod grpc;
|
|
|
|
use data::BrainData;
|
|
use grpc::snp_proto::brain_cli_server::BrainCliServer;
|
|
use grpc::snp_proto::brain_daemon_server::BrainDaemonServer;
|
|
use grpc::BrainCliMock;
|
|
use grpc::BrainDaemonMock;
|
|
use grpc::BrainSgxCliMock;
|
|
use std::sync::Arc;
|
|
use tonic::transport::Server;
|
|
|
|
use detee_shared::pb::daemon::brain_sgx_cli_server::BrainSgxCliServer;
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
env_logger::builder()
|
|
.filter_level(log::LevelFilter::Debug)
|
|
.init();
|
|
let data = Arc::new(BrainData::new());
|
|
let data_clone = data.clone();
|
|
tokio::spawn(async move {
|
|
loop {
|
|
tokio::time::sleep(tokio::time::Duration::from_secs(60)).await;
|
|
data_clone.contracts_cron();
|
|
}
|
|
});
|
|
let addr = "0.0.0.0:31337".parse().unwrap();
|
|
|
|
let daemon_server = BrainDaemonServer::new(BrainDaemonMock::new(data.clone()));
|
|
let cli_server = BrainCliServer::new(BrainCliMock::new(data.clone()));
|
|
|
|
let sgx_cli_server = BrainSgxCliServer::new(BrainSgxCliMock::new(data.clone()));
|
|
|
|
Server::builder()
|
|
.add_service(daemon_server)
|
|
.add_service(cli_server)
|
|
.add_service(sgx_cli_server)
|
|
.serve(addr)
|
|
.await
|
|
.unwrap();
|
|
}
|