21 template<
class MsgT,
unsigned MissedHbs,
unsigned HbInterval>
22 template<
class ClientCxn,
class MakeHB>
27 make_hb_msg(
std::move(make_hb)),
30 heartbeat_sender_thr.kernel_affinity(
31 typename thread_t::thread_traits::api_params_type::processor_mask_type(thread_traits::heartbeat_thread.core)
36 template<
class MsgT,
unsigned MissedHbs,
unsigned HbInterval>
42 template<
class MsgT,
unsigned MissedHbs,
unsigned HbInterval>
48 template<
class MsgT,
unsigned MissedHbs,
unsigned HbInterval>
51 std::ostringstream os;
53 <<
"max missed heartbeats="<<max_missed_heartbeats
54 <<
", heartbeat interval="<<heartbeat_interval.count()<<
" sec"
55 <<
", heartbeat core="<<thread_traits::heartbeat_thread
56 <<
", heartbeat processing-error: '"<<hb_proc_ex<<
"'";
60 template<
class MsgT,
unsigned MissedHbs,
unsigned HbInterval>
61 template<
class ClientCxn>
65 const hb_t hb{make_hb_msg()};
66 while (
LIKELY(!
static_cast<
bool>(exit_))) {
67 std::this_thread::sleep_for(heartbeat_interval);
68 if (
LIKELY(!
static_cast<
bool>(exit_))) {
73 if (!
static_cast<
bool>(exit_)) {
74 hb_proc_ex=boost::current_exception();