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 de los mensajes que controla el procesador.
Miembros
Definiciones de tipos públicas
Nombre | Descripción |
---|---|
type |
Alias de tipo para T . |
Constructores públicos
Nombre | Descripción |
---|---|
ordered_message_processor | 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 los mensajes de forma asincrónica e inicia una tarea de procesamiento, 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 programación adecuados. |
initialize_batched_processing | 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 |
---|---|
process_incoming_message | Función de procesamiento a la que se llama de forma asincrónica. Quita los mensajes y comienza a procesarlos. (Invalida message_processor::process_incoming_message.) |
Jerarquía de herencia
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.
initialize
Inicializa el objeto ordered_message_processor
con la función de devolución de llamada, el programador y el grupo de programación adecuados.
void initialize(
_Inout_opt_ Scheduler* _PScheduler,
_Inout_opt_ ScheduleGroup* _PScheduleGroup,
_Handler_method const& _Handler);
Parámetros
_PScheduler
Puntero al programador que se va a usar para programar tareas ligeras.
_PScheduleGroup
Puntero al grupo de programación que se va a usar para programar 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.
ordered_message_processor
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
.
~ordered_message_processor
Destruye el objeto ordered_message_processor
.
virtual ~ordered_message_processor();
Comentarios
Espera todas las operaciones asincrónicas pendientes antes de destruir el procesador.
process_incoming_message
Función de procesamiento a la que se llama de forma asincrónica. Quita los mensajes y comienza a procesarlos.
virtual void process_incoming_message();
sync_send
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.
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.
virtual void wait();