PHY_MIB Class Reference

#include <mac-802_11.h>

Collaboration diagram for PHY_MIB:

Collaboration graph
[legend]

Detailed Description

Definition at line 133 of file mac-802_11.h.

Public Member Functions

u_int32_t getACKlen ()
u_int32_t getCTSlen ()
u_int32_t getCWMax ()
u_int32_t getCWMin ()
double getDIFS ()
double getEIFS ()
u_int32_t getHdrLen11 ()
double getPIFS ()
double getPLCPDataRate ()
u_int32_t getPLCPhdrLen ()
u_int32_t getPreambleLength ()
u_int32_t getRTSlen ()
double getSIFS ()
double getSlotTime ()
 PHY_MIB (Mac802_11 *parent)

Data Fields

double CCATime
double RxTxTurnaroundTime

Private Attributes

u_int32_t CWMax
u_int32_t CWMin
double PLCPDataRate
u_int32_t PLCPHeaderLength
u_int32_t PreambleLength
double SIFSTime
double SlotTime


Constructor & Destructor Documentation

PHY_MIB::PHY_MIB Mac802_11 parent  ) 
 

Definition at line 156 of file mac-802_11.cc.

References CWMax, CWMin, PLCPDataRate, PLCPHeaderLength, PreambleLength, SIFSTime, and SlotTime.

00157 {
00158     /*
00159      * Bind the phy mib objects.  Note that these will be bound
00160      * to Mac/802_11 variables
00161      */
00162 
00163     parent->bind("CWMin_", &CWMin);
00164     parent->bind("CWMax_", &CWMax);
00165     parent->bind("SlotTime_", &SlotTime);
00166     parent->bind("SIFS_", &SIFSTime);
00167     parent->bind("PreambleLength_", &PreambleLength);
00168     parent->bind("PLCPHeaderLength_", &PLCPHeaderLength);
00169     parent->bind_bw("PLCPDataRate_", &PLCPDataRate);
00170 }


Member Function Documentation

u_int32_t PHY_MIB::getACKlen  )  [inline]
 

Definition at line 168 of file mac-802_11.h.

References getPLCPhdrLen().

Referenced by Mac802_11::check_pktCTRL(), Mac802_11::check_pktTx(), getEIFS(), Mac802_11::sendACK(), Mac802_11::sendDATA(), and Mac802_11::sendRTS().

00168                                  {
00169         return(getPLCPhdrLen() + sizeof(struct ack_frame));
00170     }

Here is the call graph for this function:

u_int32_t PHY_MIB::getCTSlen  )  [inline]
 

Definition at line 164 of file mac-802_11.h.

References getPLCPhdrLen().

Referenced by Mac802_11::check_pktCTRL(), Mac802_11::check_pktRTS(), Mac802_11::sendCTS(), and Mac802_11::sendRTS().

00164                                  {
00165         return(getPLCPhdrLen() + sizeof(struct cts_frame));
00166     }

Here is the call graph for this function:

u_int32_t PHY_MIB::getCWMax  )  [inline]
 

Definition at line 138 of file mac-802_11.h.

References CWMax.

Referenced by Mac802_11::inc_cw().

00138 { return(CWMax); }

u_int32_t PHY_MIB::getCWMin  )  [inline]
 

Definition at line 137 of file mac-802_11.h.

References CWMin.

Referenced by Mac802_11::Mac802_11(), and Mac802_11::rst_cw().

00137 { return(CWMin); }

double PHY_MIB::getDIFS  )  [inline]
 

Definition at line 142 of file mac-802_11.h.

References SIFSTime, and SlotTime.

Referenced by Mac802_11::checkBackoffTimer(), getEIFS(), Mac802_11::navHandler(), and Mac802_11::tx_resume().

00142 { return(SIFSTime + 2 * SlotTime); }

double PHY_MIB::getEIFS  )  [inline]
 

Definition at line 143 of file mac-802_11.h.

References getACKlen(), getDIFS(), PLCPDataRate, and SIFSTime.

Referenced by Mac802_11::capture(), and Mac802_11::recv_timer().

00143                             {
00144         // see (802.11-1999, 9.2.10)
00145         return(SIFSTime + getDIFS()
00146                        + (8 *  getACKlen())/PLCPDataRate);
00147     }

Here is the call graph for this function:

