Partager via


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.)
Attendre 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

message_processor

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();

Voir aussi

accès concurrentiel Namespace