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 ブロックの種類 (greedy または non_greedy)。
メンバー
パブリック コンストラクター
名前 |
Description |
---|---|
オーバーロードされます。join メッセージング ブロックを構築します。 |
|
join ブロックを破棄します。 |
プロテクト メソッド
名前 |
Description |
---|---|
この join メッセージング ブロックによって提供されたメッセージを受け入れ、所有権を呼び出し元に移譲します。 |
|
この join メッセージング ブロックによって以前に提供され、ターゲットによって予約されたメッセージを使用して、所有権を呼び出し元に移譲します。 |
|
新しいターゲットがこの join メッセージング ブロックにリンクされたことを通知するコールバックです。 |
|
ISource ブロックからこの join メッセージング ブロックにメッセージを非同期に渡します。このメソッドは、ソース ブロックから呼び出されたときに propagate メソッドによって呼び出されます。 |
|
すべてのソースによってメッセージが反映されたときに、各ソースからの入力メッセージを含む出力メッセージを作成します。その後、この出力メッセージを各ターゲットに送信します。 |
|
以前に行われたメッセージの予約を解放します。(source_block::release_message をオーバーライドします。) |
|
この join メッセージング ブロックによって以前に提供されたメッセージを予約します。(source_block::reserve_message をオーバーライドします。) |
|
予約が解放された後で反映を再開します。(source_block::resume_propagation をオーバーライドします。) |
解説
詳細については、「非同期メッセージ ブロック」を参照してください。
継承階層
join
必要条件
ヘッダー: agents.h
名前空間: の同時実行