|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
数据库组件基类。 More...
#include <ndb_modular.h>
Public Member Functions | |
| virtual | ~ndb_component ()=default |
| 虚析构函数。 | |
| void | set (actor_base *aactor) |
| 将此组件附加到其宿主Actor并注册数据库生命周期回调。 | |
| actor_base * | get_actor () |
| 返回宿主Actor。 | |
| i64_actorid | get_actorid () const |
| 返回当前与此组件关联的Actor ID。 | |
| pbdb::ENUM_DB | type () const |
| 返回此组件服务的数据库枚举。 | |
| actor_base * | actorbase () |
| get_actor()的便捷别名。 | |
| void | set_actorid (i64_actorid aactorid) |
| 覆盖用作数据库查找键的Actor ID。 | |
| virtual void | related_actorid () |
| 默认Actor ID绑定:使用拥有者Actor的GUID。 | |
| void | init () |
| 完成Actor/dbclient绑定并将dbclient注册到actor_base。 | |
| void | create () |
| 为当前Actor ID创建初始数据库记录。 | |
| void | create (const nguid &aid) |
| 为指定Actor ID创建初始数据库记录。 | |
| ndbclient_base * | dbclientbase () |
| 返回原始dbclient指针。 | |
| virtual void | init_data () |
| 所有数据库表加载完成后的钩子。 | |
Protected Member Functions | |
| ndb_component (pbdb::ENUM_DB aenum) | |
| 构造函数,指定数据库类型。 | |
| void | set_dbclient (ndbclient_base *andbclient) |
| 绑定此组件使用的具体dbclient。 | |
| ndbclient_base * | get_dbclient () |
| 访问已绑定的dbclient,不改变所有权。 | |
数据库组件基类。
为Actor提供数据库持久化能力的基础组件。 管理数据库客户端的生命周期和Actor绑定。
设计特点:
|
explicitprotected |
构造函数,指定数据库类型。
构造数据库组件
| aenum | 数据库枚举类型 |
| aenum | 数据库表类型枚举 |
| actor_base * ngl::ndb_component::actorbase | ( | ) |
get_actor()的便捷别名。
| void ngl::ndb_component::create | ( | ) |
为当前Actor ID创建初始数据库记录。
使用当前绑定的Actor ID创建数据库记录
| void ngl::ndb_component::create | ( | const nguid & | aid | ) |
为指定Actor ID创建初始数据库记录。
| aid | Actor GUID |
| ndbclient_base * ngl::ndb_component::dbclientbase | ( | ) |
返回原始dbclient指针。
| actor_base * ngl::ndb_component::get_actor | ( | ) |
返回宿主Actor。
| i64_actorid ngl::ndb_component::get_actorid | ( | ) | const |
返回当前与此组件关联的Actor ID。
|
protected |
访问已绑定的dbclient,不改变所有权。
| void ngl::ndb_component::init | ( | ) |
完成Actor/dbclient绑定并将dbclient注册到actor_base。
初始化组件
关联Actor ID并将dbclient注册到Actor的数据库管理器中。
|
virtual |
所有数据库表加载完成后的钩子。
子类可以重写此方法,在数据库加载完成后执行初始化逻辑。
Reimplemented in ngl::ndb_modular< ENUM, TDATA, TACTOR >, ngl::ndb_modular< ENUMDB, T, TDerived >, and ngl::ndb_modular< TDBTAB_TYPE, TDBTAB, TACTOR >.
|
virtual |
默认Actor ID绑定:使用拥有者Actor的GUID。
| void ngl::ndb_component::set | ( | actor_base * | aactor | ) |
将此组件附加到其宿主Actor并注册数据库生命周期回调。
将组件绑定到Actor
| aactor | 宿主Actor指针 |
同时将自身注册为Actor的DB组件。
| aactor | 目标Actor指针 |
| void ngl::ndb_component::set_actorid | ( | i64_actorid | aactorid | ) |
覆盖用作数据库查找键的Actor ID。
| aactorid | 新的Actor ID |
|
protected |
绑定此组件使用的具体dbclient。
| andbclient | 数据库客户端指针 |
| pbdb::ENUM_DB ngl::ndb_component::type | ( | ) | const |
返回此组件服务的数据库枚举。