STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType > Class Template Referenceabstract

The target_block class is an abstract base class that provides basic link management functionality and error checking for target only blocks. More...

#include <agents.h>

Inheritance diagram for Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >:
Concurrency::ITarget< _SourceLinkRegistry::type::source_type >

Public Types

typedef _SourceLinkRegistry::type::source_type _Source_type
 The type of the payload for the incoming messages to this target_block object. More...
 
typedef source_link_manager< _SourceLinkRegistry > _SourceLinkManager
 The type of the source_link_manager this target_block object. More...
 
typedef _SourceLinkManager::iterator source_iterator
 The type of the iterator for the source_link_manager for this target_block object. More...
 
- Public Types inherited from Concurrency::ITarget< _SourceLinkRegistry::type::source_type >
typedef _SourceLinkRegistry::type::source_type type
 A type alias for _Type . More...
 
typedef std::function< bool(_SourceLinkRegistry::type::source_typeconst &)> filter_method
 The signature of any method used by the block that returns a bool value to determine whether an offered message should be accepted. More...
 

Public Member Functions

 target_block ()
 Constructs a target_block object. More...
 
virtual ~target_block ()
 Destroys the target_block object. More...
 
virtual message_status propagate (_Inout_opt_ message< _Source_type > *_PMessage, _Inout_opt_ ISource< _Source_type > *_PSource)
 Asynchronously passes a message from a source block to this target block. More...
 
virtual message_status send (_Inout_ message< _Source_type > *_PMessage, _Inout_ ISource< _Source_type > *_PSource)
 Synchronously passes a message from a source block to this target block. More...
 
- Public Member Functions inherited from Concurrency::ITarget< _SourceLinkRegistry::type::source_type >
virtual ~ITarget ()
 Destroys the ITarget object. More...
 
virtual bool supports_anonymous_source ()
 When overridden in a derived class, returns true or false depending on whether the message block accepts messages offered by a source that is not linked to it. If the overridden method returns true, the target cannot postpone an offered message, as consumption of a postponed message at a later time requires the source to be identified in its source link registry. More...
 

Protected Member Functions

virtual message_status propagate_message (_Inout_ message< _Source_type > *_PMessage, _Inout_ ISource< _Source_type > *_PSource)=0
 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. More...
 
virtual message_status send_message (_Inout_ message< _Source_type > *, _Inout_ ISource< _Source_type > *)
 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. More...
 
virtual void link_source (_Inout_ ISource< _Source_type > *_PSource)
 Links a specified source block to this target_block object. More...
 
virtual void unlink_source (_Inout_ ISource< _Source_type > *_PSource)
 Unlinks a specified source block from this target_block object. More...
 
virtual void unlink_sources ()
 Unlinks all source blocks from this target_block object. More...
 
virtual void process_message (message< _Source_type > *)
 When overridden in a derived class, processes a message that was accepted by this target_block object. More...
 
void register_filter (filter_method const &_Filter)
 Registers a filter method that will be invoked on every message received. More...
 
void decline_incoming_messages ()
 Indicates to the block that new messages should be declined. More...
 
void initialize_target (_Inout_opt_ Scheduler *_PScheduler=NULL, _Inout_opt_ ScheduleGroup *_PScheduleGroup=NULL)
 Initializes the base object. Specifically, the message_processor object needs to be initialized. More...
 
void enable_batched_processing ()
 Enables batched processing for this block. More...
 
void async_send (_Inout_opt_ message< _Source_type > *_PMessage)
 Asynchronously sends a message for processing. More...
 
void sync_send (_Inout_opt_ message< _Source_type > *_PMessage)
 Synchronously send a message for processing. More...
 
void wait_for_async_sends ()
 Waits for all asynchronous propagations to complete. More...
 
void remove_sources ()
 Unlinks all sources after waiting for outstanding asynchronous send operations to complete. More...
 
virtual void process_input_messages (_Inout_ message< _Source_type > *)
 Processes messages that are received as inputs. More...
 

