umts-wirelessch.h

00001 /*
00002  * Copyright (c) 2007 Regents of the SIGNET lab, University of Padova.
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  * 1. Redistributions of source code must retain the above copyright
00009  *    notice, this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright
00011  *    notice, this list of conditions and the following disclaimer in the
00012  *    documentation and/or other materials provided with the distribution.
00013  * 3. Neither the name of the University of Padova (SIGNET lab) nor the 
00014  *    names of its contributors may be used to endorse or promote products 
00015  *    derived from this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
00018  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
00019  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
00020  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
00021  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
00022  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
00023  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
00024  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
00025  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
00026  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
00027  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00028  */
00029 
00030 #ifndef UMTS_WIRELESSCH_H
00031 #define UMTS_WIRELESSCH_H
00032 
00033 #include <channel-module.h>
00034 
00035 #define SPEED_OF_LIGHT     300000000.0               // 3 * 10^8 m/s
00036 #define PI              3.1415926535897
00037 
00038 class ChSAP;
00039 
00040 /*------------------------------------------------------------------------------
00041         UmtsWirelessChModule is an optimized version of the Dumb Wireless Channel
00042         which avoids the transmission of useless copies of the ME packet directed to
00043         its BS (i.e., in UPLINK direction) to all the others MEs
00044 
00045 -------------------------------------------------------------------------------*/
00046 
00047 class  UmtsWirelessChModule : public ChannelModule
00048 {
00049         public:
00050                  UmtsWirelessChModule();
00051                 virtual ~ UmtsWirelessChModule();
00052                 //virtual void recv(Packet *p);
00053                 virtual void recv(Packet *p, ChSAP *chsap);
00054                 
00055                 virtual int command(int argc, const char*const* argv);
00056 
00057         protected:
00058                 double getPropDelay(Position *source, Position* dest);
00059                 void sendUpPhy(Packet *p,ChSAP *chsap);
00060         
00061         private:
00062                 ChSAP* BSchsap_;
00063 
00064 };
00065 
00066 
00067 #endif /* UMTS_WIRELESSCH_H */

Generated on Wed Nov 26 15:47:29 2008 for NS-MIRACLE library by  doxygen 1.5.2