Classe de associação

A join Bloco de mensagens é um único destino, várias fontes, ordenada propagator_block juntos, que combina as mensagens do tipo _Type de cada uma das fontes.

template<
   class _Type,
   join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;

Parâmetros

  • _Type
    O tipo de carga de mensagens ingressou e propagada pelo bloco.

  • _Jtype
    O tipo de join bloco é greedy ou non_greedy

Membros

Construtores públicos

Nome

Descrição

Construtor de JOIN::join

Sobrecarregado. Constrói uma join mensagens bloco.

associação:: ~ ingressar destruidor

Destrói a join bloco.

Métodos protegidos

Nome

Descrição

Método de JOIN::accept_message

Aceita uma mensagem que foi oferecida por esse join mensagens de bloco, transferência de propriedade para o chamador.

Método de JOIN::consume_message

Consome uma mensagem anteriormente oferecida pelo join messaging bloquear e reservado pelo destino, transferência de propriedade para o chamador.

Método de JOIN::link_target_notification

Um retorno de chamada que notifica que um novo destino tenha sido vinculado a esta join mensagens bloco.

Método de JOIN::propagate_message

Assincronamente transmite uma mensagem de um ISource a este bloco de join mensagens bloco. Ele é chamado pela propagate método, quando chamado por um bloco de código-fonte.

Método de JOIN::propagate_to_any_targets

Constrói uma mensagem de saída contendo uma mensagem de entrada de cada fonte quando todos têm propagada uma mensagem. Envia a mensagem de saída para cada um de seus destinos.

Método de JOIN::release_message

Libera uma reserva de mensagem anterior. (Substitui source_block::release_message.)

Método de JOIN::reserve_message

Reserva uma mensagem anteriormente oferecida por esse join mensagens bloco. (Substitui source_block::reserve_message.)

Método de JOIN::resume_propagation

Reinicia a propagação após uma reserva foi lançada. (Substitui source_block::resume_propagation.)

Comentários

Para obter mais informações, consulte Blocos de mensagens assíncronas.

Hierarquia de herança

Podem ser

source_block

ITarget

propagator_block

associação

Requisitos

Cabeçalho: Agents.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

Classe de opção

multitype_join classe

Enumeração de join_type