Classe source_link_manager
O objeto source_link_manager
gerencia links de rede de bloqueio de mensagens para blocos ISource
.
Sintaxe
template<class _LinkRegistry>
class source_link_manager;
Parâmetros
_LinkRegistry
O Registro de link de rede.
Membros
Typedefs públicos
Nome | Descrição |
---|---|
const_pointer |
Um tipo que fornece um ponteiro para um elemento const em um objeto source_link_manager . |
const_reference |
Um tipo que fornece uma referência para um elemento const armazenado em um objeto source_link_manager para ler e executar operações const. |
iterator |
Um tipo que fornece um iterador que pode ler ou modificar qualquer elemento em um objeto source_link_manager . |
type |
O tipo de Registro de link que está sendo gerenciado pelo objeto source_link_manager . |
Construtores públicos
Nome | Descrição |
---|---|
source_link_manager | Constrói um objeto source_link_manager . |
Destruidor ~source_link_manager | Destrói o objeto source_link_manager . |
Métodos públicos
Nome | Descrição |
---|---|
add | Adiciona um link de origem ao objeto source_link_manager . |
begin | Retorna um iterador que trata o primeiro elemento no source_link_manager . |
contains | Pesquisa network_link_registry dentro desse objeto source_link_manager para um bloco especificado. |
count | Conta o número de blocos vinculados no objeto source_link_manager . |
referência | Adquire uma referência no objeto source_link_manager . |
register_target_block | Registra o bloco de destino que contém esse objeto source_link_manager . |
release | Libera a referência no objeto source_link_manager . |
remove | Remove um link do objeto source_link_manager . |
set_bound | Define o número máximo de links de origem que podem ser adicionados a esse objeto source_link_manager . |
Comentários
Atualmente, os blocos de origem são contados para referência. Esse é um wrapper em um objeto network_link_registry
que permite acesso simultâneo aos links e possibilita referenciar os links por meio de retornos de chamada. Os blocos de mensagens (target_block
s ou propagator_block
s) devem usar essa classe para seus links de origem.
Hierarquia de herança
source_link_manager
Requisitos
Cabeçalho: agents.h
Namespace: concurrency
adicionar
Adiciona um link de origem ao objeto source_link_manager
.
void add(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco a ser adicionado.
begin
Retorna um iterador que trata o primeiro elemento no source_link_manager
.
iterator begin();
Valor de retorno
Um iterador que trata o primeiro elemento no objeto source_link_manager
.
Comentários
O estado final do iterador é indicado por um link NULL
.
contains
Pesquisa network_link_registry
dentro desse objeto source_link_manager
para um bloco especificado.
bool contains(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco que deve ser pesquisado no objeto source_link_manager
.
Valor de retorno
true
se o bloco especificado tiver sido encontrado; caso contrário, false
.
count
Conta o número de blocos vinculados no objeto source_link_manager
.
size_t count();
Valor de retorno
O número de blocos vinculados no objeto source_link_manager
.
reference
Adquire uma referência no objeto source_link_manager
.
void reference();
register_target_block
Registra o bloco de destino que contém esse objeto source_link_manager
.
void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);
Parâmetros
_PTarget
O bloco de destino que contém esse objeto source_link_manager
.
release
Libera a referência no objeto source_link_manager
.
void release();
remove
Remove um link do objeto source_link_manager
.
bool remove(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco a ser removido, se encontrado.
Valor de retorno
true
se o link foi encontrado e removido, caso contrário, false
.
set_bound
Define o número máximo de links de origem que podem ser adicionados a esse objeto source_link_manager
.
void set_bound(size_t _MaxLinks);
Parâmetros
_MaxLinks
O número máximo de links.
source_link_manager
Constrói um objeto source_link_manager
.
source_link_manager();
~ source_link_manager
Destrói o objeto source_link_manager
.
~source_link_manager();
Confira também
Namespace de simultaneidade
Classe single_link_registry
Classe multi_link_registry