source_block classe
O source_block classe é uma classe base abstrata para blocos somente de origem. A classe fornece a funcionalidade de gerenciamento de link básicas como comuns bem como verificações de erro.
template<
class _TargetLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class source_block : public ISource<typename _TargetLinkRegistry::type::type>;
Parâmetros
_TargetLinkRegistry
Registro de link a ser usado para manter os links de destino._MessageProcessorType
Tipo de processador para o processamento de mensagem.
Membros
Definições de tipo públicas
Nome |
Descrição |
---|---|
target_iterator |
O iterador para movimentar os destinos conectados. |
Construtores públicos
Nome |
Descrição |
---|---|
Constrói uma source_block objeto. |
|
Destrói a source_block objeto. |
Métodos públicos
Nome |
Descrição |
---|---|
Aceita uma mensagem que foi oferecida por esse source_block o objeto, transferência de propriedade para o chamador. |
|
Adquire uma contagem de referência sobre isso source_block o objeto, para evitar a exclusão. |
|
Consome uma mensagem anteriormente oferecida por esse source_block object e reservado com êxito pelo destino, transferência de propriedade para o chamador. |
|
Isso vincula um bloco de destino source_block objeto. |
|
Libera uma reserva de mensagem bem-sucedida anterior. |
|
Libera uma contagem de referência sobre isso source_block objeto. |
|
Reserva uma mensagem anteriormente oferecida por esse source_block objeto. |
|
Desvincula um bloco de destino a partir dessa source_block objeto. |
|
Desvincula todos os blocos de destino a partir dessa source_block objeto. (Substitui ISource::unlink_targets.) |
Métodos protegidos
Nome |
Descrição |
---|---|
Quando substituído em uma classe derivada, aceita uma mensagem oferecida pela origem. Blocos de mensagem devem substituir esse método para validar o _MsgId e retornar uma mensagem. |
|
Filas de mensagens de forma assíncrona e inicia uma tarefa de propagação, se isso não foi feito já |
|
Quando substituído em uma classe derivada, consome uma mensagem que foi reservada anteriormente. |
|
Inicializa o message_propagator deste source_block. |
|
Um retorno de chamada que notifica que um novo destino tenha sido vinculado a esta source_block objeto. |
|
Quando substituído em uma classe derivada, propaga a mensagem dada a qualquer ou todos os destinos vinculado. Esta é a rotina de propagação principal para blocos de mensagem. |
|
Quando substituído em uma classe derivada, libera uma reserva de mensagem anterior. |
|
Remove todos os links de destino para o bloco de código-fonte. Isso deve ser chamado a partir do destruidor. |
|
Quando substituído em uma classe derivada, reserva-se uma mensagem anteriormente oferecida por esse source_block objeto. |
|
Quando substituído em uma classe derivada, retoma a propagação após uma reserva foi lançada. |
|
Modo síncrono, filas de mensagens e inicia uma tarefa de propagação, se isso não foi feito já. |
|
Um retorno de chamada que notifica que um destino foi desvinculado desse source_block objeto. |
|
Aguarda até que todas as propagações assíncronas concluir. Essa espera específicos de propagador de rotação é usada em destruidores de blocos de mensagem para certificar-se de que todas as propagações assíncronas tenham tempo para concluir antes de destruir o bloco. |
Comentários
Blocos de mensagem devem derivar desse bloco de tirar proveito do gerenciamento de link e sincronização fornecidos por esta classe.
Hierarquia de herança
Requisitos
Cabeçalho: Agents.h
Namespace: Simultaneidade