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 |
---|---|
async_send | When overridden in a derived class, places messages into the block asynchronously. |
sync_send | When overridden in a derived class, places messages into the block synchronously. |
wait | When overridden in a derived class, waits for all asynchronous operations to complete. |
Protected Methods
Name | Description |
---|---|
process_incoming_message | 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
async_send
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.
process_incoming_message
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.
sync_send
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.
wait
When overridden in a derived class, waits for all asynchronous operations to complete.
virtual void wait() = 0;
Remarks
Processor implementations should override this method.