#include "Heartbeat.h" Heartbeat::Heartbeat(time_t secs) : last_beat_time(time(NULL)) , min_secs_per_beat(secs) { } Heartbeat::~Heartbeat() { } bool Heartbeat::OK_to_beat() { const time_t cur_time = time(NULL); const time_t time_since_last_beat = cur_time - last_beat_time; // Are due for a beat? if( time_since_last_beat >= min_secs_per_beat ) { // Time elapsed is greater or equal to the minimum beat period. // Assume the client will perform a beat // so record the beat time last_beat_time = time(NULL); return true; } else { // Keep waiting. return false; } }