Partilhar via


source_link_manager Classe

O objeto source_link_manager gere as ligações de rede para blocos de mensagens ISource.

Sintaxe

template<class _LinkRegistry>
class source_link_manager;

Parâmetros

_LinkRegistry
O registo de ligação de rede.

Membros

Definições de Tipos Públicas

Nome Description
const_pointer Um tipo que fornece um ponteiro para um const elemento num source_link_manager objeto.
const_reference Um tipo que fornece uma referência a um const elemento armazenado num source_link_manager objeto para leitura e execução de operações const.
iterator Um tipo que fornece um iterador capaz de ler ou modificar qualquer elemento do source_link_manager objeto.
type O tipo de registo de ligação que está a ser gerido pelo source_link_manager objeto.

Construtores Públicos

Nome Description
gerenciador_de_ligações_de_fonte Constrói um source_link_manager objeto.
~source_link_manager Destrutor Destrói o source_link_manager objeto.

Métodos Públicos

Nome Description
add Adiciona um link de origem ao source_link_manager objeto.
começar Devolve um iterador ao primeiro elemento do source_link_manager objeto.
contém Pesquisa dentro network_link_registry deste source_link_manager objeto um bloco especificado.
count Conta o número de blocos ligados no source_link_manager objeto.
reference Adquire uma referência do objeto source_link_manager.
register_target_block Regista o bloco-alvo que contém este source_link_manager objeto.
lançamento Liberta a referência do objeto source_link_manager.
remove Remove um link do objeto source_link_manager.
definir_limite Define o número máximo de links de origem que podem ser adicionados a este source_link_manager objeto.

Observações

Atualmente, os blocos de origem são contados por referência. Este é um wrapper num network_link_registry objeto que permite o acesso concorrente às ligações e permite referenciar as ligações através de callbacks. Os blocos de mensagens (target_blocks ou propagator_blocks) devem usar esta classe para os seus links de origem.

Hierarquia de herança

source_link_manager

Requerimentos

Cabeçalho: agents.h

Namespace: simultaneidade

add

Adiciona um link de origem ao source_link_manager objeto.

void add(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco a ser adicionado.

começar

Devolve um iterador ao primeiro elemento do source_link_manager objeto.

iterator begin();

Valor de retorno

Um iterador que aborda o primeiro elemento do source_link_manager objeto.

Observações

O estado final do iterador é indicado por um NULL link.

contém

Pesquisa dentro network_link_registry deste source_link_manager objeto um bloco especificado.

bool contains(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco que deve ser procurado no source_link_manager objeto.

Valor de retorno

true se o bloco especificado fosse encontrado, false caso contrário.

count

Conta o número de blocos ligados no source_link_manager objeto.

size_t count();

Valor de retorno

O número de blocos ligados do objeto source_link_manager.

referenciar

Adquirir uma referência no objeto source_link_manager.

void reference();

register_target_block

Regista o bloco-alvo que contém este source_link_manager objeto.

void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);

Parâmetros

_PTarget
O bloco-alvo que contém este source_link_manager objeto.

disponibilizar

Liberta a referência do objeto source_link_manager.

void release();

remover

Remove um link do objeto source_link_manager.

bool remove(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco a ser removido, se encontrado.

Valor de retorno

true se o link foi encontrado e removido, false caso contrário.

definir_limite

Define o número máximo de links de origem que podem ser adicionados a este source_link_manager objeto.

void set_bound(size_t _MaxLinks);

Parâmetros

_MaxLinks
O número máximo de links.

source_link_manager

Constrói um source_link_manager objeto.

source_link_manager();

~gestor_de_ligações_de_fonte

Destrói o source_link_manager objeto.

~source_link_manager();

Consulte também

concorrência Namespace
single_link_registry Classe
multi_link_registry Classe