#include <connect_monitor.hpp>
◆ connect_monitor()
◆ ~connect_monitor()
virtual acl::connect_monitor::~connect_monitor |
( |
| ) |
|
|
virtual |
◆ get_manager()
◆ nio_check()
虚函数,子类可以重载本函数用来进一步判断该连接是否是存活的,该回调 函数的运行空间为当前非阻塞检测线程的运行空间,因此在该回调函数中不 得有阻塞过程,否则将会阻塞整个非阻塞检测线程
- 参数
-
checker | {check_client&} 服务端连接的检查对象,可以通过 check_client 类中的方法如下: 1) get_conn 获得非阻塞连接句柄 2) get_addr 获得服务端地址 3) set_alive 设置连接是否存活 4) close 关闭连接 |
◆ on_connected()
virtual void acl::connect_monitor::on_connected |
( |
const check_client & |
, |
|
|
double |
cost |
|
) |
| |
|
inlinevirtual |
◆ on_open()
void acl::connect_monitor::on_open |
( |
check_client & |
checker | ) |
|
◆ on_refused()
virtual void acl::connect_monitor::on_refused |
( |
const char * |
addr, |
|
|
double |
cost |
|
) |
| |
|
inlinevirtual |
当连接服务器时被拒绝时的回调方法,子类可实现本方法
- 参数
-
addr | {const char*} 被检测的服务器地址,格式: ip:port |
cost | {double} 从发起连接请求到被断开的时间间隔(秒) |
在文件 connect_monitor.hpp 第 125 行定义.
◆ on_timeout()
virtual void acl::connect_monitor::on_timeout |
( |
const char * |
addr, |
|
|
double |
cost |
|
) |
| |
|
inlinevirtual |
当连接超时时的回调方法,子类可以实现本方法
- 参数
-
addr | {const char*} 被检测的服务器地址,格式: ip:port |
cost | {double} 从发起连接请求到超时的时间间隔(秒) |
在文件 connect_monitor.hpp 第 114 行定义.
◆ open_rpc_service()
connect_monitor& acl::connect_monitor::open_rpc_service |
( |
int |
max_threads, |
|
|
const char * |
addr = NULL |
|
) |
| |
◆ run()
virtual void* acl::connect_monitor::run |
( |
| ) |
|
|
protectedvirtual |
◆ set_check_inter()
设置检测定时器启动的时间间隔
- 参数
-
- 返回
- {connect_mointor&}
◆ set_conn_timeout()
◆ sio_check()
同步 IO 检测虚函数,该函数在线程池的某个子线程空间中运行,子类可以 重载本函数以检测实际应用的网络连接存活状态,可以在本函数内有阻塞 IO 过程
- 参数
-
◆ stop()
void acl::connect_monitor::stop |
( |
bool |
graceful | ) |
|
停止检测线程
- 参数
-
graceful | {bool} 是否文明地关闭检测过程,如果为 true 则会等所有的检测连接关闭后检测线程才返回;否则,则直接检测线程 直接返回,可能会造成一些正在检测的连接未被释放。正因如此,如果 连接池集群管理对象是进程内全局的,可以将此参数设为 false,如果 连接池集群管理对象在运行过程中需要被多次创建与释放,则应该设为 true |
该类的文档由以下文件生成: