00001 00002 // PROYECTO FIN DE CARRERA // 00003 // TITULO: Disenyo de nuevas arquitecturas y algoritmos de gestión de recursos en // 00004 // redes de acceso FiWi // 00005 // AUTOR: Ana Emma Lopez Mato // 00006 // TUTOR: Noemi Merayo Alvarez // 00007 // INGENIERIA TECNICA DE TELECOMUNICACIONES, SISTEMAS DE TELECOMUNICACION // 00008 // UNIVERSIDAD DE VALLADOLID // 00010 00011 #ifndef __RED_WIRELESS_RX_REPORT_H_ 00012 #define __RED_WIRELESS_RX_REPORT_H_ 00013 00014 #include <omnetpp.h> 00015 #include "GATE_m.h" 00016 #include "REPORT_m.h" 00017 #include "ETHERNET_m.h" 00018 #include <vector> 00019 #include <time.h> 00020 #include "ONU_SISTqueue.h" 00021 #include "analysis.h" 00022 /* 00023 * MODULO ONU_Rx_Report: 00024 */ 00025 //DEFINIMOS LOS TIPOS DE std DE LOS VECTORES Y MATRICES: 00026 typedef std::vector<int> int_vector_t; // VECTOR DE TIPO ENTERO 00027 typedef std::vector<double> double_vector_t; // VECTOR DE TIPO DOUBLE 00028 00029 class ONU_Rx_Report : public cSimpleModule 00030 { 00031 public: 00032 ONU_SISTqueue *onu_queue; // DEFINIMOS VARIABLE PARA PODER ENTRAR EN EL MODULO OLT_TABLE 00033 long sumpacketextrac; // VARIABLE DE LA SUMA DE LOS PAQUETES QUE SE CHEQUEAN EN EL METODO DE EXTRACION ESTRICTA DE PAQUETES 00034 long sumextract; // VARIABLE DE LA SUMA DE LOS PAQUETES QUE SE EXTRAEN EN EL METODO DE EXTRACION ESTRICTA DE PAQUETES 00035 long tamsumqueue; // TAMANYO DE LA SUMA DEL TAMANYO DE LOS PAQUETES QUE LLEGAN A LAS COLAS DE LA ONU 00036 int_vector_t sumpacket; // VECTOR DE LA SUMA DE LOS PAQUETES QUE SE CHEQUEAN EN LAS COLAS 00037 int_vector_t sumqueuepop; // VECTOR DE LA SUMA TOTAL DE BYTES EXTRAIDOS DE LAS COLAS 00038 int_vector_t bytes_queue; // VECTOR DE LOS BYTES QUE QUEDAN EN LA COLA DESPUES DE CADA CICLO 00039 double_vector_t media; // VECTOR PARA INDICAR LA MEDIA 00040 00041 00042 // DEFINIMOS LOS PARAMETROS PARA LA CLASE ANALISIS 00043 // PARAMETRO PARA OBTENER LA MEDIA DE LOS BYTES QUE SE QUEDAN EN LA COLAS DESPUES DE CADA CICLO CON LA CLASE ANALISIS 00044 std::vector<Analysis> media_bytes_queue; // VECTOR DE CLASE ANALISIS PARA CREAR LOS BYTES QUE SE QUEDAN EN LA COLAS DESPUES DE CADA CICLO 00045 FILE * media_queue_onu; // ARCHIVO DONDE GUARDAMOS LA MEDIA DE LAS COLAS 00046 00047 00048 protected: 00049 virtual void initialize(); 00050 virtual void handleMessage(cMessage *msg); 00051 00052 virtual void strictpriorityqueue(cMessage *msg); // FUNCION DEL METODO DE EXTRACCION DE PAQUETES DE COLAS DE PRIORIDAD ESTRICTA 00053 virtual void centralizedmethod(cMessage *msg); // FUNCION DEL METODO DE EXTRACCION DE PAQUETES DE COLAS CENTRALIZADO 00054 00055 virtual void finish(); // DEFINICION DE LA FUNCION FINALIZAR 00056 }; 00057 00058 #endif