Protected Attributes

_SourceLinkManager _M_connectedSources
 The container for all the sources connected to this block. More...
 
filter_method_M_pFilter
 The filter function which determines whether offered messages should be accepted. More...
 
bool _M_fDeclineMessages
 A bool that is set to indicate that all messages should be declined in preparation for deleting the block More...
 
_MessageProcessorType _M_messageProcessor
 The message_processor for this target_block. More...
 

Detailed Description

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
class Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >

The target_block class is an abstract base class that provides basic link management functionality and error checking for target only blocks.

Template Parameters
_SourceLinkRegistryThe link registry to be used for holding the source links.
_MessageProcessorTypeThe processor type for message processing.
See also
ITarget Class

Member Typedef Documentation

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
typedef _SourceLinkRegistry::type::source_type Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_Source_type

The type of the payload for the incoming messages to this target_block object.

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
typedef source_link_manager<_SourceLinkRegistry> Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_SourceLinkManager

The type of the source_link_manager this target_block object.

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
typedef _SourceLinkManager::iterator Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::source_iterator

The type of the iterator for the source_link_manager for this target_block object.

Constructor & Destructor Documentation

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::target_block ( )
inline

Constructs a target_block object.

4474  {
4478  }
An event type that represents the creation of an object
Definition: concrt.h:5649
__int64 _Trace_agents_get_id(_Type *_PObject)
Definition: agents.h:435
_CONCRTIMP void __cdecl _Trace_agents(Agents_EventType _Type, __int64 _AgentId,...)
bool _M_fDeclineMessages
A bool that is set to indicate that all messages should be declined in preparation for deleting the b...
Definition: agents.h:4848
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854
filter_method * _M_pFilter
The filter function which determines whether offered messages should be accepted. ...
Definition: agents.h:4841
#define NULL
Definition: corecrt.h:158
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::~target_block ( )
inlinevirtual

Destroys the target_block object.

4485  {
4486  // All sources should have been unlinked
4488  delete _M_pFilter;
4489 
4491  }
#define _CONCRT_ASSERT(x)
Definition: concrt.h:123
__int64 _Trace_agents_get_id(_Type *_PObject)
Definition: agents.h:435
_CONCRTIMP void __cdecl _Trace_agents(Agents_EventType _Type, __int64 _AgentId,...)
An event type that represents the deletion of an object
Definition: concrt.h:5667
_SourceLinkManager _M_connectedSources
The container for all the sources connected to this block.
Definition: agents.h:4835
filter_method * _M_pFilter
The filter function which determines whether offered messages should be accepted. ...
Definition: agents.h:4841

Member Function Documentation

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::async_send ( _Inout_opt_ message< _Source_type > *  _PMessage)
inlineprotected

Asynchronously sends a message for processing.

Parameters
_PMessageA pointer to the message being sent.
4776  {
4777  _M_messageProcessor.async_send(_PMessage);
4778  }
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::decline_incoming_messages ( )
inlineprotected

Indicates to the block that new messages should be declined.

This method is called by the destructor to ensure that new messages are declined while destruction is in progress.

4721  {
4722  _M_fDeclineMessages = true;
4723  }
bool _M_fDeclineMessages
A bool that is set to indicate that all messages should be declined in preparation for deleting the b...
Definition: agents.h:4848
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::enable_batched_processing ( )
inlineprotected

Enables batched processing for this block.

4758  {
4759  _M_messageProcessor.initialize_batched_processing(
4760  // Processing function used by CRT110
4761  [this](message<_Source_type> * _PMessage)
4762  {
4763  // Handle message through new process_input_message to use CRT110 batch processing
4764  this->process_input_messages(_PMessage);
4765  }, nullptr);
4766  }
virtual void process_input_messages(_Inout_ message< _Source_type > *)
Processes messages that are received as inputs.
Definition: agents.h:4826
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::initialize_target ( _Inout_opt_ Scheduler *  _PScheduler = NULL,
_Inout_opt_ ScheduleGroup *  _PScheduleGroup = NULL 
)
inlineprotected

