acl  3.5.3.0
acl::db_service类 参考abstract

#include <db_service.hpp>

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

Public 成员函数

 db_service (size_t dblimit=100, int nthread=2, bool win32_gui=false)
 
virtual ~db_service (void)
 
void sql_select (const char *sql, db_query *query)
 
void sql_update (const char *sql, db_query *query)
 
void push_back (db_handle *db)
 
- Public 成员函数 继承自 acl::ipc_service
 ipc_service (int nthread, bool ipc_keep=true)
 
virtual ~ipc_service ()
 
ipc_clientpeek_conn ()
 
void push_conn (ipc_client *conn)
 
- Public 成员函数 继承自 acl::ipc_server
 ipc_server ()
 
virtual ~ipc_server ()
 
bool open (aio_handle *handle, const char *addr="127.0.0.1:0")
 
const char * get_addr () const
 
aio_listen_streamget_stream () const
 
aio_handleget_handle () const
 

Protected 成员函数

virtual db_handledb_create ()=0
 
virtual void on_accept (aio_socket_stream *client)
 
- Protected 成员函数 继承自 acl::ipc_service
void request (ipc_request *req)
 
- Protected 成员函数 继承自 acl::ipc_server
virtual void on_open (const char *addr)
 
virtual void on_close ()
 

额外继承的成员函数

- Protected 属性 继承自 acl::ipc_service
long long int magic_
 

详细描述

数据库服务类,该类是一个异步数据库操作管理类,该类对象所在的线程必须是 一个非阻塞的线程过程

在文件 db_service.hpp51 行定义.

构造及析构函数说明

◆ db_service()

acl::db_service::db_service ( size_t  dblimit = 100,
int  nthread = 2,
bool  win32_gui = false 
)

当为 sqlite 数据库时的构造函数

参数
dblimit{size_t} 数据库连接池的个数限制
nthread{int} 子线程池的最大线程数
win32_gui{bool} 是否是窗口类的消息,如果是,则内部的 通讯模式自动设置为基于 _WIN32 的消息,否则依然采用通用的套接 口通讯方式

◆ ~db_service()

virtual acl::db_service::~db_service ( void  )
virtual

成员函数说明

◆ db_create()

virtual db_handle* acl::db_service::db_create ( )
protectedpure virtual

需要子类实现此函数用来创建数据库对象

返回
{db_handle*}

◆ on_accept()

virtual void acl::db_service::on_accept ( aio_socket_stream client)
protectedvirtual

基类虚函数,当有新连接到达时基类回调此函数

参数
client{aio_socket_stream*} 接收到的新的客户端连接

重载 acl::ipc_server .

◆ push_back()

void acl::db_service::push_back ( db_handle db)

向数据库连接池中添加连接对象

参数
db{db_handle*} 数据库连接对象

◆ sql_select()

void acl::db_service::sql_select ( const char *  sql,
db_query query 
)

异步执行 SQL 查询语句

参数
sql{const char*} 要执行的标准 SQL 语句
query{db_query*} 用来接收执行结果的类对象

◆ sql_update()

void acl::db_service::sql_update ( const char *  sql,
db_query query 
)

异步执行 SQL 更新语句

参数
sql{const char*} 要执行的标准 SQL 语句
query{db_query*} 用来接收执行结果的类对象

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