Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 apelido de tipo para T. |
Construtores públicos
| Nome | Descrição |
|---|---|
| processador_de_mensagens_ordenadas | 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 callback apropriada, o agendador e o grupo de agendamento. |
| inicializar_processamento_em_lotes | 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 processador é usada em destruidores de bloco de mensagens para garantir que todas as tarefas de processamento assíncronas tenham tempo para terminarem antes da destruição do bloco. (Sobrescreve message_processor::wait.) |
Métodos protegidos
| Nome | Descrição |
|---|---|
| processar_mensagem_entrante | A função de processamento que é chamada de forma assíncrona. O sistema desenfileira mensagens e começa a processá-las. (Sobrescreve message_processor::process_incoming_message.) |
Hierarquia de herança
ordered_message_processor
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade
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.
inicializar
Inicializa o objeto ordered_message_processor com a função de callback apropriada, o agendador e o grupo de agendamento.
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 de agendamento a ser usado para agendar tarefas de baixo custo.
_Handler
O functor do manipulador invocado durante a chamada de retorno.
inicializar_processamento_em_lotes (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 callback.
_Propagator
O functor do propagador invocado durante o retorno de chamada.
processador_de_mensagens_ordenadas
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.
processar_mensagem_entrante
A função de processamento que é chamada de forma assíncrona. O sistema desenfileira mensagens 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.
aguarde
Essa espera de rotação específica do processador é usada em destruidores de bloco de mensagens para garantir que todas as tarefas de processamento assíncronas tenham tempo para terminarem antes da destruição do bloco.
virtual void wait();