ONU_Point_to_Point Class Reference

#include <ONU_Point_to_Point.h>

Inheritance diagram for ONU_Point_to_Point:

cSimpleModule cModule cComponent cDefaultList cNoncopyableOwnedObject cOwnedObject noncopyable cNamedObject cObject

List of all members.

Protected Member Functions

virtual void initialize ()
virtual void handleMessage (cMessage *msg)


Detailed Description

Definition at line 21 of file ONU_Point_to_Point.h.


Member Function Documentation

void ONU_Point_to_Point::handleMessage ( cMessage msg  )  [protected, virtual]

Reimplemented from cSimpleModule.

Definition at line 37 of file ONU_Point_to_Point.cc.

00038 {
00039         // VARIABLES
00040         int type = msg->getKind(); // VARIABLE TYPE PARA IDENTIFICAR LOS MENSAJES DE LA RED
00041 
00042         // ESTRUCTURA CONDICIONAL SWITCH QUE NOS DIFERENCIA LOS MENSAJES QUE LLEGUEN A ESTE MODULO
00043         switch(type)
00044         {
00045                 case 0:
00046                         // LLEGA UN PAQUETE GATE CON IDENTIFICADOR = 0
00047                         if(msg->getKind()==0)
00048                         {
00049                                 GATEmsg *gatemsg = check_and_cast<GATEmsg *>(msg); // CHEQUEAMOS EL PAQUETE GATE
00050 
00051                                 // VISUALIZAMOS ALGUNOS CAMPOS DEL PAQUETE GATE
00052                                 //ev<<" Paquete 'Gate' Recibido."<<endl;
00053                                 //ev<<" Direccion de destino: "<<gatemsg->getDestAddress()<<endl;
00054                                 //ev<<" Mi ID es: "<<getParentModule()->getIndex()<<endl;
00055 
00056                                 // COMPARAMOS SI EL IDENTIFICADOR DE LA ONU EN LA QUE NOS ENCONTRAMOS ES IGUAL A LA DIRECCION DE DESTINO QUE CONTIENE EL PAQUETE GATE
00057                                 if(getParentModule()->getIndex()==gatemsg->getDestAddress())
00058                                 {
00059                                         //ev<<" El paquete Gate recibido es para esta ONU, pasa a la capa MAC."<<endl;
00060                                         send(gatemsg, "onuptpmacOut"); // SI EL PAQUETE ES PARA ESTA ONU, SE ENVIA HACIA LA CAPA MAC DE LA ONU
00061                                 }
00062                                 else
00063                                 {
00064                                         //ev<<" Este paquete Gate no es para esta ONU, Eliminando."<<endl;
00065                                         delete gatemsg; // EN ESTE CASO, COMO EL PAQUETE GATE NO ES PARA ESTA ONU, ELIMINAMOS EL PAQUETE GATE
00066                                 }
00067                         }
00068                         break;
00069 
00070                 case 1:
00071                         // LLEGA UN PAQUETE ETHERNET CON IDENTIFICADOR = 1
00072                         if(msg->getKind()==1)
00073                         {
00074                                 ETHERNETmsg *ethernetmsg=check_and_cast<ETHERNETmsg*>(msg); // CHEQUEAMOS EL PAQUETE ETHERNET
00075 
00076                                 // VISUALIZAMOS ALGUNOS CAMPOS DEL PAQUETE ETHERNET
00077                                 //ev<<" Paquete Ethernet Recibido."<<endl;
00078                                 //ev<<" Direccion de destino: "<<ethernetmsg->getDestAddress()<<endl;
00079                                 //ev<<" Mi ID es: "<<getParentModule()->getIndex()<<endl;
00080 
00081                                 // COMPARAMOS SI EL IDENTIFICADOR DE LA ONU EN LA QUE NOS ENCONTRAMOS ES IGUAL A LA DIRECCION DE DESTINO QUE CONTIENE EL PAQUETE ETHERNET
00082                                 if(getParentModule()->getIndex()==ethernetmsg->getDestAddress())
00083                                 {
00084                                         //ev<<" El paquete Ethernet recibido es para esta ONU, pasa a la capa MAC."<<endl;
00085                                         send(ethernetmsg, "onuptpmacOut"); // SI EL PAQUETE ES PARA ESTA ONU, SE ENVIA HACIA LA CAPA MAC DE LA ONU
00086                                 }
00087                                 else
00088                                 {
00089                                         //ev<<" Este paquete Ethernet no es para esta ONU, Eliminando."<<endl;
00090                                         delete ethernetmsg; // EN ESTE CASO, COMO EL PAQUETE ETHERNET NO ES PARA ESTA ONU, ELIMINAMOS EL PAQUETE ETHERNET
00091                                 }
00092                         }
00093                         break;
00094 
00095                 default:
00096                         delete msg;
00097                         break;
00098         }
00099 }

void ONU_Point_to_Point::initialize (  )  [protected, virtual]

Reimplemented from cComponent.

Definition at line 26 of file ONU_Point_to_Point.cc.

00027 {
00028 }


The documentation for this class was generated from the following files:

Generated on Thu Nov 28 14:47:24 2013 for red_wireless by  doxygen 1.5.7.1