message_processor Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The message_processor class is the abstract base class for processing of message objects. There is no guarantee on the ordering of the messages.
template<class T> class message_processor;
Parameters
T
The data type of the payload within messages handled by this message_processor object.
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. |
message_processor
Header: agents.h
Namespace: concurrency
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.
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.
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.
When overridden in a derived class, waits for all asynchronous operations to complete.
virtual void wait() = 0;
Remarks
Processor implementations should override this method.