Compartir a través de


source_link_manager Clase

El objeto source_link_manager gestiona los enlaces de red de los bloques de mensajería hacia los bloques ISource.

Sintaxis

template<class _LinkRegistry>
class source_link_manager;

Parámetros

_LinkRegistry
Registro de vínculo de red.

Miembros

Definiciones de tipos públicas

Nombre Descripción
const_pointer Tipo que proporciona un puntero a un elemento const en un objeto source_link_manager.
const_reference Tipo que proporciona una referencia a un elemento const almacenado en un objeto source_link_manager para leer operaciones const y realizarlas.
iterator Tipo que proporciona un iterador que puede leer o modificar cualquier elemento del objeto source_link_manager.
type Tipo de registro de vínculo que administra el objeto source_link_manager.

Constructores públicos

Nombre Descripción
gestor_de_enlaces_de_fuente Construye un objeto source_link_manager.
~source_link_manager Destructor Destruye el objeto source_link_manager.

Métodos públicos

Nombre Descripción
agregar Agrega un vínculo de origen al objeto source_link_manager.
begin Devuelve un iterador al primer elemento del objeto source_link_manager.
contiene Busca en el elemento network_link_registry de este objeto source_link_manager un bloque especificado.
count Cuenta el número de bloques vinculados en el objeto source_link_manager.
referencia Adquiere una referencia en el objeto source_link_manager.
register_target_block Registra el bloque de destino que contiene este objeto source_link_manager.
release Libera la referencia en el objeto source_link_manager.
remove Quita un vínculo del objeto source_link_manager.
set_bound Establece el número máximo de vínculos de origen que se pueden agregar a este objeto source_link_manager.

Comentarios

Actualmente, los bloques de origen están gestionados mediante contadores de referencia. Se trata de un contenedor sobre un objeto network_link_registry que permite el acceso simultáneo a los enlaces y ofrece la posibilidad de hacer referencia a ellos mediante callbacks. Los bloques de mensajes (target_blocks o propagator_blocks) deben usar esta clase para sus vínculos de origen.

Jerarquía de herencia

source_link_manager

Requisitos

Encabezado: agents.h

Espacio de nombres: simultaneidad

añadir

Agrega un vínculo de origen al objeto source_link_manager.

void add(_EType _Link);

Parámetros

_Link
Puntero a un bloque que se va a agregar.

begin

Devuelve un iterador al primer elemento del objeto source_link_manager.

iterator begin();

Valor devuelto

Iterador que direcciona el primer elemento del objeto source_link_manager.

Comentarios

El estado final del iterador se indica mediante un vínculo NULL.

contiene

Busca en el elemento network_link_registry de este objeto source_link_manager un bloque especificado.

bool contains(_EType _Link);

Parámetros

_Link
Puntero a un bloque que se va a buscar en el objeto source_link_manager.

Valor devuelto

true si se ha encontrado el bloque especificado; de lo contrario, false.

conteo

Cuenta el número de bloques vinculados en el objeto source_link_manager.

size_t count();

Valor devuelto

Número de bloques vinculados en el objeto source_link_manager.

referencia

Adquiere una referencia en el objeto source_link_manager.

void reference();

registrar_bloque_objetivo

Registra el bloque de destino que contiene este objeto source_link_manager.

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

Parámetros

_PTarget
Bloque de destino que contiene este objeto source_link_manager.

lanzamiento

Libera la referencia en el objeto source_link_manager.

void release();

eliminar

Quita un vínculo del objeto source_link_manager.

bool remove(_EType _Link);

Parámetros

_Link
Puntero a un bloque que debe ser eliminado, si se encuentra.

Valor devuelto

true si se ha encontrado y quitado el vínculo, de lo contrario, false.

establecer_límite

Establece el número máximo de vínculos de origen que se pueden agregar a este objeto source_link_manager.

void set_bound(size_t _MaxLinks);

Parámetros

_MaxLinks
Número máximo de vínculos.

gestor_de_enlaces_fuente

Construye un objeto source_link_manager.

source_link_manager();

~source_link_manager

Destruye el objeto source_link_manager.

~source_link_manager();

Consulte también

espacio de nombres de concurrencia
Clase de registro_single_link
Clase multi_link_registry