Share via


join 類別

join 傳訊區塊是單一目標、多來源的排序 propagator_block,會與來自其每個來源的 _Type 類型訊息合併。

template<
   class _Type,
   join_type _Jtype = non_greedy
>
class join : public propagator_block<single_link_registry<ITarget<std::vector<_Type>>>, multi_link_registry<ISource<_Type>>>;

參數

  • _Type
    區塊所聯結和傳播的訊息的承載類型。

  • _Jtype
    這個 join 區塊的種類是 greedynon_greedy

成員

公用建構函式

名稱

說明

join::join 建構函式

多載。 建構 join 傳訊區塊。

join::~join 解構函式

終結 join 區塊。

受保護的方法

名稱

說明

join::accept_message 方法

接受這個 join 傳訊區塊所提供的訊息,將擁有權轉移至呼叫端。

join::consume_message 方法

會將擁有權轉移至呼叫端,使用 join 傳訊區塊先前提供並由目標保留的訊息。

join::link_target_notification 方法

通知已有新目標與這個 join 傳訊區塊相連結的回呼。

join::propagate_message 方法

以非同步方式將訊息從 ISource 區塊傳遞到這個 join 傳訊區塊。 會於來源區塊呼叫時由 propagate 方法叫用。

join::propagate_to_any_targets 方法

建構輸出訊息,其中包含每個來源全部傳播訊息時送出的傳入訊息。 將這個輸出訊息傳送至其每一個目標。

join::release_message 方法

會釋放前一個訊息保留項目。(會覆寫 source_block::release_message)。

join::reserve_message 方法

會保留先前由這個 join 傳訊區塊所提供的訊息。(會覆寫 source_block::reserve_message)。

join::resume_propagation 方法

釋放保留項目之後繼續傳播。(會覆寫 source_block::resume_propagation)。

備註

如需詳細資訊,請參閱非同步訊息區

繼承階層

ISource

ITarget

source_block

propagator_block

join

需求

標頭: agents.h

**命名空間:**concurrency

請參閱

參考

concurrency 命名空間

choice 類別

multitype_join 類別

join_type 列舉