Compartir a través de


ordered_message_processor (Clase)

Un ordered_message_processor es un message_processor que permite a los bloques de mensaje procesar los mensajes en el orden que se recibieron.

Sintaxis

template<class T>
class ordered_message_processor : public message_processor<T>;

Parámetros

T
El tipo de carga útil de los mensajes que maneja el procesador.

Miembros

Definiciones de tipos públicas

Nombre Descripción
type Alias de tipo para T.

Constructores públicos

Nombre Descripción
procesador_de_mensajes_ordenados Construye un objeto ordered_message_processor.
~ordered_message_processor Destructor Destruye el objeto ordered_message_processor.

Métodos públicos

Nombre Descripción
async_send Pone en cola de forma asincrónica los mensajes e inicia una tarea de procesamiento de estos, si aún no se ha hecho. (Invalida message_processor::async_send.)
initialize Inicializa el objeto ordered_message_processor con la función de devolución de llamada, el programador y el grupo de planificación adecuados.
inicializar_procesamiento_por_lotes Inicialización del procesamiento de mensajes por lotes
sync_send Pone en cola los mensajes de forma sincrónica e inicia una tarea de procesamiento, si aún no se ha hecho. (Invalida message_processor::sync_send.)
wait Una espera de giro específica del procesador que se usa en destructores de bloques de mensajes para asegurarse de que todas las tareas de procesamiento asincrónicas tienen tiempo para finalizar antes de destruir el bloque. (Invalida message_processor::wait.)

Métodos protegidos

Nombre Descripción
procesar_mensaje_entrante Función de procesamiento a la que se llama de forma asincrónica. Desencola los mensajes y comienza a procesarlos. (Invalida message_processor::process_incoming_message.)

Jerarquía de herencia

message_processor

ordered_message_processor

Requisitos

Encabezado: agents.h

Espacio de nombres: simultaneidad

async_send

Pone en cola los mensajes de forma asincrónica e inicia una tarea de procesamiento, si aún no se ha hecho.

virtual void async_send(_Inout_opt_ message<T>* _Msg);

Parámetros

_Msg
Un puntero a un mensaje.

inicializar

Inicializa el objeto ordered_message_processor con la función de devolución de llamada, el programador y el grupo de planificación adecuados.

void initialize(
    _Inout_opt_ Scheduler* _PScheduler,
    _Inout_opt_ ScheduleGroup* _PScheduleGroup,
    _Handler_method const& _Handler);

Parámetros

_PScheduler
Puntero al planificador que se va a usar para programar tareas ligeras.

_PScheduleGroup
Puntero al grupo de programación que se va a usar para la programación de tareas ligeras.

_Handler
El functor de controlador invocado durante la devolución de llamada.

initialize_batched_processing

Inicialización del procesamiento de mensajes por lotes

virtual void initialize_batched_processing(
    _Handler_method const& _Processor,
    _Propagator_method const& _Propagator);

Parámetros

_Processor
Functor de procesador invocado durante la devolución de llamada.

_Propagator
Functor propagador invocado durante la devolución de llamada.

procesador_de_mensajes_ordenados

Construye un objeto ordered_message_processor.

ordered_message_processor();

Comentarios

ordered_message_processor no programará controladores asincrónicos o sincrónicos hasta que se llame a la función initialize.

~procesador_de_mensajes_ordenados

Destruye el objeto ordered_message_processor.

virtual ~ordered_message_processor();

Comentarios

Espera a que terminen todas las operaciones asincrónicas pendientes antes de destruir el procesador.

procesar_mensaje_entrante

Función de procesamiento a la que se llama de forma asincrónica. Desencola los mensajes y comienza a procesarlos.

virtual void process_incoming_message();

enviar_sincronizado

Pone en cola los mensajes de forma sincrónica e inicia una tarea de procesamiento, si aún no se ha hecho.

virtual void sync_send(_Inout_opt_ message<T>* _Msg);

Parámetros

_Msg
Un puntero a un mensaje.

esperar

Una espera de giro específica del procesador que se usa en destructores de bloques de mensajes para asegurarse de que todas las tareas de procesamiento asincrónicas tienen tiempo para finalizar antes de destruir el bloque.

virtual void wait();

Consulte también

espacio de nombres de concurrencia