MCPcopy Create free account
hub / github.com/cosdata/cosdata / main

Function main

src/main.rs:30–54  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

28
29#[actix_web::main]
30async fn main() -> Result<(), Box<dyn std::error::Error>> {
31 let args = CosdataArgs::parse();
32 env_logger::init_from_env(env_logger::Env::default().default_filter_or("info"));
33 let config = config_loader::load_config()?;
34 // Create context
35 let context = Data::new(AppContext::new(config, args)?);
36
37 // Start gRPC server
38 #[cfg(feature = "grpc-server")]
39 let grpc_context = context.clone().into_inner();
40
41 #[cfg(feature = "grpc-server")]
42 actix_web::rt::spawn(async move {
43 const DEFAULT_GRPC_PORT: u16 = 50051;
44 if let Err(e) = grpc::server::start_grpc_server(grpc_context, DEFAULT_GRPC_PORT).await {
45 log::error!("gRPC server error: {}", e);
46 }
47 });
48
49 if let Err(e) = run_actix_server_with_context(context).await {
50 log::error!("HTTP server error: {}", e);
51 }
52
53 Ok(())
54}

Callers

nothing calls this directly

Calls 4

load_configFunction · 0.85
start_grpc_serverFunction · 0.85
cloneMethod · 0.80

Tested by

no test coverage detected