source_link_manager 클래스source_link_manager Class

source_link_manager 개체는 ISource 블록에 대한 메시징 블록 네트워크 연결을 관리합니다.The source_link_manager object manages messaging block network links to ISource blocks.

구문Syntax

template<class _LinkRegistry>
class source_link_manager;

매개 변수Parameters

_LinkRegistry_LinkRegistry
네트워크 링크 레지스트리The network link registry.

멤버Members

공용 TypedefsPublic Typedefs

NameName 설명Description
const_pointer 개체의 요소에 대 한 포인터를 제공 하는 형식입니다 const source_link_manager .A type that provides a pointer to a const element in a source_link_manager object.
const_reference const source_link_manager Const 작업을 읽고 수행 하기 위해 개체에 저장 된 요소에 대 한 참조를 제공 하는 형식입니다.A type that provides a reference to a const element stored in a source_link_manager object for reading and performing const operations.
iterator 개체의 모든 요소를 읽거나 수정할 수 있는 반복기를 제공 하는 형식입니다 source_link_manager .A type that provides an iterator that can read or modify any element in the source_link_manager object.
type 개체에서 관리 하는 링크 레지스트리의 형식입니다 source_link_manager .The type of link registry being managed by the source_link_manager object.

Public 생성자Public Constructors

NameName 설명Description
source_link_managersource_link_manager source_link_manager 개체를 생성합니다.Constructs a source_link_manager object.
~ source_link_manager 소멸자~source_link_manager Destructor 개체를 소멸 시킵니다 source_link_manager .Destroys the source_link_manager object.

Public 메서드Public Methods

이름Name 설명Description
addadd 개체에 소스 링크를 추가 source_link_manager 합니다.Adds a source link to the source_link_manager object.
시작begin 개체의 첫 번째 요소에 대 한 반복기를 반환 source_link_manager 합니다.Returns an iterator to the first element in the source_link_manager object.
containscontains network_link_registry이 개체 내에서 지정 된 블록을 검색 합니다 source_link_manager .Searches the network_link_registry within this source_link_manager object for a specified block.
countcount 개체의 연결 된 블록 수를 셉니다 source_link_manager .Counts the number of linked blocks in the source_link_manager object.
referencereference 개체에 대 한 참조를 가져옵니다 source_link_manager .Acquires a reference on the source_link_manager object.
register_target_blockregister_target_block 이 개체를 보유 하는 대상 블록을 등록 source_link_manager 합니다.Registers the target block that holds this source_link_manager object.
릴리스release 개체에 대 한 참조를 해제 source_link_manager 합니다.Releases the reference on the source_link_manager object.
removeremove 개체에서 링크를 제거 합니다 source_link_manager .Removes a link from the source_link_manager object.
set_boundset_bound 이 개체에 추가할 수 있는 최대 소스 링크 수를 설정 합니다 source_link_manager .Sets the maximum number of source links that can be added to this source_link_manager object.

설명Remarks

현재 소스 블록은 참조 횟수가 계산 됩니다.Currently, the source blocks are reference counted. 이는 링크에 대 한 network_link_registry 동시 액세스를 허용 하 고 콜백을 통해 링크를 참조 하는 기능을 제공 하는 개체의 래퍼입니다.This is a wrapper on a network_link_registry object that allows concurrent access to the links and provides the ability to reference the links through callbacks. 메시지 블록은 target_block propagator_block 소스 링크에 대해이 클래스를 사용 해야 합니다.Message blocks ( target_blocks or propagator_blocks) should use this class for their source links.

상속 계층 구조Inheritance Hierarchy

source_link_manager

요구 사항Requirements

헤더: agents.hHeader: agents.h

네임 스페이스: 동시성Namespace: concurrency

추가add

개체에 소스 링크를 추가 source_link_manager 합니다.Adds a source link to the source_link_manager object.

void add(_EType _Link);

매개 변수Parameters

_Link_Link
추가할 블록에 대 한 포인터입니다.A pointer to a block to be added.

시작begin

개체의 첫 번째 요소에 대 한 반복기를 반환 source_link_manager 합니다.Returns an iterator to the first element in the source_link_manager object.

iterator begin();

Return ValueReturn Value

개체의 첫 번째 요소를 주소 지정 하는 반복기 source_link_manager 입니다.An iterator addressing the first element in the source_link_manager object.

설명Remarks

반복기의 종료 상태는 링크로 표시 됩니다 NULL .The end state of the iterator is indicated by a NULL link.

에서는contains

network_link_registry이 개체 내에서 지정 된 블록을 검색 합니다 source_link_manager .Searches the network_link_registry within this source_link_manager object for a specified block.

bool contains(_EType _Link);

매개 변수Parameters

_Link_Link
개체에서 검색할 블록에 대 한 포인터입니다 source_link_manager .A pointer to a block that is to be searched for in the source_link_manager object.

Return ValueReturn Value

true 지정 된 블록이 발견 되었으면이 고, false 그렇지 않으면입니다.true if the specified block was found, false otherwise.

count

개체의 연결 된 블록 수를 셉니다 source_link_manager .Counts the number of linked blocks in the source_link_manager object.

size_t count();

Return ValueReturn Value

개체의 연결 된 블록 수 source_link_manager 입니다.The number of linked blocks in the source_link_manager object.

참조일reference

개체에 대 한 참조를 가져옵니다 source_link_manager .Acquires a reference on the source_link_manager object.

void reference();

register_target_blockregister_target_block

이 개체를 보유 하는 대상 블록을 등록 source_link_manager 합니다.Registers the target block that holds this source_link_manager object.

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

매개 변수Parameters

_PTarget_PTarget
이 개체를 보유 하는 대상 블록 source_link_manager 입니다.The target block holding this source_link_manager object.

릴리스release

개체에 대 한 참조를 해제 source_link_manager 합니다.Releases the reference on the source_link_manager object.

void release();

삭제remove

개체에서 링크를 제거 합니다 source_link_manager .Removes a link from the source_link_manager object.

bool remove(_EType _Link);

매개 변수Parameters

_Link_Link
제거 될 블록에 대 한 포인터입니다 (있는 경우).A pointer to a block to be removed, if found.

Return ValueReturn Value

true 링크를 찾아 제거 했으면이 고, false 그렇지 않으면입니다.true if the link was found and removed, false otherwise.

set_boundset_bound

이 개체에 추가할 수 있는 최대 소스 링크 수를 설정 합니다 source_link_manager .Sets the maximum number of source links that can be added to this source_link_manager object.

void set_bound(size_t _MaxLinks);

매개 변수Parameters

_MaxLinks_MaxLinks
최대 링크 수입니다.The maximum number of links.

source_link_manager 개체를 생성합니다.Constructs a source_link_manager object.

source_link_manager();

개체를 소멸 시킵니다 source_link_manager .Destroys the source_link_manager object.

~source_link_manager();

참고 항목See also

concurrency 네임 스페이스concurrency Namespace
single_link_registry 클래스single_link_registry Class
multi_link_registry 클래스multi_link_registry Class