target_block クラス

target_block クラスは、基本的なリンク管理機能と、ターゲットのみのブロックのエラー チェック機能を実現する抽象基本クラスです。

template<
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _SourceLinkRegistry::type::source_type>
>
class target_block : public ITarget<typename _SourceLinkRegistry::type::source_type>;

パラメーター

  • _SourceLinkRegistry
    ソース リンクの保持に使用されるリンク レジストリ。

  • _MessageProcessorType
    メッセージを処理するプロセッサの種類。

メンバー

パブリック typedef

名前

説明

source_iterator

この target_block オブジェクトに対する source_link_manager の反復子の種類。

パブリック コンストラクター

名前

説明

target_block::target_block コンストラクター

target_block オブジェクトを構築します。

target_block::~target_block デストラクター

target_block オブジェクトを破棄します。

パブリック メソッド

名前

説明

target_block::propagate メソッド

ソース ブロックからこのターゲット ブロックにメッセージを非同期的に渡します。

target_block::send メソッド

ソース ブロックからこのターゲット ブロックにメッセージを同期的に渡します。

プロテクト メソッド

名前

説明

target_block::async_send メソッド

処理のためにメッセージを非同期的に送信します。

target_block::decline_incoming_messages メソッド

新しいメッセージが拒否されるブロックを指定します。

target_block::initialize_target メソッド

ベース オブジェクトを初期化します。 特に、message_processor オブジェクトは初期化する必要があります。

target_block::link_source メソッド

指定されたソース ブロックをこの target_block オブジェクトにリンクします。

target_block::process_message メソッド

派生クラスでオーバーライドした場合、この target_block オブジェクトで受け取られたメッセージを処理します。

target_block::propagate_message メソッド

派生クラスでオーバーライドされると、このメソッドは ISource ブロックからこの target_block オブジェクトに非同期的にメッセージを渡します。 このメソッドは、ソース ブロックから呼び出されたときに propagate メソッドによって呼び出されます。

target_block::register_filter メソッド

すべての受信メッセージに対して呼び出されるフィルター メソッドを登録します。

target_block::remove_sources メソッド

未処理の非同期送信操作が完了するのを待ってから、すべてのソースのリンクを解除します。

target_block::send_message メソッド

このメソッドは、派生クラスでオーバーライドされると、ISource ブロックからこの target_block オブジェクトに同期的にメッセージを渡します。 このメソッドは、ソース ブロックから呼び出されたときに send メソッドによって呼び出されます。

target_block::sync_send メソッド

処理のためにメッセージを同期的に送信します。

target_block::unlink_source メソッド

指定されたソース ブロックとこの target_block オブジェクトとのリンクを解除します。

target_block::unlink_sources メソッド

この target_block オブジェクトからすべてのソース ブロックのリンクを解除します。 (ITarget::unlink_sources をオーバーライドします)。

target_block::wait_for_async_sends メソッド

すべての非同期伝達が完了するまで待機します。

継承階層

ITarget

target_block

必要条件

ヘッダー: agents.h

名前空間: Concurrency

参照

参照

Concurrency 名前空間

ITarget クラス