message_processor Class

 

The message_processor class is the abstract base class for processing of message objects. There is no guarantee on the ordering of the messages.

Syntax

template<class T>
class message_processor;

Parameters

T
The data type of the payload within messages handled by this message_processor object.

Members

Public Typedefs

Name Description
type A type alias for T.

Public Methods

Name Description
message_processor::async_send Method When overridden in a derived class, places messages into the block asynchronously.
message_processor::sync_send Method When overridden in a derived class, places messages into the block synchronously.
message_processor::wait Method When overridden in a derived class, waits for all asynchronous operations to complete.

Protected Methods

Name Description
message_processor::process_incoming_message Method When overridden in a derived class, performs the forward processing of messages into the block. Called once every time a new message is added and the queue is found to be empty.

Inheritance Hierarchy

message_processor

Requirements

Header: agents.h

Namespace: concurrency

message_processor::async_send Method

When overridden in a derived class, places messages into the block asynchronously.

virtual void async_send(_Inout_opt_ message<T>* _Msg) = 0;

Parameters

_Msg
A message object to send asynchronously.

Remarks

Processor implementations should override this method.

message_processor::process_incoming_message Method

When overridden in a derived class, performs the forward processing of messages into the block. Called once every time a new message is added and the queue is found to be empty.

virtual void process_incoming_message() = 0;

Remarks

Message block implementations should override this method.

message_processor::sync_send Method

When overridden in a derived class, places messages into the block synchronously.

virtual void sync_send(_Inout_opt_ message<T>* _Msg) = 0;

Parameters

_Msg
A message object to send synchronously.

Remarks

Processor implementations should override this method.

message_processor::wait Method

When overridden in a derived class, waits for all asynchronous operations to complete.

virtual void wait() = 0;

Remarks

Processor implementations should override this method.

See Also

concurrency Namespace
ordered_message_processor Class