cargo updates

This commit is contained in:
Robin Appelman 2026-03-27 21:52:44 +01:00
commit ef24512c03
3 changed files with 388 additions and 862 deletions

View file

@ -1,8 +1,9 @@
mod config;
use crate::config::{Config, ListenConfig};
use btleplug::api::{Central, Manager as _};
use btleplug::platform::Manager;
use tracing::info;
use clap::Parser;
use main_error::MainError;
use mitemp::{listen, BDAddr, Sensor};
use std::collections::{BTreeMap, HashMap};
@ -10,13 +11,12 @@ use std::fmt::Write;
use std::fs::set_permissions;
use std::os::unix::fs::PermissionsExt;
use std::sync::{Arc, Mutex};
use tokio::net::UnixListener;
use tokio::signal::ctrl_c;
use tokio::{pin, spawn};
use tokio_stream::StreamExt;
use tracing::info;
use warp::Filter;
use clap::Parser;
use tokio::net::UnixListener;
use tokio_stream::wrappers::UnixListenerStream;
use crate::config::{Config, ListenConfig};
type Cache = Arc<Mutex<HashMap<BDAddr, Sensor>>>;
@ -75,13 +75,21 @@ async fn main() -> Result<(), MainError> {
match config.listen {
ListenConfig::Ip { address, port } => {
warp::serve(metrics).run((address, port)).await;
warp::serve(metrics)
.bind((address, port))
.await
.graceful(async { ctrl_c().await.unwrap() })
.run()
.await;
}
ListenConfig::Unix { socket: path } => {
let listener = UnixListener::bind(&path)?;
set_permissions(&path, PermissionsExt::from_mode(0o666))?;
let incoming = UnixListenerStream::new(listener);
warp::serve(metrics).run_incoming(incoming).await;
warp::serve(metrics)
.incoming(listener)
.graceful(async { ctrl_c().await.unwrap() })
.run()
.await;
}
}