acl  3.5.3.0
acl::db_pool类 参考

#include <db_pool.hpp>

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

Public 成员函数

 db_pool (const char *dbaddr, size_t count, size_t idx=0)
 
virtual ~db_pool ()
 
db_handlepeek_open ()
 
size_t get_dblimit () const
 
size_t get_dbcount () const
 
void set_idle (int ttl)
 
- 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 成员函数 继承自 acl::connect_pool
virtual connect_clientcreate_connect ()=0
 
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_
 

详细描述

在文件 db_pool.hpp14 行定义.

构造及析构函数说明

◆ db_pool()

acl::db_pool::db_pool ( const char *  dbaddr,
size_t  count,
size_t  idx = 0 
)

数据库构造函数

参数
dbaddr{const char*} 数据库地址
count{size_t} 连接池最大连接个数限制
idx{size_t} 该连接池对象在集合中的下标位置(从 0 开始)

◆ ~db_pool()

virtual acl::db_pool::~db_pool ( )
inlinevirtual

在文件 db_pool.hpp24 行定义.

24 {};

成员函数说明

◆ get_dbcount()

size_t acl::db_pool::get_dbcount ( ) const
inline

获得当前数据库连接池当前的连接数

返回
{size_t}

在文件 db_pool.hpp48 行定义.

49  {
50  return get_count();
51  }
size_t get_count() const

◆ get_dblimit()

size_t acl::db_pool::get_dblimit ( ) const
inline

获得当前数据库连接池的最大连接数限制

返回
{size_t}

在文件 db_pool.hpp39 行定义.

40  {
41  return get_max();
42  }
size_t get_max() const

◆ peek_open()

db_handle* acl::db_pool::peek_open ( )

从数据库连接池获得一个数据库对象,并且要求打开数据库连接,即用户不必 显式地再调用 db_handle::open 过程; 用完后必须调用 db_pool->put(db_handle*) 将连接归还至数据库连接池, 由该函数获得的连接句柄不能 delete,否则会造成连接池的内部计数器出错

返回
{db_handle*} 数据库连接对象,返回空表示出错

◆ set_idle()

void acl::db_pool::set_idle ( int  ttl)
inline

设置数据库连接池中空闲连接的生存周期(秒)

参数
ttl{int} 生存周期(秒)

在文件 db_pool.hpp57 行定义.

58  {
59  set_idle_ttl(ttl);
60  }
connect_pool & set_idle_ttl(time_t ttl)

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