acl  3.5.3.0
acl::http_request_pool类 参考

#include <http_request_pool.hpp>

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

Public 成员函数

 http_request_pool (const char *addr, size_t count, size_t idx=0)
 
 ~http_request_pool ()
 
void set_ssl (sslbase_conf *ssl_conf)
 
- Public 成员函数 继承自 acl::connect_pool
 connect_pool (const char *addr, size_t max, size_t idx=0)
 
virtual ~connect_pool ()
 
connect_poolset_timeout (int conn_timeout, int rw_timeout)
 
connect_poolset_retry_inter (int retry_inter)
 
connect_poolset_idle_ttl (time_t ttl)
 
connect_poolset_check_inter (int n)
 
connect_clientpeek (bool on=true)
 
void bind_one (connect_client *conn)
 
void put (connect_client *conn, bool keep=true)
 
int check_idle (time_t ttl, bool exclusive=true)
 
void set_alive (bool ok)
 
bool aliving ()
 
const char * get_addr () const
 
size_t get_max () const
 
size_t get_count () const
 
size_t get_idx () const
 
void reset_statistics (int inter)
 
unsigned long long get_total_used () const
 
unsigned long long get_current_used () const
 
void set_key (const char *key)
 
const char * get_key (void) const
 

Protected 成员函数

virtual connect_clientcreate_connect ()
 
- Protected 成员函数 继承自 acl::connect_pool
void set_delay_destroy ()
 
- Protected 成员函数 继承自 acl::acl::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

额外继承的成员函数

- Protected 属性 继承自 acl::connect_pool
bool alive_
 
bool delay_destroy_
 
int retry_inter_
 
time_t last_dead_
 
char key_ [256]
 
char addr_ [256]
 
int conn_timeout_
 
int rw_timeout_
 
size_t idx_
 
size_t max_
 
size_t count_
 
time_t idle_ttl_
 
time_t last_check_
 
int check_inter_
 
locker lock_
 
unsigned long long total_used_
 
unsigned long long current_used_
 
time_t last_
 
std::list< connect_client * > pool_
 

详细描述

http 客户端连接池类,该类父类为 connect_pool,该类只需实现父类中的虚函数 create_connect 便拥有了连接池父类 connect_pool 的功能;另外,该类创建 的连接对象是 http_reuqest 对象,所以在调用 connect_pool::peek 时返回 的便是 http_request 类,调用者需要将 peek 返回的类对象强制转为 http_request 类对象,便可以使用 http_request 类折所有功能,其中 http_reuqest 类为 connect_client 的子类

在文件 http_request_pool.hpp18 行定义.

构造及析构函数说明

◆ http_request_pool()

acl::http_request_pool::http_request_pool ( const char *  addr,
size_t  count,
size_t  idx = 0 
)

构造函数

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

◆ ~http_request_pool()

acl::http_request_pool::~http_request_pool ( )

成员函数说明

◆ create_connect()

virtual connect_client* acl::http_request_pool::create_connect ( )
protectedvirtual

实现了 acl::connect_pool.

◆ set_ssl()

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

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

参数
ssl_conf{sslbase_conf*}

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