Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
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();