Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
An ordered_message_processor is a message_processor that allows message blocks to process messages in the order they were received.
Syntax
template<class T>
class ordered_message_processor : public message_processor<T>;
Parameters
T
The payload type of messages handled by the processor.
Members
Public Typedefs
| Name | Description |
|---|---|
type |
A type alias for T. |
Public Constructors
| Name | Description |
|---|---|
| ordered_message_processor | Constructs an ordered_message_processor object. |
| ~ordered_message_processor Destructor | Destroys the ordered_message_processor object. |
Public Methods
| Name | Description |
|---|---|
| async_send | Asynchronously queues up messages and starts a processing task, if this has not been done already. (Overrides message_processor::async_send.) |
| initialize | Initializes the ordered_message_processor object with the appropriate callback function, scheduler and schedule group. |
| initialize_batched_processing | Initialize batched message processing |
| sync_send | Synchronously queues up messages and starts a processing task, if this has not been done already. (Overrides message_processor::sync_send.) |
| wait | A processor-specific spin wait used in destructors of message blocks to make sure that all asynchronous processing tasks have time to finish before destroying the block. (Overrides message_processor::wait.) |
Protected Methods
| Name | Description |
|---|---|
| process_incoming_message | The processing function that is called asynchronously. It dequeues messages and begins processing them. (Overrides message_processor::process_incoming_message.) |
Inheritance Hierarchy
ordered_message_processor
Requirements
Header: agents.h
Namespace: concurrency
async_send
Asynchronously queues up messages and starts a processing task, if this has not been done already.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Parameters
_Msg
A pointer to a message.
initialize
Initializes the ordered_message_processor object with the appropriate callback function, scheduler and schedule group.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Parameters
_PScheduler
A pointer to the scheduler to be used for scheduling light-weight tasks.
_PScheduleGroup
A pointer to the schedule group to be used for scheduling light-weight tasks.
_Handler
The handler functor invoked during callback.
initialize_batched_processing
Initialize batched message processing
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Parameters
_Processor
The processor functor invoked during callback.
_Propagator
The propagator functor invoked during callback.
ordered_message_processor
Constructs an ordered_message_processor object.
ordered_message_processor();
Remarks
This ordered_message_processor will not schedule asynchronous or synchronous handlers until the initialize function is called.
~ordered_message_processor
Destroys the ordered_message_processor object.
virtual ~ordered_message_processor();
Remarks
Waits for all outstanding asynchronous operations before destroying the processor.
process_incoming_message
The processing function that is called asynchronously. It dequeues messages and begins processing them.
virtual void process_incoming_message();
sync_send
Synchronously queues up messages and starts a processing task, if this has not been done already.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Parameters
_Msg
A pointer to a message.
wait
A processor-specific spin wait used in destructors of message blocks to make sure that all asynchronous processing tasks have time to finish before destroying the block.
virtual void wait();