ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::data_modified< TDBTAB > Struct Template Reference

数据行包装器,支持脏数据跟踪和脚本协调。 More...

#include <ndbclient.h>

Public Member Functions

void init (nmodified< TDBTAB > *amodified)
void check_init () const
TDBTAB & data_ref () noexcept
 存在外部行时使用外部行,否则回退到自有行。
const TDBTAB & data_ref () const noexcept
TDBTAB & data_mut () const noexcept
i64_actorid identifier () const
bool is_modified ()
void modified () const
 将此行标记为已修改。
void clear_modified () const
 清除此行的修改位。
void set (actor_base *aactor, const TDBTAB &adata, bool achange=false)
TDBTAB * get (bool achange=true, bool anscript=true)
 可变访问路径,可先将待处理的脚本编辑拉取到C++行中。
const TDBTAB * getconst (bool anscript=true) const

Detailed Description

template<typename TDBTAB>
struct ngl::data_modified< TDBTAB >

数据行包装器,支持脏数据跟踪和脚本协调。

该结构体包装了数据库表中的一行数据,提供了以下功能:

  • 脏数据跟踪:标记数据是否被修改
  • 脚本协调:与脚本运行时同步数据状态
  • 外部存储支持:可以使用外部存储或自有存储
  • 线程安全的数据访问

使用场景:

  • 内存中缓存数据库行
  • 跟踪数据修改状态
  • 与脚本运行时同步数据
  • 支持延迟加载和增量更新

Member Function Documentation

◆ get()

template<typename TDBTAB>
TDBTAB * ngl::data_modified< TDBTAB >::get ( bool achange = true,
bool anscript = true )
inline

可变访问路径,可先将待处理的脚本编辑拉取到C++行中。

脚本运行时可能在下次数据库刷新前修改或删除行。

◆ getconst()

template<typename TDBTAB>
const TDBTAB * ngl::data_modified< TDBTAB >::getconst ( bool anscript = true) const
inline

常量访问仍会协调脚本端编辑,确保读取者看到最新状态。


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