Transformador de classe
A transformer Bloco de mensagens é um único destino, várias fontes, ordenada propagator_block que podem aceitar mensagens de um tipo e é capaz de armazenar um número não vinculado de mensagens de um tipo diferente.
template<
class _Input,
class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;
Parâmetros
_Input
O tipo de carga das mensagens aceitas por um buffer._Output
O tipo de carga das mensagens armazenadas e propagadas para fora pelo buffer.
Membros
Construtores públicos
Nome |
Descrição |
---|---|
Sobrecarregado. Constrói uma transformer mensagens bloco. |
|
Destrói a transformer de mensagens do bloco. |
Métodos protegidos
Nome |
Descrição |
---|---|
Aceita uma mensagem que foi oferecida por esse transformer mensagens de bloco, transferência de propriedade para o chamador. |
|
Consome uma mensagem anteriormente oferecida pelo transformer e reservado pelo destino, transferência de propriedade para o chamador. |
|
Um retorno de chamada que notifica que um novo destino tenha sido vinculado a esta transformer mensagens bloco. |
|
Assincronamente transmite uma mensagem de um ISource a este bloco de transformer mensagens bloco. Ele é chamado pela propagate método, quando chamado por um bloco de código-fonte. |
|
Executa a função de transformador nas mensagens de entrada e tenta oferecer a mensagem resultante para todos os destinos vinculados. |
|
Libera uma reserva de mensagem anterior. (Substitui source_block::release_message.) |
|
Reserva uma mensagem anteriormente oferecida por esse transformer mensagens bloco. (Substitui source_block::reserve_message.) |
|
Reinicia a propagação após uma reserva foi lançada. (Substitui source_block::resume_propagation.) |
|
Passa de forma síncrona uma mensagem de um ISource a este bloco de transformer mensagens bloco. Ele é chamado pela send método, quando chamado por um bloco de código-fonte. |
Comentários
Para obter mais informações, consulte Blocos de mensagens assíncronas.
Hierarquia de herança
Requisitos
Cabeçalho: Agents.h
Namespace: Simultaneidade