acl
3.5.3.0
http_request_pool.hpp
浏览该文件的文档.
1
#pragma once
2
#include "../acl_cpp_define.hpp"
3
#include "../connpool/connect_pool.hpp"
4
5
namespace
acl
6
{
7
8
class
sslbase_conf;
9
10
/**
11
* http 客户端连接池类,该类父类为 connect_pool,该类只需实现父类中的虚函数
12
* create_connect 便拥有了连接池父类 connect_pool 的功能;另外,该类创建
13
* 的连接对象是 http_reuqest 对象,所以在调用 connect_pool::peek 时返回
14
* 的便是 http_request 类,调用者需要将 peek 返回的类对象强制转为 http_request
15
* 类对象,便可以使用 http_request 类折所有功能,其中 http_reuqest 类为
16
* connect_client 的子类
17
*/
18
class
ACL_CPP_API
http_request_pool
:
public
connect_pool
19
{
20
public
:
21
/**
22
* 构造函数
23
* @param addr {const char*} 服务器监听地址,格式:ip:port(domain:port)
24
* @param count {size_t} 连接池最大连接个数限制,当该值为 0 时则没有限制
25
* @param idx {size_t} 该连接池对象在集合中的下标位置(从 0 开始)
26
*/
27
http_request_pool
(
const
char
* addr,
size_t
count,
size_t
idx = 0);
28
~
http_request_pool
();
29
30
/**
31
* 调用本函数设置 SSL 的客户端模式
32
* @param ssl_conf {sslbase_conf*}
33
*/
34
void
set_ssl(
sslbase_conf
* ssl_conf);
35
36
protected
:
37
// 基类纯虚函数,该函数返回后由基类设置该连接池的网络连接及网络 IO 超时时间
38
virtual
connect_client
* create_connect();
39
40
private
:
41
sslbase_conf
* ssl_conf_;
42
};
43
44
class
ACL_CPP_API
http_guard
:
public
connect_guard
45
{
46
public
:
47
http_guard
(
http_request_pool
& pool);
48
~
http_guard
(
void
);
49
};
50
51
}
// namespace acl
acl::connect_client
Definition:
connect_client.hpp:10
acl
Definition:
acl_cpp_init.hpp:4
acl::connect_guard
Definition:
connect_pool.hpp:219
acl::sslbase_conf
Definition:
sslbase_conf.hpp:10
acl::http_guard
Definition:
http_request_pool.hpp:44
acl::connect_pool
Definition:
connect_pool.hpp:19
acl::http_request_pool
Definition:
http_request_pool.hpp:18
ACL_CPP_API
#define ACL_CPP_API
Definition:
acl_cpp_define.hpp:16
include
acl_cpp
http
http_request_pool.hpp
生成于 2021年 九月 10日 星期五 11:14:44 , 为 acl使用
1.8.15