mco_cluster_discover
有关概述,请参阅集群应用页面。
此函数获取有关正在运行的集群的信息。请注意,在调用 mco_cluster_db_open() 之前无需调用此函数。此函数与 mco_cluster_get_active_nodes() 类似,不同之处在于 mco_cluster_discover() 可以在任何网络节点上调用(不一定是当前正在运行集群的节点),并返回包含集群节点及其 IP 地址和 ID 的列表。
MCO_RET mco_cluster_discover(
/*IN*/ const char * conn_string,
/*IN*/ timer_unit timeout,
/*OUT*/ mco_cluster_node_info_t *nodes_info,
/*IN/OUT*/ uint2 *n_nodes_info
)
参数
conn_string
集群中某个节点的地址(对于 TCP 传输 - 标准格式为 <主机名/IP>:<端口>)
timeout
连接到节点并从其获取信息的超时时间
nodes_info
节点信息数组(地址、节点 ID 和 Qrank)
n_nodes_info
nodes_info 数组的大小。在输入时,它指定分配的数组大小,在输出时 - 实际填充的元素数量
返回
MCO_S_OK
信息获取成功,n_nodes_info 包含 nodes_info 数组的实际大小
MCO_E_NW_INVADDR
conn_string 不包含有效地址
MCO_E_NW_TIMEOUT
在获取信息之前超时
MCO_E_NW_SOCKIOCTL
ioctl() 系统调用出错
MCO_E_NW_SOCKOPT
setsockopt() 系统调用出错
MCO_E_NW_SELECT
select() 系统调用出错
MCO_E_NW_CONNECT
connect() 系统调用出错
MCO_E_NW_SENDERR
send() 系统调用出错
MCO_E_NW_RECVERR
recv() 系统调用出错
文件
- 头文件:mcocluster.h
- 源文件:mcocluster.c
- 库:libmcocluster.a