1#ifndef ALIVE_SUPERVISION_H
2#define ALIVE_SUPERVISION_H
7#include "./elementary_supervision.h"
23 const uint16_t mExpectedAliveIndicationsMin;
24 const uint16_t mExpectedAliveIndicationsMax;
25 const uint8_t mFailedReferenceCyclesTolerance;
27 uint8_t mAliveCounter;
28 std::atomic_bool mRunning;
29 std::atomic_uint16_t mAliveIndications;
30 std::future<void> mFuture;
32 void supervise(std::chrono::milliseconds aliveReferenceCycle);
43 uint16_t expectedAliveIndications,
46 std::chrono::milliseconds aliveReferenceCycle,
47 uint8_t failedReferenceCyclesTolerance);
Supervision method to check an entity aliveness periodically.
Definition: alive_supervision.h:19
void ReportAliveness() noexcept
Report the expected checkpoint.
Definition: alive_supervision.cpp:81
An abstract class the enables a supervision method to report its elementary supervion status.
Definition: elementary_supervision.h:26
TypeOfSupervision
Supervision algorithm type.
Definition: recovery_action.h:14