38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
use tonic::transport::Server;
|
|||
|
|
use tracing_subscriber::{fmt, EnvFilter};
|
||
|
|
use tracing_subscriber::fmt::format::FmtSpan;
|
||
|
|
use tracing_subscriber::layer::SubscriberExt;
|
||
|
|
use tracing_subscriber::util::SubscriberInitExt;
|
||
|
|
use gl_inference::proto::ontology_server::OntologyServer;
|
||
|
|
use crate::service::OntologyService;
|
||
|
|
|
||
|
|
mod service;
|
||
|
|
mod logic;
|
||
|
|
mod error;
|
||
|
|
|
||
|
|
#[tokio::main]
|
||
|
|
async fn main() -> color_eyre::Result<()> {
|
||
|
|
let appender = tracing_appender::rolling::never("/tmp", "inference");
|
||
|
|
tracing_subscriber::registry()
|
||
|
|
.with(
|
||
|
|
fmt::layer()
|
||
|
|
.with_span_events(FmtSpan::CLOSE)
|
||
|
|
.with_writer(appender),
|
||
|
|
)
|
||
|
|
.with(EnvFilter::from_default_env())
|
||
|
|
.init();
|
||
|
|
color_eyre::install()?;
|
||
|
|
|
||
|
|
let ontology_service = OntologyService::new();
|
||
|
|
let server = OntologyServer::new(ontology_service);
|
||
|
|
|
||
|
|
let addr = String::from("[::1]:3000");
|
||
|
|
println!("Inference engine listening on: {addr}");
|
||
|
|
|
||
|
|
Server::builder()
|
||
|
|
.add_service(server)
|
||
|
|
.serve(addr.parse().unwrap())
|
||
|
|
.await?;
|
||
|
|
|
||
|
|
Ok(())
|
||
|
|
}
|