target_block Class
The target_block class is an abstract base class that provides basic link management functionality and error checking for target only blocks.
template<
class _SourceLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>
>
class target_block : public ITarget<typename _SourceLinkRegistry::type::source_type>;
Parameters
_SourceLinkRegistry
The link registry to be used for holding the source links._MessageProcessorType
The processor type for message processing.
Members
Public Typedefs
Name |
Description |
---|---|
source_iterator |
The type of the iterator for the source_link_manager for this target_block object. |
Public Constructors
Name |
Description |
---|---|
Constructs a target_block object. |
|
Destroys the target_block object. |
Public Methods
Name |
Description |
---|---|
Asynchronously passes a message from a source block to this target block. |
|
Synchronously passes a message from a source block to this target block. |
Protected Methods
Name |
Description |
---|---|
Asynchronously sends a message for processing. |
|
Indicates to the block that new messages should be declined. |
|
Enables batched processing for this block. |
|
Initializes the base object. Specifically, the message_processor object needs to be initialized. |
|
Links a specified source block to this target_block object. |
|
Processes messages that are received as inputs. |
|
When overridden in a derived class, processes a message that was accepted by this target_block object. |
|
When overridden in a derived class, this method asynchronously passes a message from an ISource block to this target_block object. It is invoked by the propagate method, when called by a source block. |
|
Registers a filter method that will be invoked on every message received. |
|
Unlinks all sources after waiting for outstanding asynchronous send operations to complete. |
|
When overridden in a derived class, this method synchronously passes a message from an ISource block to this target_block object. It is invoked by the send method, when called by a source block. |
|
Synchronously send a message for processing. |
|
Unlinks a specified source block from this target_block object. |
|
Unlinks all source blocks from this target_block object. (Overrides ITarget::unlink_sources.) |
|
Waits for all asynchronous propagations to complete. |
Inheritance Hierarchy
target_block
Requirements
Header: agents.h
Namespace: concurrency