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.
Elementy członkowskie
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