acl  3.5.3.0
acl::http_request_manager类 参考

#include <http_request_manager.hpp>

+ 类 acl::http_request_manager 继承关系图:
+ acl::http_request_manager 的协作图:

Public 成员函数

 http_request_manager ()
 
virtual ~http_request_manager ()
 
void set_ssl (sslbase_conf *ssl_conf)
 
- Public 成员函数 继承自 acl::connect_manager
 connect_manager (void)
 
virtual ~connect_manager (void)
 
void bind_thread (bool yes)
 
void init (const char *default_addr, const char *addr_list, size_t count, int conn_timeout=30, int rw_timeout=30)
 
void set (const char *addr, size_t count, int conn_timeout=30, int rw_timeout=30)
 
const conn_configget_config (const char *addr, bool use_first=false)
 
void set_retry_inter (int n)
 
void set_idle_ttl (time_t ttl)
 
void set_check_inter (int n)
 
void remove (const char *addr)
 
connect_poolget (const char *addr, bool exclusive=true, bool restore=false)
 
virtual connect_poolpeek (void)
 
virtual connect_poolpeek (const char *key, bool exclusive=true)
 
void lock (void)
 
void unlock (void)
 
std::vector< connect_pool * > & get_pools (void)
 
size_t check_idle (size_t step, size_t *left=NULL)
 
size_t size (void) const
 
connect_poolget_default_pool (void)
 
void statistics (void)
 
bool start_monitor (connect_monitor *monitor)
 
connect_monitorstop_monitor (bool graceful=true)
 
void set_pools_status (const char *addr, bool alive)
 

Protected 成员函数

connect_poolcreate_pool (const char *addr, size_t count, size_t idx)
 
- Protected 成员函数 继承自 acl::connect_manager
void set_service_list (const char *addr_list, int count, int conn_timeout, int rw_timeout)
 
conns_poolsget_pools_by_id (unsigned long id)
 
connect_poolcreate_pool (const conn_config &cf, size_t idx)
 
void create_pools_for (pools_t &pools)
 
void remove (pools_t &pools, const char *addr)
 
void set_status (pools_t &pools, const char *addr, bool alive)
 
unsigned long get_id (void) const
 
void get_key (const char *addr, string &key)
 
void get_addr (const char *key, string &addr)
 
connect_pooladd_pool (const char *addr)
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

额外继承的成员函数

- Protected 类型 继承自 acl::connect_manager
typedef std::vector< connect_pool * > pools_t
 
typedef pools_t::iterator pools_it
 
typedef pools_t::const_iterator pools_cit
 
typedef std::map< unsigned long, conns_pools * > manager_t
 
typedef manager_t::iterator manager_it
 
typedef manager_t::const_iterator manager_cit
 
- 静态 Protected 成员函数 继承自 acl::connect_manager
static void thread_oninit (void)
 
static void thread_onexit (void *ctx)
 
- Protected 属性 继承自 acl::connect_manager
bool thread_binding_
 
string default_addr_
 
connect_pooldefault_pool_
 
std::map< string, conn_configaddrs_
 
manager_t manager_
 
locker lock_
 
int stat_inter_
 
int retry_inter_
 
time_t idle_ttl_
 
int check_inter_
 
connect_monitormonitor_
 

详细描述

HTTP 客户端请求连接池管理类

在文件 http_request_manager.hpp13 行定义.

构造及析构函数说明

◆ http_request_manager()

acl::http_request_manager::http_request_manager ( )

◆ ~http_request_manager()

virtual acl::http_request_manager::~http_request_manager ( )
virtual

成员函数说明

◆ create_pool()

connect_pool* acl::http_request_manager::create_pool ( const char *  addr,
size_t  count,
size_t  idx 
)
protectedvirtual

基类纯虚函数,用来创建连接池对象,该函数返回后由基类设置连接池的 网络连接及网络 IO 的超时时间

参数
addr{const char*} 服务器监听地址,格式:ip:port
count{size_t} 连接池的大小限制,当该值为 0 时则没有限制
idx{size_t} 该连接池对象在集合中的下标位置(从 0 开始)
返回
{connect_pool*} 返回创建的连接池对象

实现了 acl::connect_manager.

◆ set_ssl()

void acl::http_request_manager::set_ssl ( sslbase_conf ssl_conf)

调用本函数设置 SSL 的客户端模式

参数
ssl_conf{sslbase_conf*}

该类的文档由以下文件生成: