ham_heartbeat()

Отправить контрольный сигнал в HAM

Прототип:

#include <ha/ham.h>
int ham_heartbeat( void );

Библиотека:

libham

Описание:

Самостоятельно присоединяемые объекты, которые обязались отправлять контрольные сигналы через заданные интервалы, должны вызывать ham_heartbeat(), когда они хотят передать контрольный сигнал.

Функция ham_heartbeat() ничего не делает, если клиент не является самостоятельно присоединяемым объектом или не обязался отправлять контрольные сигналы.

Возвращаемое значение:

Данная функция всегда завершается успешно.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Предостережения:

Хоть эта функция и всегда завершается успешно, HAM не всегда сразу получает контрольный сигнал.

Например, если клиент обязуется отправлять контрольный сигнал каждые 5 секунд (с 5-, 10-, 15-секундными интервалами и т. д.), однако вместо этого передает контрольный сигнал на 2-секундной отметке, то HAM не получит контрольный сигнал до 5-секундной отметки.

В другом сценарии, если клиент отправляет один контрольный сигнал на 7-секундной отметке, а другой — на 8-секундной отметке, то HAM получит только один контрольный сигнал на 10-секундной отметке.

Тематические ссылки:

ham_attach_self(), ham_detach_self()




Предыдущий раздел: Менеджер высокой готовности (HAM)