Класс ordered_message_processor
Класс ordered_message_processor
представляет собой message_processor
, который позволяет блокам обмена сообщениями обрабатывать сообщения в том порядке, в котором они их получают.
Синтаксис
template<class T>
class ordered_message_processor : public message_processor<T>;
Параметры
T
Тип полезных данных сообщений, обрабатываемых обработчиком.
Участники
Общедоступные определения типов
Имя | Описание |
---|---|
type |
Псевдоним типа для T . |
Открытые конструкторы
Имя | Описание |
---|---|
ordered_message_processor | Создает объект ordered_message_processor . |
Деструктор ~ordered_message_processor | Уничтожает ordered_message_processor объект. |
Открытые методы
Имя | Описание |
---|---|
async_send | Асинхронно помещает сообщения в очередь и запускает задачу обработки, если это еще не сделано. (Переопределяет message_processor::async_send.) |
инициализировать | Инициализирует ordered_message_processor объект с соответствующей функцией обратного вызова, планировщиком и группой расписаний. |
initialize_batched_processing | Инициализация обработки пакетных сообщений |
sync_send | Синхронно помещает сообщения в очередь и запускает задачу обработки, если это еще не сделано. (Переопределяет message_processor::sync_send.) |
ждать | Ожидание спина для процессора, используемое в деструкторах блоков сообщений, чтобы убедиться, что все асинхронные задачи обработки имеют время завершения перед уничтожением блока. (Переопределяет message_processor::wait.) |
Защищенные методы
Имя | Описание |
---|---|
process_incoming_message | Функция обработки, вызываемая асинхронно. Он отменяет сообщения и начинает их обработку. (Переопределяет message_processor::p rocess_incoming_message.) |
Иерархия наследования
ordered_message_processor
Требования
Заголовок: agents.h
Пространство имен: concurrency
async_send
Асинхронно помещает сообщения в очередь и запускает задачу обработки, если это еще не сделано.
virtual void async_send(_Inout_opt_ message<T>* _Msg);
Параметры
_Msg
Указатель на сообщение.
инициализировать
Инициализирует ordered_message_processor
объект с соответствующей функцией обратного вызова, планировщиком и группой расписаний.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Параметры
_PScheduler
Указатель на планировщик, используемый для планирования задач легкого веса.
_PScheduleGroup
Указатель на группу расписаний, используемую для планирования задач легкого веса.
_Обработчик
Обработчик functor вызывается во время обратного вызова.
initialize_batched_processing
Инициализация обработки пакетных сообщений
virtual void initialize_batched_processing(
_Handler_method const& _Processor,
_Propagator_method const& _Propagator);
Параметры
_Процессор
Обработчик functor вызывается во время обратного вызова.
_Распространитель
Средство распространения functor, вызываемое во время обратного вызова.
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();