Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein ordered_message_processor ist ein message_processor, mit dem Meldungsblöcke Meldungen in der Reihenfolge verarbeiten können, in der sie empfangen wurden.
Syntax
template<class T>
class ordered_message_processor : public message_processor<T>;
Parameter
T
Der Nutzlasttyp von Nachrichten, die vom Prozessor verarbeitet werden.
Mitglieder
Öffentliche Typedefs
| Name | Beschreibung |
|---|---|
type |
Ein Typalias für T. |
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| Sortierter_Nachrichtprozessor | Erstellt ein ordered_message_processor-Objekt. |
| ~ordered_message_processor Destruktor | Zerstört das ordered_message_processor-Objekt. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| async_send | Nachrichten werden asynchron in die Warteschlange gestellt, und eine Verarbeitungsaufgabe wird gestartet, sofern dies noch nicht geschehen ist. (Überschreibt message_processor::async_send.) |
| initialisieren | Initialisiert das ordered_message_processor Objekt mit der entsprechenden Rückruffunktion, dem Zeitplan und der Zeitplangruppe. |
| initialisiere_gebündelte_Verarbeitung | Initialisieren der Verarbeitung von Batchnachrichten |
| sync_send | Stellt Nachrichten synchron in die Warteschlange und startet eine Verarbeitungsaufgabe, wenn dies noch nicht erfolgt ist. (Überschreibt message_processor::sync_send.) |
| wait | Eine prozessorspezifische Drehwartezeit, die in Destruktoren von Nachrichtenblöcken verwendet wird, um sicherzustellen, dass alle asynchronen Verarbeitungsaufgaben Zeit haben, um abgeschlossen zu werden, bevor der Block gelöscht wird. (Überschreibt message_processor::wait.) |
Geschützte Methoden
| Name | Beschreibung |
|---|---|
| process_incoming_message | Die Verarbeitungsfunktion, die asynchron aufgerufen wird. Nachrichten werden aus der Warteschlange entfernt, und die Verarbeitung beginnt. (Überschreibt message_processor::process_incoming_message.) |
Vererbungshierarchie
ordered_message_processor
Anforderungen
Header: agents.h
Namespace: Parallelität
async_send
Nachrichten werden asynchron in die Warteschlange gestellt und eine Verarbeitungsaufgabe wird gestartet, falls dies nicht bereits geschehen ist.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Parameter
_Msg
Ein Zeiger auf eine Nachricht.
initialisieren
Initialisiert das ordered_message_processor Objekt mit der entsprechenden Rückruffunktion, dem Zeitplan und der Zeitplangruppe.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Parameter
_PScheduler
Ein Zeiger auf den Planer, der für die Planung von leichtgewichtigen Vorgängen verwendet werden soll.
_PScheduleGroup
Ein Zeiger auf die Zeitplangruppe, die für die Planung von Vorgängen mit geringem Gewicht verwendet werden soll.
_Handler
Der Handler-Functor, der während des Rückrufs aufgerufen wird.
initialisiere_gebündelte_Verarbeitung
Initialisieren der Verarbeitung von Batchnachrichten
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Parameter
_Prozessor
Der Prozessor-Functor, der während des Rückrufs aufgerufen wurde.
_Propagator
Der Propagator-Functor, der während des Callback aufgerufen wird.
geordneter_Nachrichtenprozessor
Erstellt ein ordered_message_processor-Objekt.
ordered_message_processor();
Hinweise
Die ordered_message_processor planen keine asynchronen oder synchronen Handler, bis die initialize Funktion aufgerufen wird.
~ordered_message_processor
Zerstört das ordered_message_processor-Objekt.
virtual ~ordered_message_processor();
Hinweise
Wartet auf alle ausstehenden asynchronen Vorgänge, bevor der Prozessor zerstört wird.
Nachricht_verarbeiten
Die Verarbeitungsfunktion, die asynchron aufgerufen wird. Nachrichten werden aus der Warteschlange entfernt, und die Verarbeitung beginnt.
virtual void process_incoming_message();
sync_send
Stellt Nachrichten synchron in die Warteschlange und startet eine Verarbeitungsaufgabe, wenn dies noch nicht erfolgt ist.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Parameter
_Msg
Ein Zeiger auf eine Nachricht.
warten
Eine prozessorspezifische Drehwartezeit, die in Destruktoren von Nachrichtenblöcken verwendet wird, um sicherzustellen, dass alle asynchronen Verarbeitungsaufgaben Zeit haben, um abgeschlossen zu werden, bevor der Block gelöscht wird.
virtual void wait();