Classe ordered_message_processor
Uma ordered_message_processor
é um message_processor
que permite que blocos de mensagens processem mensagens na ordem em que foram recebidas.
Sintaxe
template<class T>
class ordered_message_processor : public message_processor<T>;
Parâmetros
T
O tipo de carga de mensagens manipuladas pelo processador.
Membros
Typedefs públicos
Nome | Descrição |
---|---|
type |
Um alias de tipo para T . |
Construtores públicos
Nome | Descrição |
---|---|
ordered_message_processor | Constrói um objeto ordered_message_processor . |
Destruidor ~ordered_message_processor | Destrói o objeto ordered_message_processor . |
Métodos públicos
Nome | Descrição |
---|---|
async_send | Enfileira as mensagens de forma assíncrona e inicia uma tarefa de processamento se isso ainda não tiver sido feito. (Substitui message_processor::async_send.) |
initialize | Inicializa o objeto ordered_message_processor com a função de retorno de chamada, o agendador e o grupo agendado apropriados. |
initialize_batched_processing | Inicializa o processamento de mensagens em lote |
sync_send | Enfileira as mensagens de forma síncrona e inicia uma tarefa de processamento se isso ainda não tiver sido feito. (Substitui message_processor::sync_send.) |
wait | Essa espera de rotação específica do propagador é usada em destruidores de blocos de mensagem para garantir que todas as propagações assíncronas tenham tempo para serem concluídas antes da destruição do bloco. (Substitui message_processor::wait.) |
Métodos protegidos
Nome | Descrição |
---|---|
process_incoming_message | A função de processamento que é chamada de forma assíncrona. Ela remove mensagens da fila e começa a processá-las. (Substitui message_processor::process_incoming_message.) |
Hierarquia de herança
ordered_message_processor
Requisitos
Cabeçalho: agents.h
Namespace: concurrency
async_send
Enfileira as mensagens de forma assíncrona e inicia uma tarefa de processamento se isso ainda não tiver sido feito.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Parâmetros
_Msg
Um ponteiro para uma mensagem.
Initialize
Inicializa o objeto ordered_message_processor
com a função de retorno de chamada, o agendador e o grupo agendado apropriados.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Parâmetros
_PScheduler
Um ponteiro para o agendador a ser usado para agendar tarefas leves.
_PScheduleGroup
Um ponteiro para o grupo agendado a ser usado para agendar tarefas leves.
_Handler
O functor do manipulador invocado durante o retorno de chamada.
initialize_batched_processing
Inicializa o processamento de mensagens em lote
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Parâmetros
_Processor
O functor do processador invocado durante o retorno de chamada.
_Propagator
O functor do propagador invocado durante o retorno de chamada.
ordered_message_processor
Constrói um objeto ordered_message_processor
.
ordered_message_processor();
Comentários
Esse ordered_message_processor
não agendará manipuladores assíncronos ou síncronos enquanto a função initialize
não for chamada.
~ordered_message_processor
Destrói o objeto ordered_message_processor
.
virtual ~ordered_message_processor();
Comentários
Aguarda todas as operações assíncronas pendentes antes de destruir o processador.
process_incoming_message
A função de processamento que é chamada de forma assíncrona. Ela remove mensagens da fila e começa a processá-las.
virtual void process_incoming_message();
sync_send
Enfileira as mensagens de forma síncrona e inicia uma tarefa de processamento se isso ainda não tiver sido feito.
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
Parâmetros
_Msg
Um ponteiro para uma mensagem.
wait
Essa espera de rotação específica do propagador é usada em destruidores de blocos de mensagem para garantir que todas as propagações assíncronas tenham tempo para serem concluídas antes da destruição do bloco.
virtual void wait();