| Crates.io | phi-accrual-failure-detector |
| lib.rs | phi-accrual-failure-detector |
| version | 0.1.0 |
| created_at | 2025-03-06 11:04:16.25002+00 |
| updated_at | 2025-03-06 11:04:16.25002+00 |
| description | Phi Accrual Failure Detector |
| homepage | https://github.com/heilhead/phi-accrual-failure-detector.git |
| repository | https://github.com/heilhead/phi-accrual-failure-detector.git |
| max_upload_size | |
| id | 1580964 |
| size | 42,258 |
A port of Apache Pekko implementation of Phi Accrual Failure Detector.
Adding dependency:
[dependencies]
phi-accrual-failure-detector = "0.1"
Example:
let detector = UnsyncDetector::default();
detector.heartbeat();
thread::sleep(Duration::from_millis(1000));
detector.heartbeat();
thread::sleep(Duration::from_millis(1000));
detector.heartbeat();
thread::sleep(Duration::from_millis(1000));
// The resource is available when receiving regular heartbeats.
println!("is available: {}", detector.is_available());
assert!(detector.is_available());
thread::sleep(Duration::from_millis(4000));
// The resource is no longer available, since it's missed a few heartbeats.
println!("is available: {}", detector.is_available());
assert!(!detector.is_available());