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

message_processor

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

Siehe auch

Concurrency-Namespace