后台状态检测
基本结构体:
typedef struct {
network_address *addr; //后台地址
backend_state_t state; /**< UP or DOWN */ //后台的状态
backend_type_t type; /**< ReadWrite or ReadOnly */ //后台的类型
GPtrArray *pools; //管理这个后台的所有连接,有event_thread_count个network_connection_pool
guint connected_clients; /**< number of open connections to this backend for SQF */ //连接到这个后台的用户数
GString *uuid; /**< the UUID of the backend */
guint weight; //后台的权重值,用于调节负载,权重越大,负载将越多
} network_backend_t;
后台状态:
typedef enum {
BACKEND_STATE_UNKNOWN,
BACKEND_STATE_UP,
BACKEND_STATE_DOWN,
BACKEND_STATE_OFFLINE
} backend_state_t;
后台创建时,并没有给状态赋值,因此此时所有后台状态都默认为BACKEND_STATE_UN