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.
Un ordered_message_processor è un message_processor che consente ai blocchi del messaggio di elaborare messaggi nell'ordine in cui vengono ricevuti.
Sintassi
template<class T>
class ordered_message_processor : public message_processor<T>;
Parametri
T
Tipo di payload dei messaggi gestiti dal processore.
Membri
Typedef pubblici
| Nome | Descrizione |
|---|---|
type |
Alias di tipo per T. |
Costruttori pubblici
| Nome | Descrizione |
|---|---|
| ordered_message_processor | Costruisce un oggetto ordered_message_processor. |
| ~ordered_message_processor Distruttore | Elimina definitivamente l'oggetto ordered_message_processor . |
Metodi pubblici
| Nome | Descrizione |
|---|---|
| async_send | Accoda in modo asincrono i messaggi e avvia un'attività di elaborazione, se questa operazione non è già stata eseguita. Sovrascrive message_processor::async_send. |
| inizializzare | Inizializza l'oggetto ordered_message_processor con la funzione di callback appropriata, il scheduler e il gruppo di pianificazione. |
| inizializzare_elaborazione_batch | Inizializza l'elaborazione batch dei messaggi |
| sync_send | Accoda in modo sincrono i messaggi e avvia un'attività di elaborazione, se questa operazione non è già stata eseguita. Esegue l'override di message_processor::sync_send. |
| aspettare | Attesa di rotazione specifica del processore usata nei distruttori dei blocchi di messaggi per assicurarsi che tutte le attività di elaborazione asincrone abbiano tempo da completare prima di distruggere il blocco. Esegue l'override di message_processor::wait. |
Metodi protetti
| Nome | Descrizione |
|---|---|
| process_incoming_message | La funzione di elaborazione chiamata asincronicamente. Rimuove dalla coda i messaggi e inizia a elaborarli. Sostituisce message_processor::process_incoming_message. |
Gerarchia di ereditarietà
ordered_message_processor
Requisiti
Intestazione: agents.h
Spazio dei nomi: Concurrency
async_send
Accoda in modo asincrono i messaggi e avvia un'attività di elaborazione, se questa operazione non è già stata eseguita.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Parametri
_Msg
Puntatore a un messaggio.
inizializzazione
Inizializza l'oggetto ordered_message_processor con la funzione di callback appropriata, il scheduler e il gruppo di pianificazione.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Parametri
_PScheduler
Puntatore allo scheduler da usare per la pianificazione di attività leggere.
_PScheduleGroup
Puntatore al gruppo di pianificazione da usare per la pianificazione di attività leggere.
_Gestore
Funtore del gestore richiamato durante un callback.
inizializzare_elaborazione_batch
Inizializza l'elaborazione batch dei messaggi
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Parametri
_Processore
Il functor del processore è stato invocato durante il callback.
_Propagatore
Funtore propagatore richiamato durante il callback.
processore_di_messaggi_ordinati
Costruisce un oggetto ordered_message_processor.
ordered_message_processor();
Osservazioni:
Questa ordered_message_processor operazione non pianifica gestori asincroni o sincroni finché la initialize funzione non viene chiamata.
~ordered_message_processor
Elimina definitivamente l'oggetto ordered_message_processor .
virtual ~ordered_message_processor();
Osservazioni:
Attende il completamento di tutte le operazioni asincrone in sospeso prima di eliminare il processore.
processa_messaggio_in_arrivo
La funzione di elaborazione chiamata asincronicamente. Rimuove dalla coda i messaggi e inizia a elaborarli.
virtual void process_incoming_message();
sincronizzare_invio
Accoda in modo sincrono i messaggi e avvia un'attività di elaborazione, se questa operazione non è già stata eseguita.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Parametri
_Msg
Puntatore a un messaggio.
attendere
Attesa di rotazione specifica del processore usata nei distruttori dei blocchi di messaggi per assicurarsi che tutte le attività di elaborazione asincrone abbiano tempo da completare prima di distruggere il blocco.
virtual void wait();