u_int32_t PHY_MIB::getHdrLen11  )  [inline]
 

Definition at line 155 of file mac-802_11.h.

References ETHER_FCS_LEN, and getPLCPhdrLen().

Referenced by Mac802_11::recvDATA(), Mac802_11::RetransmitRTS(), and Mac802_11::sendDATA().

00155                                    {
00156         return(getPLCPhdrLen() + sizeof(struct hdr_mac802_11)
00157                        + ETHER_FCS_LEN);
00158     }

Here is the call graph for this function:

double PHY_MIB::getPIFS  )  [inline]
 

Definition at line 141 of file mac-802_11.h.

References SIFSTime, and SlotTime.

00141 { return(SIFSTime + SlotTime); }

double PHY_MIB::getPLCPDataRate  )  [inline]
 

Definition at line 149 of file mac-802_11.h.

References PLCPDataRate.

Referenced by Mac802_11::txtime().

00149 { return(PLCPDataRate); }

u_int32_t PHY_MIB::getPLCPhdrLen  )  [inline]
 

Definition at line 151 of file mac-802_11.h.

References PLCPHeaderLength, and PreambleLength.

Referenced by getACKlen(), getCTSlen(), getHdrLen11(), getRTSlen(), and Mac802_11::txtime().

00151                                      {
00152         return((PreambleLength + PLCPHeaderLength) >> 3);
00153     }

u_int32_t PHY_MIB::getPreambleLength  )  [inline]
 

Definition at line 148 of file mac-802_11.h.

References PreambleLength.

00148 { return(PreambleLength); }

u_int32_t PHY_MIB::getRTSlen  )  [inline]
 

Definition at line 160 of file mac-802_11.h.

References getPLCPhdrLen().

Referenced by Mac802_11::check_pktRTS(), and Mac802_11::sendRTS().

00160                                  {
00161         return(getPLCPhdrLen() + sizeof(struct rts_frame));
00162     }

Here is the call graph for this function:

double PHY_MIB::getSIFS  )  [inline]
 

Definition at line 140 of file mac-802_11.h.

References SIFSTime.

Referenced by Mac802_11::check_pktCTRL(), Mac802_11::check_pktRTS(), Mac802_11::check_pktTx(), Mac802_11::sendCTS(), Mac802_11::sendDATA(), Mac802_11::sendRTS(), and Mac802_11::tx_resume().

00140 { return(SIFSTime); }

double PHY_MIB::getSlotTime  )  [inline]
 

Definition at line 139 of file mac-802_11.h.

References SlotTime.

Referenced by BackoffTimer::pause(), BackoffTimer::start(), and Mac802_11::tx_resume().

00139 { return(SlotTime); }


Field Documentation

double PHY_MIB::CCATime
 

Definition at line 92 of file mac-tdma.h.

u_int32_t PHY_MIB::CWMax [private]
 

Definition at line 178 of file mac-802_11.h.

Referenced by getCWMax(), and PHY_MIB().

u_int32_t PHY_MIB::CWMin [private]
 

Definition at line 177 of file mac-802_11.h.

Referenced by getCWMin(), and PHY_MIB().

double PHY_MIB::PLCPDataRate [private]
 

Definition at line 183 of file mac-802_11.h.

Referenced by getEIFS(), getPLCPDataRate(), and PHY_MIB().

u_int32_t PHY_MIB::PLCPHeaderLength [private]
 

Definition at line 182 of file mac-802_11.h.

Referenced by getPLCPhdrLen(), and PHY_MIB().

u_int32_t PHY_MIB::PreambleLength [private]
 

Definition at line 181 of file mac-802_11.h.

Referenced by getPLCPhdrLen(), getPreambleLength(), and PHY_MIB().

double PHY_MIB::RxTxTurnaroundTime
 

Definition at line 93 of file mac-tdma.h.

double PHY_MIB::SIFSTime [private]
 

Definition at line 180 of file mac-802_11.h.

Referenced by getDIFS(), getEIFS(), getPIFS(), getSIFS(), and PHY_MIB().

double PHY_MIB::SlotTime [private]
 

Definition at line 179 of file mac-802_11.h.

Referenced by getDIFS(), getPIFS(), getSlotTime(), and PHY_MIB().


The documentation for this class was generated from the following files:
Generated on Tue Mar 6 17:25:01 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6