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

线程安全的异步发送队列模板。 More...

#include <node_pack.h>

Public Member Functions

template<typename TVAL>
void push (TVAL &&aitem)
 向队列尾部添加元素。
bool pop (TITEM &aitem, bool aasync)
 从队列头部取出元素。
template<typename TFUN>
bool send (bool aasync, TFUN &&afun)
 取出元素并执行发送函数。

Detailed Description

template<typename TITEM>
class ngl::send_list< TITEM >

线程安全的异步发送队列模板。

提供线程安全的消息队列,支持异步发送模式。 主要用于网络层的异步消息发送,确保消息按顺序发送。

Template Parameters
TITEM队列元素类型
Note
使用std::mutex保护队列操作,支持并发访问。
支持同步和异步两种发送模式。

Member Function Documentation

◆ pop()

template<typename TITEM>
bool ngl::send_list< TITEM >::pop ( TITEM & aitem,
bool aasync )
inline

从队列头部取出元素。

Parameters
aitem输出参数,存储取出的元素
aasync是否为异步模式
Returns
true 取出成功
false 队列为空或同步模式下已有异步发送进行中

◆ push()

template<typename TITEM>
template<typename TVAL>
void ngl::send_list< TITEM >::push ( TVAL && aitem)
inline

向队列尾部添加元素。

Template Parameters
TVAL元素类型(支持完美转发)
Parameters
aitem要添加的元素

◆ send()

template<typename TITEM>
template<typename TFUN>
bool ngl::send_list< TITEM >::send ( bool aasync,
TFUN && afun )
inline

取出元素并执行发送函数。

Template Parameters
TFUN发送函数类型
Parameters
aasync是否为异步模式
afun发送函数,接受TITEM类型参数
Returns
true 发送成功
false 队列为空或同步模式下已有异步发送进行中

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