propagator_block 클래스
propagator_block 클래스는 소스 및 대상인 메시지 블록에 대한 추상 기본 클래스입니다. source_block 및 target_block 클래스의 기능을 결합합니다.
template<
class _TargetLinkRegistry,
class _SourceLinkRegistry,
class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;
매개 변수
_TargetLinkRegistry
대상 링크를 저장하는 데 사용할 링크 레지스트리입니다._SourceLinkRegistry
소스 링크를 저장하는 데 사용할 링크 레지스트리입니다._MessageProcessorType
메시지 처리를 위한 프로세서 형식입니다.
멤버
공용 Typedefs
Name |
설명 |
---|---|
source_iterator |
이 propagator_block에 대한 source_link_manager의 반복기 형식입니다. |
Public 생성자
Name |
설명 |
---|---|
propagator_block 개체를 생성합니다. |
|
propagator_block 개체를 소멸시킵니다. |
Public 메서드
Name |
설명 |
---|---|
소스 블록에서 이 대상 블록에 메시지를 비동기적으로 전달합니다. |
|
이 블록에 대한 메시지를 동기적으로 시작합니다. ISource 블록에 의해 호출됩니다. 이 함수가 완료되면 메시지는 이미 블록 안으로 전파되어 있습니다. |
Protected 메서드
Name |
설명 |
---|---|
새 메시지가 거부되어야 하는 블록을 나타냅니다. |
|
기본 개체를 초기화합니다. 특히, message_processor 개체를 초기화해야 합니다. |
|
이 propagator_block 개체에 지정된 소스 블록을 연결합니다. |
|
파생 클래스에서 재정의된 경우 이 메서드는 비동기적으로 메시지를 ISource 블록에서 이 propagator_block 개체를 전달합니다. 소스 블록에 의해 호출되면 propagate 메서드가 호출됩니다. |
|
받은 모든 메시지에 대해 호출될 필터 메서드를 등록합니다. |
|
이 propagator_block 개체에서 모든 소스 및 대상 네트워크 링크를 제거합니다. |
|
파생 클래스에서 재정의된 경우 이 메서드를 동기적으로 메시지를 ISource 블록에서 이 propagator_block 개체를 전달합니다. 소스 블록에 의해 호출되면 send 메서드가 호출됩니다. |
|
이 propagator_block 개체에서 지정한 소스 블록의 연결을 해제합니다. |
|
이 propagator_block 개체에서 모든 소스 블록의 연결을 해제합니다. (ITarget::unlink_sources를 재정의합니다.) |
설명
다중 상속이 발생하지 않도록 propagator_block 클래스는 source_block 클래스 및 ITarget 추상 클래스에서 상속됩니다. target_block 클래스의 기능 대부분은 여기에 복제됩니다.
상속 계층 구조
요구 사항
헤더: agents.h
네임스페이스: 동시성