|
ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
|
具体的数据库客户端实现,绑定单个数据库表。 More...
#include <ndbclient.h>
Public Member Functions | |
| void | load () final |
| 延迟实际的数据库请求,直到actor_client确认数据库节点已连接。 | |
| bool | create (const nguid &aid) final |
| 创建新的数据记录。 | |
| void | set_actor (actor_base *aactor) |
| 将此dbclient绑定到其拥有者Actor和管理器。 | |
| std::map< nguid, data_modified< TDBTAB > > & | get_data () |
| 返回完整的已加载数据集。 | |
| const std::map< nguid, data_modified< TDBTAB > > & | get_data () const |
| std::map< nguid, data_modified< TDBTAB > > & | get_foreach_data () |
| data_modified< TDBTAB > * | get_data (const nguid &aid) |
| 获取或惰性创建指定GUID的行包装器。 | |
| data_modified< TDBTAB > * | get_dbdata () |
| 当此dbclient指向单个Actor时返回主行。 | |
| void | init (nmanage_dbclient *amdb, actor_base *aactor, const nguid &aid) final |
| 初始化数据库客户端。 | |
| bool | isload () final |
| 检查数据是否已加载完成。 | |
| void | savedb () final |
| 将修改保存到数据库。 | |
| void | savedb (const nguid &aid) |
| void | clear () |
| void | del (const nguid &aid, bool ascript=false) |
| void | del (std::vector< int64_t > &adelvec, bool ascript=false) |
| void | deldb () final |
| 从数据库删除数据。 | |
| void | nscript_push_data () final |
| 将数据库数据推送到脚本运行时。 | |
| bool | loadfinish (const std::map< nguid, TDBTAB > &adata, enum_dbstat astat, bool aloadfinish) |
| bool | handle (const message< np_actordb_load_response< DBTYPE, TDBTAB > > &adata) |
| void | clear_modified () final |
| 清除所有修改标记。 | |
| Public Member Functions inherited from ngl::ndbclient_base | |
| pbdb::ENUM_DB | type () const |
| 获取数据库类型。 | |
Additional Inherited Members | |
| Protected Member Functions inherited from ngl::ndbclient_base | |
| ndbclient_base (pbdb::ENUM_DB atype) | |
具体的数据库客户端实现,绑定单个数据库表。
该模板类实现了数据库客户端的具体功能,包括:
模板参数:
使用示例:
|
inlinefinalvirtual |
清除所有修改标记。
Implements ngl::ndbclient_base.
|
inlinefinalvirtual |
|
inlinefinalvirtual |
从数据库删除数据。
先序列化,以便actor_client可以转发现成的网络包。
数据库Actor请求通过正常的Actor路由路径运行。
Implements ngl::ndbclient_base.
|
inlinefinalvirtual |
初始化数据库客户端。
| amdb | 数据库管理器指针 |
| aactor | 拥有此客户端的Actor指针 |
| aid | 目标ID |
每个具体的Actor/dbclient对仅注册一次数据库加载响应处理器。
Implements ngl::ndbclient_base.
|
inlinefinalvirtual |
|
inlinefinalvirtual |
延迟实际的数据库请求,直到actor_client确认数据库节点已连接。
Implements ngl::ndbclient_base.
|
inlinefinalvirtual |
将数据库数据推送到脚本运行时。
Implements ngl::ndbclient_base.
|
inlinefinalvirtual |
|
inline |
此行已复制到此保存批次中,现在可以清除其脏位。
此批次消费了当前的已修改ID快照。