use crate::{
BtmCfg,
api::model::{Req, Resp, SERVER_US_ADDR},
};
use ruc::{uau::UauSock, *};
pub fn run_daemon(cfg: BtmCfg) -> Result<()> {
let s = UauSock::new(SERVER_US_ADDR, None).c(d!())?;
loop {
if let Ok((msg, peer)) = info!(s.recv_buf::<128>())
&& let Ok(r) = info!(serde_json::from_slice::<Req>(&msg))
{
let success = info!(cfg.snapshot(r.idx())).is_ok();
info_omit!(s.send(&Resp::new(r.idx(), success).to_bytes(), &peer));
}
}
}