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.