Initializes the base object. Specifically, the message_processor object needs to be initialized.

Parameters
_PSchedulerThe scheduler to be used for scheduling tasks.
_PScheduleGroupThe schedule group to be used for scheduling tasks.
See also
Scheduler Class, ScheduleGroup Class
4739  {
4740  // Register a callback with the processor
4741  _M_messageProcessor.initialize(_PScheduler, _PScheduleGroup,
4742  // Processing and Propagating function used by ordered_message_processors
4743  [this](message<_Source_type> * _PMessage)
4744  {
4745  // Handle message by calling process_message to maintain CRT100 compatibility
4746  this->process_message(_PMessage);
4747  });
4748 
4749  // Register this target block as the owner of the connected sources
4751  }
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854
_SourceLinkManager _M_connectedSources
The container for all the sources connected to this block.
Definition: agents.h:4835
virtual void process_message(message< _Source_type > *)
When overridden in a derived class, processes a message that was accepted by this target_block object...
Definition: agents.h:4689
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::link_source ( _Inout_ ISource< _Source_type > *  _PSource)
inlineprotectedvirtual

Links a specified source block to this target_block object.

Parameters
_PSourceA pointer to the ISource block that is to be linked.

This function should not be called directly on a target_block object. Blocks should be connected together using the link_target method on ISource blocks, which will invoke the link_source method on the corresponding target.

Implements Concurrency::ITarget< _SourceLinkRegistry::type::source_type >.

4643  {
4648  }
An event type that represents the linking of message blocks
Definition: concrt.h:5679
__int64 _Trace_agents_get_id(_Type *_PObject)
Definition: agents.h:435
_CONCRTIMP void __cdecl _Trace_agents(Agents_EventType _Type, __int64 _AgentId,...)
_SourceLinkManager _M_connectedSources
The container for all the sources connected to this block.
Definition: agents.h:4835
_Pre_maybenull_ _Inout_ _Deref_prepost_z_ wchar_t const _PSource
Definition: wchar.h:148
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::process_input_messages ( _Inout_ message< _Source_type > *  )
inlineprotectedvirtual

Processes messages that are received as inputs.

4827  {
4828  throw invalid_operation("To use batched processing, you must override process_input_messages in the message block.");
4829  }
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::process_message ( message< _Source_type > *  )
inlineprotectedvirtual

When overridden in a derived class, processes a message that was accepted by this target_block object.

Parameters
_PMessageA pointer to the message that is to be handled.
4690  {
4691  }
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual message_status Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::propagate ( _Inout_opt_ message< _Source_type > *  _PMessage,
_Inout_opt_ ISource< _Source_type > *  _PSource 
)
inlinevirtual

Asynchronously passes a message from a source block to this target block.

Parameters
_PMessageA pointer to the message object.
_PSourceA pointer to the source block offering the message.
Returns
A message_status indication of what the target decided to do with the message.

The method throws an invalid_argument exception if either the _PMessage or _PSource parameter is NULL.

Implements Concurrency::ITarget< _SourceLinkRegistry::type::source_type >.

4512  {
4513  // It is important that calls to propagate do *not* take the same lock on the
4514  // internal structure that is used by <c>consume</c> and the LWT. Doing so could
4515  // result in a deadlock.
4516 
4517  if (_PMessage == NULL)
4518  {
4519  throw std::invalid_argument("_PMessage");
4520  }
4521 
4522  if (_PSource == NULL)
4523  {
4524  throw std::invalid_argument("_PSource");
4525  }
4526 
4527  if (_M_fDeclineMessages)
4528  {
4529  return declined;
4530  }
4531 
4532  if (_M_pFilter != NULL && !(*_M_pFilter)(_PMessage->payload))
4533  {
4534  return declined;
4535  }
4536 
4537  return propagate_message(_PMessage, _PSource);
4538  }
virtual message_status propagate_message(_Inout_ message< _Source_type > *_PMessage, _Inout_ ISource< _Source_type > *_PSource)=0
When overridden in a derived class, this method asynchronously passes a message from an ISource block...
The target did not accept the message.
Definition: agents.h:1751
bool _M_fDeclineMessages
A bool that is set to indicate that all messages should be declined in preparation for deleting the b...
Definition: agents.h:4848
_Pre_maybenull_ _Inout_ _Deref_prepost_z_ wchar_t const _PSource
Definition: wchar.h:148
filter_method * _M_pFilter
The filter function which determines whether offered messages should be accepted. ...
Definition: agents.h:4841
#define NULL
Definition: corecrt.h:158
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual message_status Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::propagate_message ( _Inout_ message< _Source_type > *  _PMessage,
_Inout_ ISource< _Source_type > *  _PSource 
)
protectedpure virtual

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.

