|
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::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::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:4757
_Call_method _M_pFunc
Definition: agents.h:7448
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:4738
template<class _Type , class _FunctorType = std::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:4757
_Call_method _M_pFunc
Definition: agents.h:7448
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:4738
void register_filter(filter_method const &_Filter)
Registers a filter method that will be invoked on every message received.
Definition: agents.h:4705