Partager via


ordered_message_processor Class

An ordered_message_processor is a message_processor that allows message blocks to process messages in the order they were received.

template<
   class _Type
>
class ordered_message_processor : public message_processor<_Type>;

Parameters

  • _Type
    The payload type of messages handled by the processor.

Members

Public Typedefs

Name

Description

type

A type alias for _Type.

Public Constructors

Name

Description

ordered_message_processor::ordered_message_processor Constructor

Constructs an ordered_message_processor object.

ordered_message_processor::~ordered_message_processor Destructor

Destroys the ordered_message_processor object.

Public Methods

Name

Description

ordered_message_processor::async_send Method

Asynchronously queues up messages and starts a processing task, if this has not been done already. (Overrides message_processor::async_send.)

ordered_message_processor::initialize Method

Initializes the ordered_message_processor object with the appropriate callback function, scheduler and schedule group.

ordered_message_processor::initialize_batched_processing Method

Initialize batched message processing

ordered_message_processor::sync_send Method

Synchronously queues up messages and starts a processing task, if this has not been done already. (Overrides message_processor::sync_send.)

ordered_message_processor::wait Method

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

ordered_message_processor::process_incoming_message Method

The processing function that is called asynchronously. It dequeues messages and begins processing them. (Overrides message_processor::process_incoming_message.)

Inheritance Hierarchy

message_processor

ordered_message_processor

Requirements

Header: agents.h

Namespace: concurrency

See Also

Reference

concurrency Namespace