Compartilhar via


Classe MessageProcessor

A classe message_processor é a classe base abstrata para processamento de objetos message. Não há garantia sobre a ordenação das mensagens.

Sintaxe

template<class T>
class message_processor;

Parâmetros

T
O tipo de dados do conteúdo em mensagens manipuladas por esse objeto message_processor.

Membros

Typedefs públicos

Nome Descrição
type Um apelido de tipo para T.

Métodos públicos

Nome Descrição
async_send Quando substituído por uma classe derivada, coloca mensagens de forma assíncrona no bloco.
sync_send Quando substituído em uma classe derivada, coloca mensagens no bloco de forma síncrona.
wait Quando substituído em uma classe derivada, aguarda a conclusão de todas as operações assíncronas.

Métodos protegidos

Nome Descrição
processar_mensagem_entrante Quando substituído em uma classe derivada, executa o processamento de mensagens para o bloco. Chamado uma vez, sempre que uma nova mensagem é adicionada e a fila é encontrada vazia.

Hierarquia de herança

message_processor

Requisitos

Cabeçalho: agents.h

Namespace: simultaneidade

async_send

Quando substituído em uma classe derivada, coloca mensagens no bloco de forma assíncrona.

virtual void async_send(_Inout_opt_ message<T>* _Msg) = 0;

Parâmetros

_Msg
Um objeto message a ser enviado de forma assíncrona.

Comentários

As implementações de processador devem substituir esse método.

processar_mensagem_entrante

Quando substituído em uma classe derivada, executa o processamento de encaminhamento de mensagens no bloco. Chamada uma vez sempre que uma nova mensagem é adicionada e a fila estiver vazia.

virtual void process_incoming_message() = 0;

Comentários

As implementações de blocos de mensagens devem substituir esse método.

sync_send

Quando substituído em uma classe derivada, coloca mensagens no bloco de forma síncrona.

virtual void sync_send(_Inout_opt_ message<T>* _Msg) = 0;

Parâmetros

_Msg
Um objeto message a ser enviado de forma síncrona.

Comentários

As implementações de processador devem substituir esse método.

aguarde

Quando substituído em uma classe derivada, aguarda a conclusão de todas as operações assíncronas.

virtual void wait() = 0;

Comentários

As implementações de processador devem substituir esse método.

Confira também

Namespace de concorrência
Classe ordered_message_processor