Udostępnij za pośrednictwem


ordered_message_processor — Klasa

Element ordered_message_processor to element message_processor , który umożliwia blokom komunikatów przetwarzanie komunikatów w kolejności, w której zostały odebrane.

Składnia

template<class T>
class ordered_message_processor : public message_processor<T>;

Parametry

T
Typ ładunku komunikatów obsługiwanych przez procesor.

Członkowie

Definicje typów publicznych

Nazwa/nazwisko opis
type Alias typu dla elementu T.

Konstruktory publiczne

Nazwa/nazwisko opis
ordered_message_processor ordered_message_processor Tworzy obiekt.
~ordered_message_processor Destruktor ordered_message_processor Niszczy obiekt.

Metody publiczne

Nazwa/nazwisko opis
async_send Asynchronicznie kolejkuje komunikaty i uruchamia zadanie przetwarzania, jeśli jeszcze tego nie zrobiono. (Przesłania message_processor ::async_send.)
Zainicjować Inicjuje ordered_message_processor obiekt z odpowiednią funkcją wywołania zwrotnego, harmonogramem i grupą harmonogramu.
initialize_batched_processing Inicjowanie przetwarzania wsadowego komunikatów
sync_send Synchronicznie kolejkuje komunikaty i uruchamia zadanie przetwarzania, jeśli jeszcze tego nie zrobiono. (Przesłonięcia message_processor::sync_send.)
Czekać Oczekiwanie na spin specyficzny dla procesora używane w destruktorach bloków komunikatów, aby upewnić się, że wszystkie zadania przetwarzania asynchronicznego mają czas na zakończenie przed zniszczeniem bloku. (Przesłonięcia message_processor::wait).)

Metody chronione

Nazwa/nazwisko opis
process_incoming_message Funkcja przetwarzania, która jest wywoływana asynchronicznie. Odsłania komunikaty i zaczyna je przetwarzać. (Przesłonięcia message_processor::p rocess_incoming_message).

Hierarchia dziedziczenia

message_processor

ordered_message_processor

Wymagania

Nagłówek: agents.h

Przestrzeń nazw: współbieżność

async_send

Asynchronicznie kolejkuje komunikaty i uruchamia zadanie przetwarzania, jeśli jeszcze tego nie zrobiono.

virtual void async_send(_Inout_opt_ message<T>* _Msg);

Parametry

_Msg
Wskaźnik do komunikatu.

Zainicjować

Inicjuje ordered_message_processor obiekt z odpowiednią funkcją wywołania zwrotnego, harmonogramem i grupą harmonogramu.

void initialize(
    _Inout_opt_ Scheduler* _PScheduler,
    _Inout_opt_ ScheduleGroup* _PScheduleGroup,
    _Handler_method const& _Handler);

Parametry

_PScheduler
Wskaźnik do harmonogramu, który ma być używany do planowania zadań lekkich.

_PScheduleGroup
Wskaźnik do grupy harmonogramu, która ma być używana do planowania zadań lekkich.

_Obsługi
Program obsługi functor wywoływany podczas wywołania zwrotnego.

initialize_batched_processing

Inicjowanie przetwarzania wsadowego komunikatów

virtual void initialize_batched_processing(
    _Handler_method const& _Processor,
    _Propagator_method const& _Propagator);

Parametry

_Procesor
Functor procesora wywoływany podczas wywołania zwrotnego.

_Propagator
Propagator functor wywoływany podczas wywołania zwrotnego.

ordered_message_processor

ordered_message_processor Tworzy obiekt.

ordered_message_processor();

Uwagi

Nie spowoduje to ordered_message_processor zaplanowanie asynchronicznych ani synchronicznych procedur obsługi do momentu initialize wywołania funkcji.

~ordered_message_processor

ordered_message_processor Niszczy obiekt.

virtual ~ordered_message_processor();

Uwagi

Czeka na wszystkie zaległe operacje asynchroniczne przed zniszczeniem procesora.

process_incoming_message

Funkcja przetwarzania, która jest wywoływana asynchronicznie. Odsłania komunikaty i zaczyna je przetwarzać.

virtual void process_incoming_message();

sync_send

Synchronicznie kolejkuje komunikaty i uruchamia zadanie przetwarzania, jeśli jeszcze tego nie zrobiono.

virtual void sync_send(_Inout_opt_ message<T>* _Msg);

Parametry

_Msg
Wskaźnik do komunikatu.

wait

Oczekiwanie na spin specyficzny dla procesora używane w destruktorach bloków komunikatów, aby upewnić się, że wszystkie zadania przetwarzania asynchronicznego mają czas na zakończenie przed zniszczeniem bloku.

virtual void wait();

Zobacz też

Przestrzeń nazw współbieżności