次の方法で共有


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 メソッドをオーバーライドしています。)

継承階層

message_processor

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_processorinitialize 関数が呼ばれるまで、非同期または同期ハンドラーをスケジュールしません。

~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();

関連項目

コンカレンシー名前空間