Parameters
_PMessageA pointer to the message object.
_PSourceA pointer to the source block offering the message.
Returns
A message_status indication of what the target decided to do with the message.
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::register_filter ( filter_method const &  _Filter)
inlineprotected

Registers a filter method that will be invoked on every message received.

Parameters
_FilterThe filter method.
4706  {
4707  if (_Filter != NULL)
4708  {
4709  _M_pFilter = new filter_method(_Filter);
4710  }
4711  }
std::function< bool(_SourceLinkRegistry::type::source_typeconst &)> filter_method
The signature of any method used by the block that returns a bool value to determine whether an offer...
Definition: agents.h:2546
filter_method * _M_pFilter
The filter function which determines whether offered messages should be accepted. ...
Definition: agents.h:4841
#define NULL
Definition: corecrt.h:158
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::remove_sources ( )
inlineprotected

Unlinks all sources after waiting for outstanding asynchronous send operations to complete.

All target blocks should call this routine to remove the sources in their destructor.

4816  {
4818 
4819  unlink_sources();
4820  }
virtual void unlink_sources()
Unlinks all source blocks from this target_block object.
Definition: agents.h:4673
void wait_for_async_sends()
Waits for all asynchronous propagations to complete.
Definition: agents.h:4800
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual message_status Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::send ( _Inout_ message< _Source_type > *  _PMessage,
_Inout_ ISource< _Source_type > *  _PSource 
)
inlinevirtual

Synchronously passes a message from a source block to this target block.

Parameters
_PMessageA pointer to the message object.
_PSourceA pointer to the source block offering the message.
Returns
A message_status indication of what the target decided to do with the message.

The method throws an invalid_argument exception if either the _PMessage or _PSource parameter is NULL.

Using the send method outside of message initiation and to propagate messages within a network is dangerous and can lead to deadlock.

When send returns, the message has either already been accepted, and transferred into the target block, or it has been declined by the target.

Implements Concurrency::ITarget< _SourceLinkRegistry::type::source_type >.

4563  {
4564  if (_PMessage == NULL)
4565  {
4566  throw std::invalid_argument("_PMessage");
4567  }
4568 
4569  if (_PSource == NULL)
4570  {
4571  throw std::invalid_argument("_PSource");
4572  }
4573 
4574  if (_M_fDeclineMessages)
4575  {
4576  return declined;
4577  }
4578 
4579  if (_M_pFilter != NULL && !(*_M_pFilter)(_PMessage->payload))
4580  {
4581  return declined;
4582  }
4583 
4584  return send_message(_PMessage, _PSource);
4585  }
The target did not accept the message.
Definition: agents.h:1751
bool _M_fDeclineMessages
A bool that is set to indicate that all messages should be declined in preparation for deleting the b...
Definition: agents.h:4848
_Pre_maybenull_ _Inout_ _Deref_prepost_z_ wchar_t const _PSource
Definition: wchar.h:148
virtual message_status send_message(_Inout_ message< _Source_type > *, _Inout_ ISource< _Source_type > *)
When overridden in a derived class, this method synchronously passes a message from an ISource block ...
Definition: agents.h:4624
filter_method * _M_pFilter
The filter function which determines whether offered messages should be accepted. ...
Definition: agents.h:4841
#define NULL
Definition: corecrt.h:158
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual message_status Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::send_message ( _Inout_ message< _Source_type > *  ,
_Inout_ ISource< _Source_type > *   
)
inlineprotectedvirtual

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.

