use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
#[derive(Clone)]
pub struct HealthState {
pub ready: Arc<AtomicBool>,
}
impl HealthState {
pub fn new() -> Self {
HealthState {
ready: Arc::new(AtomicBool::new(false)),
}
}
pub fn set_ready(&self, ready: bool) {
self.ready.store(ready, Ordering::Release);
}
pub fn is_ready(&self) -> bool {
self.ready.load(Ordering::Acquire)
}
}