mco_HA_attach_replica
有关概述,请参阅高可用性应用页面。
此函数由 master 应用程序(共享内存应用程序的主 master 进程)调用,以等待来自副本的连接请求。
mco_HA_attach_replica(
mco_db_h db,
char* masterport,
timer_unit timeout
);
收到连接请求后,它会设置通信通道并根据需要执行初始副本同步。通常,此函数在单独的线程中调用。
(请注意,线程需要有自己单独的数据库连接。mco_HA_keep_alive``mco_HA_attach_replica()
参数
db
数据库连接句柄
masterport
依赖于传输层的主节点地址。例如,TCP 和 UDP 的端口号(例如“10000”),或者管道的管道名称(例如“/tmp/test00”)。
timeout
连接超时时间。如果在此期间没有副本连接,该函数将返回 MCO_E_NW_TIMEOUT。
返回
MCO_S_OK
副本已成功连接
MCO_E_HA_PROTOCOLERR
协议不兼容
MCO_E_HA_IOERROR
主节点无法向/从副本节点发送或接收消息。
MCO_E_NW_KILLED_BY_REPLICA
该副本已完成初始同步,并已向主服务器发送了 KILL_MASTER 消息。(请参阅函数 mco_HA_replica_params_init() 标志 MCO_HAMODE_FORCE_MASTER)
MCO_E_NW_TIMEOUT
在指定的超时时间段内没有连接到副本。
其他 MCO_E_NW_* 代码
网络传输层的错误。