ordered_message_processor 类
ordered_message_processor
是允许消息块按接收顺序处理消息的 message_processor
。
语法
template<class T>
class ordered_message_processor : public message_processor<T>;
参数
T
处理器处理的消息的有效负载类型。
成员
公共 Typedef
名称 | 描述 |
---|---|
type |
T 的类型别名。 |
公共构造函数
名称 | 描述 |
---|---|
ordered_message_processor | 构造 ordered_message_processor 对象。 |
~ordered_message_processor 析构函数 | 销毁 ordered_message_processor 对象。 |
公共方法
名称 | 描述 |
---|---|
async_send | 异步排队消息并启动处理任务(如果尚未完成)。 (重写 message_processor::async_send。) |
initialize | 使用适当的回叫函数、计划程序和计划组初始化 ordered_message_processor 对象。 |
initialize_batched_processing | 初始化消息的批处理 |
sync_send | 同步排队消息并启动处理任务(如果尚未完成)。 (重写 message_processor::sync_send。) |
wait | 特定于处理器的自旋等待,用于在消息块的析构函数中确保销毁块之前有时间完成所有异步处理任务。 (重写 message_processor::wait。) |
受保护方法
名称 | 描述 |
---|---|
process_incoming_message | 异步调用的处理函数。 它会将消息取消排队并开始对其进行处理。 (重写 message_processor::process_incoming_message。) |
继承层次结构
ordered_message_processor
要求
标头: agents.h
命名空间: 并发
async_send
异步排队消息并启动处理任务(如果尚未完成)。
virtual void async_send(_Inout_opt_ message<T>* _Msg);
参数
_Msg
指向消息的指针。
initialize
使用适当的回叫函数、计划程序和计划组初始化 ordered_message_processor
对象。
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
参数
_PScheduler
指向用于计划轻型任务的计划程序的指针。
_PScheduleGroup
指向用于计划轻型任务的计划组的指针。
_Handler
回叫期间调用的处理程序函数。
initialize_batched_processing
初始化消息的批处理
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
参数
_Processor
回叫期间调用的处理器函数。
_Propagator
回叫期间调用的传播程序函数。
ordered_message_processor
构造 ordered_message_processor
对象。
ordered_message_processor();
备注
调用 initialize
函数之前,此 ordered_message_processor
不会计划异步或同步处理程序。
~ordered_message_processor
销毁 ordered_message_processor
对象。
virtual ~ordered_message_processor();
备注
在销毁处理器之前,等待所有未完成的异步操作。
process_incoming_message
异步调用的处理函数。 它会将消息取消排队并开始对其进行处理。
virtual void process_incoming_message();
sync_send
同步排队消息并启动处理任务(如果尚未完成)。
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
参数
_Msg
指向消息的指针。
wait
特定于处理器的自旋等待,用于在消息块的析构函数中确保销毁块之前有时间完成所有异步处理任务。
virtual void wait();