Control the operation of a HA-aware connection
Synopsis:
#include <ha/cover.h>
int ha_connection_ctrl( int coid,
int command,
void *args );
Description:
The ha_connection_ctrl() function can be used to control the
operation of the HA-aware conenction. Specifically it can
be used to control the recovery method, temporarily suspend
recovery and also control the number of times that will be attempted
both consecutively for a single failure, or across all
failures. Currently the following commands are defined:
- HA_RECOVERY_ACOUNT
- This sets the maximum number of times recovery is performed
for this connection. The value is specified by passing it via
args as an integer. A negative value implies that there is
no limit on the number of times recovery will be performed, and
this is the default state of the connection when it is made HA aware.
- HA_RECOVERY_ICOUNT
- This sets the maximum number of iterations, recovery is performed
for this connection, each time a connection is found to have
failed. This count is reset each time the connection is
successfully recovered. The value is specified by passing it
via args as an integer. A negative value implies that there is
no limit on the number of times recovery will be performed, and
this is the default state of the connection when it is made HA aware.
- HA_RECOVERY_SUSPEND
- Temporarily suspends any recovery on this connection. It will
behave like a normal connection.
- HA_RECOVERY_ENABLE
- Re-enables any recovery on this connection. All other
recovery options are unaffected. This just toggles the
recovery enabled/disabled bit.
- HA_RECOVERY_RESET_ICOUNT
- Resets the iteration count used by HA_RECOVERY_ICOUNT above. This
sets the internal count per iteration to zero.
- HA_RECOVERY_RESET_ACOUNT
- Resets the total count used by HA_RECOVERY_ACOUNT
above. This sets the internal count of recoveries to zero.
Returns:
- 0
- Success.
- -1
- An error occurred (errno is set).
Errors:
- EBADF
- No connection is specified by this coid, or connection is not
HA-aware.
- EINVAL
- Invalid command.
Classification:
QNX Neutrino
Safety: |
|
Cancellation point |
No |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |