Udostępnij za pośrednictwem


message_processor — Klasa

Klasa message_processor jest abstrakcyjną klasą bazową do przetwarzania message obiektów. Nie ma żadnej gwarancji na kolejność komunikatów.

Składnia

template<class T>
class message_processor;

Parametry

T
Typ danych ładunku w komunikatach obsługiwanych przez ten message_processor obiekt.

Członkowie

Definicje typów publicznych

Nazwa/nazwisko opis
type Alias typu dla elementu T.

Metody publiczne

Nazwa/nazwisko opis
async_send Po przesłonięciu w klasie pochodnej komunikaty są umieszczane w bloku asynchronicznie.
sync_send Gdy przesłonięta w klasie pochodnej, program umieszcza komunikaty w bloku synchronicznie.
Czekać Po zastąpieniu w klasie pochodnej czeka na ukończenie wszystkich operacji asynchronicznych.

Metody chronione

Nazwa/nazwisko opis
process_incoming_message Po zastąpieniu w klasie pochodnej wykonuje przetwarzanie dalej komunikatów do bloku. Wywoływany raz za każdym razem, gdy dodawany jest nowy komunikat, a kolejka jest pusta.

Hierarchia dziedziczenia

message_processor

Wymagania

Nagłówek: agents.h

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

async_send

Po przesłonięciu w klasie pochodnej komunikaty są umieszczane w bloku asynchronicznie.

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

Parametry

_Msg
message Obiekt, który ma być wysyłany asynchronicznie.

Uwagi

Implementacje procesora powinny zastąpić tę metodę.

process_incoming_message

Po zastąpieniu w klasie pochodnej wykonuje przetwarzanie dalej komunikatów do bloku. Wywoływany raz za każdym razem, gdy dodawany jest nowy komunikat, a kolejka jest pusta.

virtual void process_incoming_message() = 0;

Uwagi

Implementacje bloku komunikatów powinny zastąpić tę metodę.

sync_send

Gdy przesłonięta w klasie pochodnej, program umieszcza komunikaty w bloku synchronicznie.

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

Parametry

_Msg
message Obiekt, który ma być wysyłany synchronicznie.

Uwagi

Implementacje procesora powinny zastąpić tę metodę.

wait

Po zastąpieniu w klasie pochodnej czeka na ukończenie wszystkich operacji asynchronicznych.

virtual void wait() = 0;

Uwagi

Implementacje procesora powinny zastąpić tę metodę.

Zobacz też

Przestrzeń nazw współbieżności
ordered_message_processor, klasa