Управлять 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)