mirror of
https://codeberg.org/icewind/taspromto.git
synced 2026-06-03 16:44:11 +02:00
fix unix listener
This commit is contained in:
parent
c3b5238a51
commit
81ec03a6ec
3 changed files with 40 additions and 10 deletions
25
src/main.rs
25
src/main.rs
|
|
@ -5,13 +5,13 @@ mod topic;
|
|||
|
||||
use crate::config::{Config, ListenConfig};
|
||||
use crate::device::{
|
||||
format_device_state, format_dsmr_state, format_mi_temp_state, format_rf_temp_state, Device,
|
||||
DeviceStates,
|
||||
Device, DeviceStates, format_device_state, format_dsmr_state, format_mi_temp_state,
|
||||
format_rf_temp_state,
|
||||
};
|
||||
use crate::mqtt::mqtt_stream;
|
||||
use crate::topic::Topic;
|
||||
use clap::Parser;
|
||||
use color_eyre::{eyre::WrapErr, Result};
|
||||
use color_eyre::{Result, eyre::WrapErr};
|
||||
|
||||
use pin_utils::pin_mut;
|
||||
use rumqttc::{AsyncClient, Publish, QoS};
|
||||
|
|
@ -20,9 +20,9 @@ use std::pin::Pin;
|
|||
use std::sync::{Arc, Mutex};
|
||||
use std::time::Instant;
|
||||
use tokio::net::UnixListener;
|
||||
use tokio::signal::ctrl_c;
|
||||
use tokio::task::spawn;
|
||||
use tokio::time::{sleep, Duration};
|
||||
use tokio_stream::wrappers::UnixListenerStream;
|
||||
use tokio::time::{Duration, sleep};
|
||||
use tokio_stream::{Stream, StreamExt};
|
||||
use warp::Filter;
|
||||
|
||||
|
|
@ -97,14 +97,23 @@ async fn serve(device_states: Arc<Mutex<DeviceStates>>, config: Config) {
|
|||
response
|
||||
});
|
||||
|
||||
let cancel = async { ctrl_c().await.unwrap() };
|
||||
match config.listen {
|
||||
ListenConfig::Ip { address, port } => {
|
||||
warp::serve(metrics).run((address, port)).await;
|
||||
warp::serve(metrics)
|
||||
.bind((address, port))
|
||||
.await
|
||||
.graceful(cancel)
|
||||
.run()
|
||||
.await;
|
||||
}
|
||||
ListenConfig::Unix { socket: path } => {
|
||||
let listener = UnixListener::bind(path).unwrap();
|
||||
let incoming = UnixListenerStream::new(listener);
|
||||
warp::serve(metrics).incoming(incoming);
|
||||
warp::serve(metrics)
|
||||
.incoming(listener)
|
||||
.graceful(cancel)
|
||||
.run()
|
||||
.await;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue