Clase cMessage
![]() |
Entorno. |
La clase cMessage, mensaje, surge como necesidad de realizar una comunicación entre las diferentes tareas, tanto a nivel de control como de datos, que pueden cohabitar en el ámbito de ejecución del sistema. Es por ello que van a tener un importante papel dentro del mismo, y por lo tanto van a tener que estar muy optimizados dichos objetos.
Puede haber muchos en el sistema, pero también puede haber pocos, y no debe ser impedimento para una bajada de rendimiento muy notoria, a no ser, claro, como en cualquier sistema, que esté sobrecargado.
Así pues el principio de esta clase, que hace las funciones de sobre con contenido, es la de ser transportada de una tarea a otra, acarreando una información de cualquier tipo.
![]() |
Grafo. |
Vamos a ver cuales son los miembros atributo y los miembros función del Objeto:
cMessage | |
Privado: | AdrOrigen AdrDestino function lenght info |
Público: | cMessage ReturnOrigin ReturnDestination ReturnFunction ReturnInfo ReturnInfoSize SetFunction SetAdrDest SetInfo SetMessage ~cMessage |
![]() |
Definición de miembros. |
Atributos
AdrOrigen
Tipo: void *.
Cometido: Contener la dirección de origen del mensaje (su propietario)
AdrDestino
Tipo: void *.
Cometido: Contener la dirección de destino del mensaje
function
Tipo: tFunctionMsg (unsigned int).
Cometido: Contiene una serie de valores que ayudan a su interpretación, así como una serie de flags, que nos indican su estado. Vamos a ver los valores correspondientes:
Función del mensaje:
- Rango: 0xXXXXXX00 .. 0xXXXXXXFF
- Función: Da a conocer la función que desempeña el mensaje (definible).
Identificador del controlador
- Rango: 0xX00000XX .. 0x XFFFFFXX
- Función: Identifica específicamente a controladores del sistema (Consultable).
Flags del mensaje:
- Rango 0x0XXXXXXX .. 0xFXXXXXXX
- Función: Flags del mensaje, pueden tomar los sigiuentes valores:
- bit 31(L): L=1 si ha sido leído, 0 en caso contrario
- bit 30 (F): L=1 si es flujo binario, 0 si es texto.
- bit 29 (R): R=1 si necesita respuesta, 0 si no la necesita.
- bit 28 (E): E=1 si tras el envío el proceso duerme, 0 si continúa.
lenght
Tipo: size_t (stdlib.h).
Cometido: Guarda la talla del contenido del mensaje
info
Tipo: void *.
Cometido: Puntero al buffer de información.
Miembros.
cMessage
cMessage(p1);
Parámetros:
p1:void *, @ Origen.
Cometido: Método constructor, que inicaliza el objeto con origen denominado por p1.
Pseudocódigo:
- cMessage(p1)
- Inicio
- AdrOrigen=p1;
- Inicializar_el_resto_de_atributos;
- fin.
cMessage(p1);
Parámetros:
p1:cMessage *, puntero a mensaje para inicializar.
Cometido: Método constructor, incializa la estructura del mensaje, a partir del parámetro p1.
Pseudocódigo:
|
ReturnOrigin
p1 ReturnOrigin();
Parámetros:
p1: void *, devuelto el puntero al origen.
Cometido: Devolver la @ del origen del mensaje.
Pseudocódigo:
|
ReturnDestination
p1 ReturnDestination();
Parámetros:
p1: void *, devuelto el puntero al destino.
Cometido: Devolver la dirección de destino del mensaje.
Pseudocódigo:
|
ReturnFunction
p1 ReturnFunction();
Parámetros:
p1: tFunctionMsg, en él se devuelve el campo función del mensaje.
Cometido: Devolver el campo función del mensaje.
Pseudocódigo:
|
ReturnInfo
p1 ReturnInfo();
Parámetros:
p1: void *, en él se devuelve el puntero al buffer de información.
Cometido: Devolver el puntero al buffer de información del mensaje.
Pseudocódigo:
|
ReturnInfoSize
p1 ReturnInfoSize();
Parámetros:
p1: size_t, indica la talla del buffer de datos.
Cometido: Devolver la talla del buffer de datos.
Pseudocódigo:
|
SetFunction
SetFunction(p1);
Parámetros:
p1: tFunctionMsg, valor para establecer function.
Cometido: Establecer el valor de function.
Pseudocódigo:
|
SetAdrDest
SetAdrDest(p1);
Parámetros:
p1: void *, Valor para dirección de destino.
Cometido: Establecer la dirección de destino.
Pseudocódigo:
|
SetInfo
SetInfo(p1,p2);
Parámetros:
p1: void *, Puntero al buffer de información.
p2: size_t, Tamaño del buffer de información.
Cometido: Establecer los parámetros de los datos a transmitir.
Pseudocódigo:
|
SetMessage
SetMessage(p1,p2,p3,p4);
Parámetros:
p1: void *, dirección de destino.
p2: tFunctionMsg, función del mensaje.
p3: void *, puntero al buffer de información.
p4: size_t, talla del buffer de información.
Cometido: Establecer todos los parámetros del mensaje.
Pseudocódigo:
|
~cMessage
~cMessage()
Parámetros: No necesita.
Cometido: Destruir la instancia de cMessage, y el contenido de info.
Pseudocódigo:
|
Última actualización de la página: 12/03/99
Esta página está hospedada en Consigue tu Página
Web Gratis