ordered_message_processor, classe
Un ordered_message_processor
est un message_processor
qui permet aux blocs de messages de traiter les messages dans l'ordre de leur réception.
Syntaxe
template<class T>
class ordered_message_processor : public message_processor<T>;
Paramètres
T
Type de charge utile des messages gérés par le processeur.
Membres
Typedefs publics
Nom | Description |
---|---|
type |
Alias de type pour T . |
Constructeurs publics
Nom | Description |
---|---|
ordered_message_processor | Construit un objet ordered_message_processor . |
~ordered_message_processor Destructeur | Détruit l’objet ordered_message_processor . |
Méthodes publiques
Nom | Description |
---|---|
async_send | Met en file d’attente de manière asynchrone les messages et démarre une tâche de traitement, si cette opération n’a pas déjà été effectuée. (Remplace message_processor ::async_send.) |
initialiser | Initialise l’objet ordered_message_processor avec la fonction de rappel, le planificateur et le groupe de planification appropriés. |
initialize_batched_processing | Initialiser le traitement des messages par lots |
sync_send | Met en file d’attente de manière synchrone les messages et démarre une tâche de traitement, si cela n’a pas déjà été fait. (Remplace message_processor ::sync_send.) |
wait | Une attente de spin spécifique au processeur utilisée dans les destructeurs de blocs de messages pour s’assurer que toutes les tâches de traitement asynchrones ont le temps de se terminer avant de détruire le bloc. (Remplace message_processor ::wait.) |
Méthodes protégées
Nom | Description |
---|---|
process_incoming_message | Fonction de traitement appelée de façon asynchrone. Il supprime les messages et commence à les traiter. (Remplace message_processor ::p rocess_incoming_message.) |
Hiérarchie d'héritage
ordered_message_processor
Spécifications
En-tête : agents.h
Espace de noms : concurrency
async_send
Met en file d’attente de manière asynchrone les messages et démarre une tâche de traitement, si cette opération n’a pas déjà été effectuée.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Paramètres
_Msg
Pointeur vers un message.
initialiser
Initialise l’objet ordered_message_processor
avec la fonction de rappel, le planificateur et le groupe de planification appropriés.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Paramètres
_PScheduler
Pointeur vers le planificateur à utiliser pour planifier des tâches légères.
_PScheduleGroup
Pointeur vers le groupe de planification à utiliser pour planifier des tâches légères.
_Gestionnaire
Le fonctor du gestionnaire appelé pendant le rappel.
initialize_batched_processing
Initialiser le traitement des messages par lots
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Paramètres
_Processeur
Le fonctor du processeur appelé pendant le rappel.
_Propagateur
Le fonctor de propagation appelé pendant le rappel.
ordered_message_processor
Construit un objet ordered_message_processor
.
ordered_message_processor();
Notes
Cela ordered_message_processor
ne planifie pas les gestionnaires asynchrones ou synchrones tant que la initialize
fonction n’est pas appelée.
~ordered_message_processor
Détruit l’objet ordered_message_processor
.
virtual ~ordered_message_processor();
Notes
Attend toutes les opérations asynchrones en attente avant de détruire le processeur.
process_incoming_message
Fonction de traitement appelée de façon asynchrone. Il supprime les messages et commence à les traiter.
virtual void process_incoming_message();
sync_send
Met en file d’attente de manière synchrone les messages et démarre une tâche de traitement, si cela n’a pas déjà été fait.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Paramètres
_Msg
Pointeur vers un message.
wait
Une attente de spin spécifique au processeur utilisée dans les destructeurs de blocs de messages pour s’assurer que toutes les tâches de traitement asynchrones ont le temps de se terminer avant de détruire le bloc.
virtual void wait();