Classe source_block
A classe de source_block é uma classe base abstrata para blocos de origem somente. A classe fornece verificações básicas da funcionalidade de gerenciamento de link bem como de erro comum.
template<
class _TargetLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class source_block : public ISource<typename _TargetLinkRegistry::type::type>;
Parâmetros
_TargetLinkRegistry
O Registro de link para ser usado com o destino vincula._MessageProcessorType
Tipo de processador para o processamento de mensagem.
Membros
Typedefs Públicas
Nome |
Descrição |
---|---|
target_iterator |
O iterador para percorrer os destinos conectados. |
Construtores Públicos
Nome |
Descrição |
---|---|
Constrói um objeto source_block. |
|
Destrói o objeto source_block. |
Métodos Públicos
Nome |
Descrição |
---|---|
Aceita uma mensagem que é oferecida por esse objeto de source_block , transferindo propriedade ao chamador. |
|
Adquire uma contagem de referência nesse objeto de source_block , para evitar a exclusão. |
|
Consome uma mensagem oferecida anteriormente por esse objeto de source_block e reservada com êxito pelo destino, transferindo propriedade ao chamador. |
|
Vincula um bloco de destino para este objeto de source_block . |
|
Libera uma reserva com êxito anterior da mensagem. |
|
Libera uma contagem de referência nesse objeto de source_block . |
|
Reserva uma mensagem oferecida anteriormente por esse objeto de source_block . |
|
Unlinks um bloco de destino deste objeto de source_block . |
|
Unlinks todos os blocos de destino deste objeto de source_block . (Substitui ISource::unlink_targets.) |
Métodos Protegidos
Nome |
Descrição |
---|---|
Quando substituído em uma classe derivada, aceita uma mensagem oferecida pela origem. Os bloqueios da mensagem deve substituir esse método para validar _MsgId e retornar uma mensagem. |
|
As linhas de forma assíncrona acima mensagens e inicia uma tarefa de propagação, se isso já não tiver sido feita |
|
Quando substituído em uma classe derivada, consome uma mensagem que foi reservado anteriormente. |
|
Habilita processamento em lotes o processamento para este bloco. |
|
Inicializa message_propagator nesse source_block. |
|
Um retorno de chamada que notifica que um novo destino esteve associada a este objeto de source_block . |
|
Mensagens de entrada do processo. Isso só é útil para os blocos de propagator, que deriva de source_block |
|
Mensagens de propagação para os destinos. |
|
Quando substituído em uma classe derivada, em propagações a mensagem fornecida para qualquer ou em todos os destinos vinculados. Esta é a rotina principal de propagação de blocos da mensagem. |
|
Quando substituído em uma classe derivada, versões uma reserva anterior da mensagem. |
|
Remove todos os links de destino para esse bloco de origem. Isso deve ser chamado de destruidor. |
|
Quando substituído em uma classe derivada, reservas que uma mensagem oferecida anteriormente por esse objeto de source_block . |
|
Quando substituído em uma classe derivada, propagação de resumos depois que uma reserva foi liberada. |
|
Enfileira mensagens de forma síncrona acima e inicia uma tarefa de propagação, se isso já não tiver sido feita. |
|
Um retorno de chamada que notifica que um destino unlinked deste objeto de source_block . |
|
Espera para que todas as propagações assíncronas serem concluídas. Essa espera propagator- específica de rotação é usada em destruidores de blocos de mensagem para garantir que todas as propagações assíncronas têm tempo para ser concluída antes de destruir o bloco. |
Comentários
Os bloqueios da mensagem deve derivar do bloco para tirar proveito de gerenciamento e de sincronização de link fornecidos por essa classe.
Hierarquia de Herança
source_block
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade