call, classe
Un bloc de messagerie call
est un target_block
ordonné à plusieurs sources qui appelle une fonction spécifiée lors de la réception d'un message.
Syntaxe
template<class T, class _FunctorType = std::function<void(T const&)>>
class call : public target_block<multi_link_registry<ISource<T>>>;
Paramètres
T
Type de charge utile des messages propagés à ce bloc.
_FunctorType
Signature des fonctions que ce bloc peut accepter.
Membres
Constructeurs publics
Nom | Description |
---|---|
call | Surcharge. Construit un bloc de messagerie call . |
~call Destructor | Détruit le call bloc de messagerie. |
Méthodes protégées
Nom | Description |
---|---|
process_input_messages | Exécute la fonction d’appel sur les messages d’entrée. |
process_message | Traite un message accepté par ce call bloc de messagerie. |
propagate_message | Transmet de façon asynchrone un message d’un ISource bloc à ce call bloc de messagerie. Elle est appelée par la propagate méthode, lorsqu’elle est appelée par un bloc source. |
send_message | Transmet de façon synchrone un message d’un ISource bloc à ce call bloc de messagerie. Elle est appelée par la send méthode, lorsqu’elle est appelée par un bloc source. |
supports_anonymous_source | Remplace la supports_anonymous_source méthode pour indiquer que ce bloc peut accepter les messages proposés par une source qui n’est pas liée. (Remplacements ITarget ::supports_anonymous_source.) |
Notes
Pour plus d’informations, consultez Blocs de messages asynchrones.
Hiérarchie d'héritage
call
Spécifications
En-tête : agents.h
Espace de noms : concurrency
call
Construit un bloc de messagerie call
.
call(
_Call_method const& _Func);
call(
_Call_method const& _Func,
filter_method const& _Filter);
call(
Scheduler& _PScheduler,
_Call_method const& _Func);
call(
Scheduler& _PScheduler,
_Call_method const& _Func,
filter_method const& _Filter);
call(
ScheduleGroup& _PScheduleGroup,
_Call_method const& _Func);
call(
ScheduleGroup& _PScheduleGroup,
_Call_method const& _Func,
filter_method const& _Filter);
Paramètres
_Func
Fonction qui sera appelée pour chaque message accepté.
_Filtre
Fonction de filtre qui détermine si les messages proposés doivent être acceptés.
_PScheduler
Objet Scheduler
dans lequel la tâche de propagation du bloc de messagerie call
est planifiée.
_PScheduleGroup
Objet ScheduleGroup
dans lequel la tâche de propagation du bloc de messagerie call
est planifiée. L’objet Scheduler
utilisé est suggéré par le groupe de planification.
Notes
Le runtime utilise le planificateur par défaut si vous ne spécifiez pas les paramètres _PScheduler
ou _PScheduleGroup
.
Le type _Call_method
est un fonctor avec signature void (T const &)
qui est appelé par ce call
bloc de messagerie pour traiter un message.
Le type filter_method
est un fonctor avec signature bool (T const &)
qui est appelé par ce call
bloc de messagerie pour déterminer s’il doit accepter ou non un message proposé.
~appeler
Détruit le call
bloc de messagerie.
~call();
process_input_messages
Exécute la fonction d’appel sur les messages d’entrée.
virtual void process_input_messages(_Inout_ message<T>* _PMessage);
Paramètres
_PMessage
Pointeur vers le message à gérer.
process_message
Traite un message accepté par ce call
bloc de messagerie.
virtual void process_message(_Inout_ message<T>* _PMessage);
Paramètres
_PMessage
Pointeur vers le message à gérer.
propagate_message
Transmet de façon asynchrone un message d’un ISource
bloc à ce call
bloc de messagerie. Elle est appelée par la propagate
méthode, lorsqu’elle est appelée par un bloc source.
virtual message_status propagate_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
Paramètres
_PMessage
Pointeur vers l'objet message
.
_PSource
Pointeur vers le bloc source offrant le message.
Valeur de retour
Une message_status indication de ce que la cible a décidé de faire avec le message.
send_message
Transmet de façon synchrone un message d’un ISource
bloc à ce call
bloc de messagerie. Elle est appelée par la send
méthode, lorsqu’elle est appelée par un bloc source.
virtual message_status send_message(
_Inout_ message<T>* _PMessage,
_Inout_ ISource<T>* _PSource);
Paramètres
_PMessage
Pointeur vers l'objet message
.
_PSource
Pointeur vers le bloc source offrant le message.
Valeur de retour
Une message_status indication de ce que la cible a décidé de faire avec le message.
supports_anonymous_source
Remplace la supports_anonymous_source
méthode pour indiquer que ce bloc peut accepter les messages proposés par une source qui n’est pas liée.
virtual bool supports_anonymous_source();
Valeur de retour
true
car le bloc ne reporte pas les messages proposés.