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

描述订阅者关心哪些行,以及对这些行是只读还是读写。 More...

#include <nsp.h>

Public Member Functions

void init (bool aread)
 以只读或读写方式订阅所有行。
void init (const std::set< i64_actorid > &aids)
 以只读方式订阅特定行集合。
void init (const std::set< i64_actorid > &areadids, const std::set< i64_actorid > &awriteids)
 以显式行集合订阅只读/读写。
void init (bool aread, const std::set< i64_actorid > &awriteids)
 订阅所有行用于读取,但仅订阅部分行用于写入。
void init (const nsp_care &acore)
 从已有的线格式描述符复制。
bool is_care (i64_actorid adataid) const
 返回订阅者是否应接收此行。
bool is_write (i64_actorid adataid) const
 返回订阅者是否可以写入此行。
bool is_readall () const
 返回读取是否覆盖所有行。
std::set< i64_actorid > & readids ()
 返回显式读取集合。
std::set< i64_actorid > & writeids ()
 返回显式写入集合。
const nsp_careget_core () const
 暴露底层线格式描述符。

Detailed Description

描述订阅者关心哪些行,以及对这些行是只读还是读写。

用于NSP订阅机制,控制Actor对数据行的订阅范围和读写权限。

Member Function Documentation

◆ get_core()

const nsp_care & ngl::care_data::get_core ( ) const

暴露底层线格式描述符。

Returns
nsp_care常量引用

◆ init() [1/5]

void ngl::care_data::init ( bool aread)

以只读或读写方式订阅所有行。

初始化全量关注模式

Parameters
areadtrue表示只读,false表示读写
aread是否为只读订阅

◆ init() [2/5]

void ngl::care_data::init ( bool aread,
const std::set< i64_actorid > & awriteids )

订阅所有行用于读取,但仅订阅部分行用于写入。

Parameters
aread是否读取所有行
awriteids读写行ID集合

◆ init() [3/5]

void ngl::care_data::init ( const nsp_care & acore)

从已有的线格式描述符复制。

Parameters
acore源nsp_care描述符

◆ init() [4/5]

void ngl::care_data::init ( const std::set< i64_actorid > & aids)

以只读方式订阅特定行集合。

初始化指定ID的只读关注模式

Parameters
aids关心的行ID集合
aids关注的Actor ID集合

◆ init() [5/5]

void ngl::care_data::init ( const std::set< i64_actorid > & areadids,
const std::set< i64_actorid > & awriteids )

以显式行集合订阅只读/读写。

Parameters
areadids只读行ID集合
awriteids读写行ID集合

◆ is_care()

bool ngl::care_data::is_care ( i64_actorid adataid) const

返回订阅者是否应接收此行。

检查是否关注指定Actor的数据

Parameters
adataid行数据ID
Returns
bool 是否关心此行
Parameters
adataidActor数据ID
Return values
true关注该数据
false不关注

◆ is_readall()

bool ngl::care_data::is_readall ( ) const

返回读取是否覆盖所有行。

Returns
bool 是否读取所有行

◆ is_write()

bool ngl::care_data::is_write ( i64_actorid adataid) const

返回订阅者是否可以写入此行。

检查是否可读指定Actor的数据

Parameters
adataid行数据ID
Returns
bool 是否可写
Parameters
adataidActor数据ID
Return values
true可读
false不可读

◆ readids()

std::set< i64_actorid > & ngl::care_data::readids ( )

返回显式读取集合。

Returns
读取行ID集合引用

◆ writeids()

std::set< i64_actorid > & ngl::care_data::writeids ( )

返回显式写入集合。

Returns
写入行ID集合引用

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