#include <tcp_ipc.hpp>
该类封装了 tcp_manager 管理类,可以动态添加目标服务端地址,同时动态创建与 每一个服务端的连接池
在文件 tcp_ipc.hpp 第 15 行定义.
◆ tcp_ipc()
acl::tcp_ipc::tcp_ipc |
( |
void |
| ) |
|
◆ ~tcp_ipc()
acl::tcp_ipc::~tcp_ipc |
( |
void |
| ) |
|
◆ add_addr()
tcp_ipc& acl::tcp_ipc::add_addr |
( |
const char * |
addr | ) |
|
可以调用本方法显示添加一个服务器地址,只有当地址不存在时才会添加
- 参数
-
addr | {const char*} 服务器地址,格式:IP:PORT |
- 返回
- {tcp_ipc&}
◆ addr_exist()
bool acl::tcp_ipc::addr_exist |
( |
const char * |
addr | ) |
|
检测指定的服务器地址是否成功
- 参数
-
addr | {const char*} 服务器地址,格式:IP:PORT |
- 返回
- {bool}
◆ broadcast()
size_t acl::tcp_ipc::broadcast |
( |
const void * |
data, |
|
|
unsigned int |
len, |
|
|
bool |
exclusive = true , |
|
|
bool |
check_result = false , |
|
|
unsigned * |
nerr = NULL |
|
) |
| |
向所有服务器发送数据包
- 参数
-
data | {const void*} 要发送的数据包地址 |
len | {unsigned int} 数据长度 |
exclusive | {bool} 发送广播包时,是否加线程锁以防止其它线程 竞争内部连接池资源 |
check_result | {bool} 是否读服务器响应以证明服务器收到了数据 |
nerr | {unsigned *} 非 NULL 时存放失败的服务器的个数 |
- 返回
- {size_t} 返回发送到的服务器的数量
◆ del_addr()
tcp_ipc& acl::tcp_ipc::del_addr |
( |
const char * |
addr | ) |
|
根据服务器地址删除指定的连接池对象,当连接池对象正在被引用时,该对象 不会被删除,而是采用延迟删除方式,当最后一个连接被归还后该连接池对象 才会被真正删除
- 参数
-
addr | {const char*} 服务器地址,格式:IP:PORT |
- 返回
- {tcp_ipc&}
◆ get_addrs()
void acl::tcp_ipc::get_addrs |
( |
std::vector< string > & |
addrs | ) |
|
获得当前所有的服务器地址集合
- 参数
-
addrs | {std::vector<string>&} 存储结果集 |
◆ get_manager()
◆ send()
bool acl::tcp_ipc::send |
( |
const char * |
addr, |
|
|
const void * |
data, |
|
|
unsigned int |
len, |
|
|
string * |
out = NULL |
|
) |
| |
向服务器发送指定长度的数据包
- 参数
-
addr | {const char*} 指定的目标服务器地址 |
data | {const void*} 要发送的数据包地址 |
len | {unsigned int} 数据长度 |
out | {string*} 当该对象非 NULL 时表明需要从服务器读取响应数据, 响应结果将被存放在该缓冲区中,如果该对象为 NULL,则表示无需读取 服务器的响应数据 |
- 返回
- {bool} 发送是否成功
◆ set_conn_timeout()
tcp_ipc& acl::tcp_ipc::set_conn_timeout |
( |
int |
conn_timeout | ) |
|
设置每个连接的网络连接超时时间
- 参数
-
conn_timeout | {int} 网络连接超时时间(秒) |
- 返回
- {tcp_ipc&}
◆ set_idle()
tcp_ipc& acl::tcp_ipc::set_idle |
( |
int |
ttl | ) |
|
设置连接池中每个连接了空闲时间,当连接空闲时间超过设置值时将被关闭
- 参数
-
- 返回
- {tcp_ipc&}
◆ set_limit()
tcp_ipc& acl::tcp_ipc::set_limit |
( |
int |
max | ) |
|
设置与每个服务器所建连接池的最大连接限制
- 参数
-
max | {int} 每个连接池的最大连接限制,当 <= 0 时则不限制连接数 |
- 返回
- {tcp_ipc&}
◆ set_rw_timeout()
tcp_ipc& acl::tcp_ipc::set_rw_timeout |
( |
int |
timeout | ) |
|
该类的文档由以下文件生成: