ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::structbytes< T > Class Template Reference

协议结构体与字节转换工具类。 More...

#include <structbytes.h>

Static Public Member Functions

static bool tostruct (std::shared_ptr< pack > &apack, T &adata, bool aissetpos=false)
 从数据包反序列化到结构体。
template<typename Y>
static bool tobytes (std::shared_ptr< pack > &apack, const Y &adata, i64_actorid aactorid, i64_actorid arequestactorid, bool ahead)
 从结构体序列化到数据包。

Detailed Description

template<typename T>
class ngl::structbytes< T >

协议结构体与字节转换工具类。

Template Parameters
T协议结构体类型

提供了协议结构体与二进制数据包之间的转换功能。 支持可选的XOR加密和头部序列化。

Member Function Documentation

◆ tobytes()

template<typename T>
template<typename Y>
bool ngl::structbytes< T >::tobytes ( std::shared_ptr< pack > & apack,
const Y & adata,
i64_actorid aactorid,
i64_actorid arequestactorid,
bool ahead )
inlinestatic

从结构体序列化到数据包。

Template Parameters
Y协议结构体类型
Parameters
apack数据包指针
adata源结构体引用
aactorid目标actor ID
arequestactorid源actor ID
ahead是否序列化头部
Returns
true 如果序列化成功,false 如果失败

将结构体序列化到数据包中,可选进行XOR加密,并设置头部信息。

◆ tostruct()

template<typename T>
bool ngl::structbytes< T >::tostruct ( std::shared_ptr< pack > & apack,
T & adata,
bool aissetpos = false )
inlinestatic

从数据包反序列化到结构体。

Parameters
apack数据包指针
adata目标结构体引用
aissetpos是否设置位置(未使用)
Returns
true 如果反序列化成功,false 如果失败

从数据包中读取数据,可选进行XOR解密,然后反序列化到结构体。


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