use std::path::Path;
use microsandbox_protocol::heartbeat::Heartbeat;
use crate::error::AgentdResult;
const HEARTBEAT_PATH: &str = "/.msb/heartbeat.json";
const HEARTBEAT_TMP_PATH: &str = "/.msb/heartbeat.tmp";
pub async fn write_heartbeat(heartbeat: &Heartbeat) -> AgentdResult<()> {
let json = serde_json::to_vec(&heartbeat)?;
tokio::fs::write(HEARTBEAT_TMP_PATH, json).await?;
tokio::fs::rename(HEARTBEAT_TMP_PATH, HEARTBEAT_PATH).await?;
Ok(())
}
pub fn heartbeat_dir_exists() -> bool {
Path::new(microsandbox_protocol::RUNTIME_MOUNT_POINT).is_dir()
}