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
訊息處理的處理器型別。
Members
公用 Typedefs
名稱 |
描述 |
---|---|
source_iterator |
這個 propagator_block 之 source_link_manager 的 Iterator 的型別。 |
公用建構函式
名稱 |
描述 |
---|---|
建構 propagator_block 物件。 |
|
終結 propagator_block 物件。 |
公用方法
名稱 |
描述 |
---|---|
以非同步方式將訊息從來源區塊傳遞到這個目標區塊。 |
|
以同步方式啟始這個區塊的訊息。由 ISource 區塊呼叫。當此函式完成時,已將訊息傳播至區塊中。 |
受保護的方法
名稱 |
描述 |
---|---|
表示應拒絕新訊息的區塊。 |
|
初始化基底物件。尤其必須初始化 message_processor 物件。 |
|
連結指定的來源區塊與這個 propagator_block 物件。 |
|
處理程序的輸入的訊息。它僅適用於傳播程式區塊,衍生自 source_block (會覆寫 source_block::process_input_messages。) |
|
在衍生類別中被覆寫時,這個方法會以非同步方式從 ISource 區塊傳遞訊息到這個 propagator_block 物件。會於來源區塊呼叫時由 propagate 方法叫用。 |
|
註冊會在收到每個訊息時叫用的篩選方法。 |
|
移除這個 propagator_block 物件中的所有來源與目標網路連結。 |
|
在衍生類別中被覆寫時,這個方法會以同步方式從 ISource 區塊傳遞訊息到這個 propagator_block 物件。會於來源區塊呼叫時由 send 方法叫用。 |
|
將指定的來源區塊與這個 propagator_block 物件中斷連結。 |
|
將所有來源區塊與這個 propagator_block 物件中斷連結。(會覆寫 ITarget::unlink_sources)。 |
備註
為避免多重繼承,propagator_block 類別會自 source_block 類別和 ITarget 抽象類別繼承。target_block 類別的大多數功能是在這裡複寫的。
繼承階層架構
propagator_block
需求
標頭: agents.h
Namespace: 並行存取