Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La classe message_processor rappresenta la classe base astratta per l'elaborazione degli oggetti message. Non esiste garanzia sull'ordinamento dei messaggi.
Sintassi
template<class T>
class message_processor;
Parametri
T
Tipo di dati del payload all'interno dei messaggi gestiti da questo message_processor oggetto.
Membri
Typedef pubblici
| Nome | Descrizione |
|---|---|
type |
Alias di tipo per T. |
Metodi pubblici
| Nome | Descrizione |
|---|---|
| async_send | Quando sottoposto a override in una classe derivata, inserisce i messaggi nel blocco in modo asincrono. |
| sync_send | Quando sottoposto a override in una classe derivata, inserisce i messaggi nel blocco in modo sincrono. |
| aspettare | Quando sottoposto a override in una classe derivata, attende il completamento di tutte le operazioni asincrone. |
Metodi protetti
| Nome | Descrizione |
|---|---|
| process_incoming_message | Quando sottoposto a override in una classe derivata, esegue l'elaborazione in avanti dei messaggi nel blocco. Chiamato una volta ogni volta che viene aggiunto un nuovo messaggio e la coda viene trovata come vuota. |
Gerarchia di ereditarietà
message_processor
Requisiti
Intestazione: agents.h
Spazio dei nomi: Concurrency
async_send
Quando sottoposto a override in una classe derivata, inserisce i messaggi nel blocco in modo asincrono.
virtual void async_send(_Inout_opt_ message<T>* _Msg) = 0;
Parametri
_Msg
Oggetto message da inviare in modo asincrono.
Osservazioni:
Le implementazioni del processore devono eseguire l'override di questo metodo.
process_incoming_message
Quando sottoposto a override in una classe derivata, esegue l'elaborazione in avanti dei messaggi nel blocco. Chiamato una volta ogni volta che viene aggiunto un nuovo messaggio e la coda viene trovata come vuota.
virtual void process_incoming_message() = 0;
Osservazioni:
Le implementazioni del blocco di messaggi devono eseguire l'override di questo metodo.
sync_send
Quando sottoposto a override in una classe derivata, inserisce i messaggi nel blocco in modo sincrono.
virtual void sync_send(_Inout_opt_ message<T>* _Msg) = 0;
Parametri
_Msg
Oggetto message da inviare in modo sincrono.
Osservazioni:
Le implementazioni del processore devono eseguire l'override di questo metodo.
wait
Quando sottoposto a override in una classe derivata, attende il completamento di tutte le operazioni asincrone.
virtual void wait() = 0;
Osservazioni:
Le implementazioni del processore devono eseguire l'override di questo metodo.
Vedi anche
Spazio dei nomi concurrency
Classe ordered_message_processor