ha_connection_ctrl()

Управлять HA-совместимым соединением

Прототип:

#include <ha/cover.h>
int ha_connection_ctrl( int coid,
int command,
void *args );

Аргументы:

coid
Идентификатор соединения.
command
Команда:
HA_RECOVERY_ACOUNT
Устанавливает максимальное количество попыток восстановления соединения. Значение указывается в args в виде целого числа. Отрицательное значение означает, что количество операций восстановления не ограничено, и это состояние соединения по умолчанию, когда оно становится HA-совместимым.
HA_RECOVERY_ICOUNT
Устанавливает максимальное количество попыток восстановления соединения каждый раз, когда обнаруживается, что соединение прервалось. Этот счетчик сбрасывается каждый раз, когда соединение успешно восстанавливается. Значение указывается в args в виде целого числа. Отрицательное значение означает, что количество операций восстановления не ограничено, и это состояние соединения по умолчанию, когда оно становится HA-совместимым.
HA_RECOVERY_SUSPEND
Временно приостанавливает любое восстановление соединения. Соединение будет работать как обычное соединение, не HA-совместимое.
HA_RECOVERY_ENABLE
Повторно включает любое восстановление соединения. Все остальные варианты восстановления не затрагиваются. Переключается бит «восстановление включено/отключено».
HA_RECOVERY_RESET_ICOUNT
Сбрасывает счетчик итераций HA_RECOVERY_ICOUNT. Обнуляет внутренний счетчик на итерацию.
HA_RECOVERY_RESET_ACOUNT
Сбрасывает HA_RECOVERY_ACOUNT. Обнуляет внутренний счетчик восстановлений.
args
Аргументы для команды args. Тип и возможное значение аргумента определяются параметром command.

Библиотека:

libha

Описание:

Функцию ha_connection_ctrl() можно использовать для управления работой HA-совместимого соединения. В частности, ее можно использовать для управления методом восстановления, временной приостановки восстановления, а также для управления количеством попыток, которые будут предприниматься как последовательно для одного сбоя, так и для всех сбоев.

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

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Отсутствует соединение coid, или соединение не является HA-совместимым.
EINVAL
Некорректный параметр command.

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

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

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

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

ha_attach(), ha_detach(), ha_open(), ha_reopen(), ha_ConnectAttach(), ha_ConnectDetach()




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