message_processor クラス
message_processor
クラスは、message
オブジェクトを処理するための抽象基底クラスです。 メッセージの順序は保証されません。
構文
template<class T>
class message_processor;
パラメーター
T
この message_processor
オブジェクトによって処理されるメッセージ内のペイロードのデータ型。
メンバー
パブリック typedef
名前 | 説明 |
---|---|
type |
T の型エイリアス。 |
パブリック メソッド
名前 | 説明 |
---|---|
async_send | 派生クラスでオーバーライドされると、メッセージをブロックに非同期的に挿入します。 |
sync_send | 派生クラスでオーバーライドされると、メッセージをブロックに同期的に挿入します。 |
待機 | 派生クラスでオーバーライドされると、すべての非同期操作が完了するまで待機します。 |
保護メソッド
名前 | 説明 |
---|---|
process_incoming_message | 派生クラスでオーバーライドされると、メッセージのブロックへの転送処理を実行します。 新しいメッセージが追加され、キューが空であることが判明するごとに 1 回呼び出されます。 |
継承階層
message_processor
要件
ヘッダー: agents.h
名前空間: concurrency
async_send
派生クラスでオーバーライドされると、メッセージをブロックに非同期的に挿入します。
virtual void async_send(_Inout_opt_ message<T>* _Msg) = 0;
パラメーター
_Msg
非同期的に送信する message
オブジェクト。
解説
プロセッサの実装では、このメソッドをオーバーライドする必要があります。
process_incoming_message
派生クラスでオーバーライドされると、メッセージのブロックへの転送処理を実行します。 新しいメッセージが追加され、キューが空であることが判明するごとに 1 回呼び出されます。
virtual void process_incoming_message() = 0;
解説
メッセージ ブロックの実装では、このメソッドをオーバーライドする必要があります。
sync_send
派生クラスでオーバーライドされると、メッセージをブロックに同期的に挿入します。
virtual void sync_send(_Inout_opt_ message<T>* _Msg) = 0;
パラメーター
_Msg
同期的に送信する message
オブジェクト。
解説
プロセッサの実装では、このメソッドをオーバーライドする必要があります。
wait
派生クラスでオーバーライドされると、すべての非同期操作が完了するまで待機します。
virtual void wait() = 0;
解説
プロセッサの実装では、このメソッドをオーバーライドする必要があります。