ordered_message_processor クラス
ordered_message_processor
は、メッセージ ブロックがメッセージを受け取った順序で処理できるようにする message_processor
です。
構文
template<class T>
class ordered_message_processor : public message_processor<T>;
パラメーター
T
プロセッサによって処理されるメッセージのペイロードの種類。
メンバー
パブリック typedef
名前 | 説明 |
---|---|
type |
T の型エイリアス。 |
パブリック コンストラクター
名前 | 説明 |
---|---|
ordered_message_processor | ordered_message_processor オブジェクトを構築します。 |
~ordered_message_processor デストラクター | ordered_message_processor オブジェクトを破棄します。 |
パブリック メソッド
名前 | 説明 |
---|---|
async_send | メッセージを非同期的にキューに入れ、処理タスクを開始します (まだ実行されていない場合)。 (message_processor::async_send メソッドをオーバーライドしています。) |
initialize | 適切なコールバック関数、スケジューラ、およびスケジュール グループを使用して、ordered_message_processor オブジェクトを初期化します。 |
initialize_batched_processing | バッチ処理されたメッセージ処理の初期化 |
sync_send | メッセージを非同期的にキューに入れ、処理タスクを開始します (まだ実行されていない場合)。 (message_processor::sync_send メソッドをオーバーライドしています。) |
待機 | このプロセッサ固有のスピン待機は、メッセージ ブロックのデストラクターで使用され、すべての非同期処理タスクがブロックを破棄する前に完了する時間を持てるようにします。 (message_processor::wait メソッドをオーバーライドしています。) |
保護メソッド
名前 | 説明 |
---|---|
process_incoming_message | 非同期的に呼び出される処理関数。 メッセージをデキューし、処理を開始します。 (message_processor::process_incoming_message メソッドをオーバーライドしています。) |
継承階層
ordered_message_processor
要件
ヘッダー: agents.h
名前空間: concurrency
async_send
メッセージを非同期的にキューに入れ、処理タスクを開始します (まだ実行されていない場合)。
virtual void async_send(_Inout_opt_ message<T>* _Msg);
パラメーター
_Msg
メッセージへのポインター。
initialize
適切なコールバック関数、スケジューラ、およびスケジュール グループを使用して、ordered_message_processor
オブジェクトを初期化します。
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
パラメーター
_PScheduler
軽量タスクをスケジュールするために使用するスケジューラへのポインター。
_PScheduleGroup
軽量タスクをスケジュールするために使用するスケジュール グループへのポインター。
_Handler
コールバック中に呼び出されたハンドラー ファンクタ。
initialize_batched_processing
バッチ処理されたメッセージ処理の初期化
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
パラメーター
_Processor
コールバック中に呼び出されたプロセッサ ファンクタ。
_Propagator
コールバック中に呼び出された伝達子ファンクタ。
ordered_message_processor
ordered_message_processor
オブジェクトを構築します。
ordered_message_processor();
解説
この ordered_message_processor
は initialize
関数が呼ばれるまで、非同期または同期ハンドラーをスケジュールしません。
~ordered_message_processor
ordered_message_processor
オブジェクトを破棄します。
virtual ~ordered_message_processor();
解説
すべての未処理の非同期操作を待機してから、プロセッサを破棄します。
process_incoming_message
非同期的に呼び出される処理関数。 メッセージをデキューし、処理を開始します。
virtual void process_incoming_message();
sync_send
メッセージを非同期的にキューに入れ、処理タスクを開始します (まだ実行されていない場合)。
virtual void sync_send(_Inout_opt_ message<T>* _Msg);
パラメーター
_Msg
メッセージへのポインター。
wait
このプロセッサ固有のスピン待機は、メッセージ ブロックのデストラクターで使用され、すべての非同期処理タスクがブロックを破棄する前に完了する時間を持てるようにします。
virtual void wait();