phi-accrual-failure-detector

Crates.iophi-accrual-failure-detector
lib.rsphi-accrual-failure-detector
version0.1.0
created_at2025-03-06 11:04:16.25002+00
updated_at2025-03-06 11:04:16.25002+00
descriptionPhi Accrual Failure Detector
homepagehttps://github.com/heilhead/phi-accrual-failure-detector.git
repositoryhttps://github.com/heilhead/phi-accrual-failure-detector.git
max_upload_size
id1580964
size42,258
Ivan Reshetnikov (heilhead)

documentation

README

Phi Accrual Failure Detector

A port of Apache Pekko implementation of Phi Accrual Failure Detector.

Usage

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());

License

Apache 2.0

Commit count: 0

cargo fmt