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_MAC_ONU_H_ 00012 #define __RED_WIRELESS_MAC_ONU_H_ 00013 00014 #include <omnetpp.h> 00015 #include <vector> 00016 #include "GATE_m.h" 00017 #include "REPORT_m.h" 00018 #include "ETHERNET_m.h" 00019 #include "ONU_Table.h" 00020 /* 00021 * MODULO MAC_onu: 00022 */ 00023 //DEFINIMOS LOS TIPOS DE std DE LOS VECTORES Y MATRICES: 00024 typedef std::vector<int> int_vector_t; // VECTOR TIPO DOUBLE 00025 typedef std::vector<double> double_vector_t; // VECTOR TIPO DOUBLE 00026 typedef std::vector< double_vector_t > double_matrix_t; // MATRIZ DE TIPO DOUBLE 00027 00028 class MAC_ONU : public cSimpleModule 00029 { 00030 private: 00031 ONU_Table *onutable_module; // DEFINIMOS VARIABLE PARA PODER ENTRAR EN EL MODULO ONU_TABLE 00032 int lambda; //VARIABLE PARA ESTABLECER PORQUE LAMBDA SE ENVIARA EL PAQUETE REPORT 00033 00034 protected: 00035 virtual void initialize(int stage); 00036 virtual void handleMessage(cMessage *msg); 00037 00038 public: 00039 int numInitStages() const; // FUNCION QUE INICIALIZA VARIAS ETAPAS. 00040 double T_cycle_prev; 00041 double T_init_prev; 00042 double B_alloc_prev; 00043 int_vector_t numsla_onu; // VECTOR QUE GUARDA EL IDENTIFICADOR DE SLA ASOCIADO A LA ONU 00044 00045 }; 00046 00047 #endif