ordered_message_processor-Klasse
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.
Member
Öffentliche Typedefs
Name | Beschreibung |
---|---|
type |
Ein Typalias für T . |
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
ordered_message_processor | Erstellt ein ordered_message_processor -Objekt. |
~ordered_message_processor Destruktor | Zerstört das ordered_message_processor -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
async_send | Asynchron werden Nachrichten in die Warteschlange gestellt und eine Verarbeitungsaufgabe 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. |
initialize_batched_processing | Initialisieren der Verarbeitung von Batchnachrichten |
sync_send | Synchronisiert Nachrichten synchron in die Warteschlange und startet eine Verarbeitungsaufgabe, sofern dies noch nicht geschehen 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, bevor der Block zerstört wird. (Überschreibt message_processor::wait.) |
Geschützte Methoden
Name | Beschreibung |
---|---|
process_incoming_message | Die Verarbeitungsfunktion, die asynchron aufgerufen wird. Nachrichten werden dequeuesiert und damit begonnen, sie zu verarbeiten. (Überschreibt message_processor::p rocess_incoming_message.) |
Vererbungshierarchie
ordered_message_processor
Anforderungen
Header: agents.h
Namespace: Parallelität
async_send
Asynchron werden Nachrichten in die Warteschlange gestellt und eine Verarbeitungsaufgabe gestartet, sofern dies noch nicht geschehen ist.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Parameter
_Msg
Ein Zeiger auf eine Nachricht.
initialize
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.
initialize_batched_processing
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 Verteilungs-Functor, der während des Rückrufs aufgerufen wird.
ordered_message_processor
Erstellt ein ordered_message_processor
-Objekt.
ordered_message_processor();
Hinweise
Dadurch ordered_message_processor
werden erst asynchrone oder synchrone Handler geplant, wenn 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.
process_incoming_message
Die Verarbeitungsfunktion, die asynchron aufgerufen wird. Nachrichten werden dequeuesiert und damit begonnen, sie zu verarbeiten.
virtual void process_incoming_message();
sync_send
Synchronisiert Nachrichten synchron in die Warteschlange und startet eine Verarbeitungsaufgabe, sofern dies noch nicht geschehen ist.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Parameter
_Msg
Ein Zeiger auf eine Nachricht.
wait
Eine prozessorspezifische Drehwartezeit, die in Destruktoren von Nachrichtenblöcken verwendet wird, um sicherzustellen, dass alle asynchronen Verarbeitungsaufgaben Zeit haben, bevor der Block zerstört wird.
virtual void wait();