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_blocks ou propagator_blocks) devem usar essa classe para seus links de origem.

Hierarquia de herança

source_link_manager

Requisitos

Cabeçalho: agents.h

Namespace: concurrency

add

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 Devolução

Um iterador que trata o primeiro elemento no objeto source_link_manager.

Comentários

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

contém

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 Devolução

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 Devolução

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 Devolução

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