Parameters
_PMessageA pointer to the message object.
_PSourceA pointer to the source block offering the message.
Returns
A message_status indication of what the target decided to do with the message.

By default, this block returns declined unless overridden by a derived class.

4625  {
4626  // By default we do not allow send()
4627  return declined;
4628  }
The target did not accept the message.
Definition: agents.h:1751
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::sync_send ( _Inout_opt_ message< _Source_type > *  _PMessage)
inlineprotected

Synchronously send a message for processing.

Parameters
_PMessageA pointer to the message being sent.
4788  {
4789  _M_messageProcessor.sync_send(_PMessage);
4790  }
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::unlink_source ( _Inout_ ISource< _Source_type > *  _PSource)
inlineprotectedvirtual

Unlinks a specified source block from this target_block object.

Parameters
_PSourceA pointer to the ISource block that is to be unlinked.

This function should not be called directly on n target_block object. Blocks should be disconnected using the unlink_target or unlink_targets methods on ISource blocks, which will invoke the unlink_source method on the corresponding target.

Implements Concurrency::ITarget< _SourceLinkRegistry::type::source_type >.

4661  {
4665 
4667  }
An event type that represents the unlinking of message blocks
Definition: concrt.h:5685
__int64 _Trace_agents_get_id(_Type *_PObject)
Definition: agents.h:435
_CONCRTIMP void __cdecl _Trace_agents(Agents_EventType _Type, __int64 _AgentId,...)
_SourceLinkManager _M_connectedSources
The container for all the sources connected to this block.
Definition: agents.h:4835
_Pre_maybenull_ _Inout_ _Deref_prepost_z_ wchar_t const _PSource
Definition: wchar.h:148
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
virtual void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::unlink_sources ( )
inlineprotectedvirtual

Unlinks all source blocks from this target_block object.

Implements Concurrency::ITarget< _SourceLinkRegistry::type::source_type >.

4674  {
4675  for (source_iterator _Iter = _M_connectedSources.begin(); *_Iter != NULL; ++_Iter)
4676  {
4677  ISource<_Source_type> * _PSource = *_Iter;
4678  _PSource->unlink_target(this);
4679  }
4680  }
_SourceLinkManager::iterator source_iterator
The type of the iterator for the source_link_manager for this target_block object.
Definition: agents.h:4465
_SourceLinkManager _M_connectedSources
The container for all the sources connected to this block.
Definition: agents.h:4835
_Pre_maybenull_ _Inout_ _Deref_prepost_z_ wchar_t const _PSource
Definition: wchar.h:148
#define NULL
Definition: corecrt.h:158
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
void Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::wait_for_async_sends ( )
inlineprotected

Waits for all asynchronous propagations to complete.

This method is used by message block destructors to ensure all asynchronous operations have had time to finish before destroying the block.

4801  {
4802  // Decline new messages to ensure that messages are not dropped during the wait
4804 
4805  _M_messageProcessor.wait();
4806  }
void decline_incoming_messages()
Indicates to the block that new messages should be declined.
Definition: agents.h:4720
_MessageProcessorType _M_messageProcessor
The message_processor for this target_block.
Definition: agents.h:4854

Member Data Documentation

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
_SourceLinkManager Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_M_connectedSources
protected

The container for all the sources connected to this block.

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
bool Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_M_fDeclineMessages
protected

A bool that is set to indicate that all messages should be declined in preparation for deleting the block

template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
_MessageProcessorType Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_M_messageProcessor
protected
template<class _SourceLinkRegistry, class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>>
filter_method* Concurrency::target_block< _SourceLinkRegistry, _MessageProcessorType >::_M_pFilter
protected

The filter function which determines whether offered messages should be accepted.


The documentation for this class was generated from the following file: