mco_HA_keep_alive

This function is used by the master in order to send the "KEEP_ALIVE" signal to replicas.

For an overview see page HA Applications

Prototype

 
    MCO_RET	mco_HA_keep_alive (	mco_db_h db, 
                    timer_unit timeout)
 

Arguments

db Connection handle to master database
timeout The time window for the KEEP_ALIVE message

Description

This function is used by the master in order to send the KEEP_ALIVE signal to replicas. It is used by master applications that will be idle longer than the timeout value specified by the wait_data_timeout of the mco_connection_param_t structure in mco_HA_attach_master() call. (Please note that keep-alive and the mco_HA_attach_replica threads need to have their own separate database connections.)

Also note that in shared-memory applications, function mco_HA_keep_alive() works only with “primary” connections. This is because if the master database is a shared-memory database and several processes access it, only one process (called "primary") handles connections to replicas. So only the primary master process can call network-related functions, such as mco_HA_keep_alive(), mco_HA_attach_replica(), mco_HA_detach_replica() etc..

Return Codes

MCO_S_OK Successful.
MCO_E_HA_NOT_INITIALIZED The HA subsystem has not been initialized – the function mco_HA_start must be called first.
MCO_E_HA_TIMEOUT The specified timeout has been exceeded.
MCO_E_HA_IOERROR The master was unable to send the KEEP_ALIVE message to replicas.