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.
Elementy członkowskie
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.) |
zainicjuj | 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
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.
zainicjuj
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();