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

节点级数据包封装类。 More...

#include <node_pack.h>

Public Member Functions

 node_pack ()
 默认构造函数。
 node_pack (std::shared_ptr< pack > apack)
 从类型化pack构造。
 node_pack (std::shared_ptr< void > apack)
 从类型擦除pack构造。
const std::shared_ptr< pack > & get_pack () const
 获取类型化的pack引用。
const char * buff () const
 获取数据缓冲区指针。
int32_t pos () const
 获取数据位置(字节偏移)。
const std::shared_ptr< pack_head > & head () const
 获取pack头共享指针。
const char * head_data () const
 获取pack头数据指针。
int32_t head_byte () const
 获取pack头数据大小。

Detailed Description

节点级数据包封装类。

封装类型化或类型擦除的pack,用于跨节点消息传输。 支持两种构造方式:

  • 从类型化的std::shared_ptr<pack>构造
  • 从类型擦除的std::shared_ptr<void>构造
Note
内部缓存pack_head副本,避免重复拷贝。
线程安全:get_pack()使用mutable实现延迟类型转换。

Constructor & Destructor Documentation

◆ node_pack() [1/2]

ngl::node_pack::node_pack ( std::shared_ptr< pack > apack)
inlineexplicit

从类型化pack构造。

Parameters
apack类型化的pack共享指针

◆ node_pack() [2/2]

ngl::node_pack::node_pack ( std::shared_ptr< void > apack)
inlineexplicit

从类型擦除pack构造。

Parameters
apack类型擦除的pack共享指针

Member Function Documentation

◆ buff()

const char * ngl::node_pack::buff ( ) const
inline

获取数据缓冲区指针。

Returns
const char* 数据缓冲区指针

◆ get_pack()

const std::shared_ptr< pack > & ngl::node_pack::get_pack ( ) const
inline

获取类型化的pack引用。

如果内部存储的是类型擦除的pack,会自动进行类型转换。

Returns
const std::shared_ptr<pack>& 类型化的pack引用

◆ head()

const std::shared_ptr< pack_head > & ngl::node_pack::head ( ) const
inline

获取pack头共享指针。

Returns
const std::shared_ptr<pack_head>& pack头引用

◆ head_byte()

int32_t ngl::node_pack::head_byte ( ) const
inline

获取pack头数据大小。

Returns
int32_t pack头数据字节数

◆ head_data()

const char * ngl::node_pack::head_data ( ) const
inline

获取pack头数据指针。

Returns
const char* pack头数据指针

◆ pos()

int32_t ngl::node_pack::pos ( ) const
inline

获取数据位置(字节偏移)。

Returns
int32_t 数据位置

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