Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Класс 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();