ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::nmysql_pool Class Reference

Public Member Functions

bool init (const xarg_db &adbarg)
 初始化连接池,创建指定数量的MySQL连接。
std::shared_ptr< nmysqlget (int32_t aindex)
 按索引获取一个MySQL连接实例。

Static Public Member Functions

static nmysql_pool & instance ()

Member Function Documentation

◆ get()

std::shared_ptr< nmysql > ngl::nmysql_pool::get ( int32_t aindex)

按索引获取一个MySQL连接实例。

从连接池获取MySQL连接

Parameters
aindex连接索引。有效值为0~池大小-1,用于获取普通连接。索引为-1时,获取用于后台释放任务的专用连接(该连接由信号量保护,一次仅一个线程可使用)。
Returns
std::shared_ptr<nmysql> 连接智能指针,索引越界返回nullptr

索引-1使用信号量保护的释放连接(单实例互斥), 其他索引直接返回对应槽位的连接。

Parameters
aindex线程索引,-1表示获取释放连接
Returns
nmysql智能指针,索引无效时返回nullptr

◆ init()

bool ngl::nmysql_pool::init ( const xarg_db & adbarg)

初始化连接池,创建指定数量的MySQL连接。

初始化MySQL连接池

Parameters
adbarg数据库连接参数
Returns
true 初始化成功
false 初始化失败(任一连接创建失败)

根据tab_servers配置的线程数创建等量的nmysql实例, 并额外创建一个释放连接用于后台任务。

Parameters
adbarg数据库连接参数
Return values
true初始化成功
false重复初始化或任何连接失败

The documentation for this class was generated from the following files: