Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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