|
| virtual message_status | propagate_message (_Inout_ message< _Type > *_PMessage, _Inout_ ISource< _Type > *_PSource) |
| | Asynchronously passes a message from an ISource block to this call messaging block. It is invoked by the propagate method, when called by a source block. More...
|
| |
| virtual message_status | send_message (_Inout_ message< _Type > *_PMessage, _Inout_ ISource< _Type > *_PSource) |
| | Synchronously passes a message from an ISource block to this call messaging block. It is invoked by the send method, when called by a source block. More...
|
| |
| virtual bool | supports_anonymous_source () |
| | Overrides the supports_anonymous_source method to indicate that this block can accept messages offered to it by a source that is not linked. More...
|
| |
| virtual void | process_message (_Inout_ message< _Type > *_PMessage) |
| | Processes a message that was accepted by this call messaging block. More...
|
| |
| virtual void | process_input_messages (_Inout_ message< _Type > *_PMessage) |
| | Executes the call function on the input messages. More...
|
| |
| 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 > *_PMessage) |
| | Processes messages that are received as inputs. More...
|
| |
| virtual void | link_source (_Inout_ ISource< multi_link_registry< ISource< _Type > >::type::source_type > *_PSource)=0 |
| | When overridden in a derived class, links a specified source block to this ITarget block. More...
|
| |
| virtual void | unlink_source (_Inout_ ISource< multi_link_registry< ISource< _Type > >::type::source_type > *_PSource)=0 |
| | When overridden in a derived class, unlinks a specified source block from this ITarget block. More...
|
| |
template<class _Type, class _FunctorType = std::tr1::function<void(_Type const&)>>
class Concurrency::call< _Type, _FunctorType >
A call messaging block is a multi-source, ordered target_block that invokes a specified function when receiving a message.
- Template Parameters
-
| _Type | The payload type of the messages propagated to this block. |
| _FunctorType | The signature of functions that this block can accept. |
For more information, see Asynchronous Message Blocks.
- See also
- transformer Class
template<class _Type , class _FunctorType = std::tr1::function<void(_Type const&)>>
Constructs a call messaging block.
- Parameters
-
| _Func | A function that will be invoked for each accepted message. |
The runtime uses the default scheduler if you do not specify the _PScheduler or _PScheduleGroup parameters.
The type _Call_method is a functor with signature void (_Type const &) which is invoked by this call messaging block to process a message.
The type filter_method is a functor with signature bool (_Type const &) which is invoked by this call messaging block to determine whether or not it should accept an offered message.
- See also
- Scheduler Class, ScheduleGroup Class
void enable_batched_processing()
Enables batched processing for this block.
Definition: agents.h:3106
_Call_method _M_pFunc
Definition: agents.h:5775
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...
Definition: agents.h:3087
template<class _Type , class _FunctorType = std::tr1::function<void(_Type const&)>>
Constructs a call messaging block.
- Parameters
-
| _Filter | A filter function which determines whether offered messages should be accepted. |
The runtime uses the default scheduler if you do not specify the _PScheduler or _PScheduleGroup parameters.
The type _Call_method is a functor with signature void (_Type const &) which is invoked by this call messaging block to process a message.
The type filter_method is a functor with signature bool (_Type const &) which is invoked by this call messaging block to determine whether or not it should accept an offered message.
- See also
- Scheduler Class, ScheduleGroup Class
void enable_batched_processing()
Enables batched processing for this block.
Definition: agents.h:3106
_Call_method _M_pFunc
Definition: agents.h:5775
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...
Definition: agents.h:3087
void register_filter(filter_method const &_Filter)
Registers a filter method that will be invoked on every message received.
Definition: agents.h:3054