ns2 Network Simulator      C++ Class Hierarchy of version ns-snapshot-20040722
|  Home |  Source Code |  Manual |  FAQ |  Mailing List Archive |  Search |  |  Download | 


Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Mac802_11 Class Reference

#include <mac-802_11.h>

Inheritance diagram for Mac802_11:

Mac BiConnector NsObject TclObject Handler List of all members.

Public Member Functions

 Mac802_11 ()
void recv (Packet *p, Handler *h)
int hdr_dst (char *hdr, int dst=-2)
int hdr_src (char *hdr, int src=-2)
int hdr_type (char *hdr, u_int16_t type=0)
int bss_id ()
void trace_event (char *, Packet *)

Public Attributes

EventTrace * et_

Protected Types

enum  { IBSS_ID = MAC_BROADCAST }

Protected Member Functions

void backoffHandler (void)
void deferHandler (void)
void navHandler (void)
void recvHandler (void)
void sendHandler (void)
void txHandler (void)

Protected Attributes

PHY_MIB phymib_
MAC_MIB macmib_
int bss_id_

Private Member Functions

int command (int argc, const char *const *argv)
void recv_timer (void)
void send_timer (void)
int check_pktCTRL ()
int check_pktRTS ()
int check_pktTx ()
void send (Packet *p, Handler *h)
void sendRTS (int dst)
void sendCTS (int dst, double duration)
void sendACK (int dst)
void sendDATA (Packet *p)
void RetransmitRTS ()
void RetransmitDATA ()
void recvRTS (Packet *p)
void recvCTS (Packet *p)
void recvACK (Packet *p)
void recvDATA (Packet *p)
void capture (Packet *p)
void collision (Packet *p)
void discard (Packet *p, const char *why)
void rx_resume (void)
void tx_resume (void)
int is_idle (void)
void trace_pkt (Packet *p)
void dump (char *fname)
int initialized ()
void mac_log (Packet *p)
double txtime (Packet *p)
double txtime (double psz, double drt)
double txtime (int bytes)
void transmit (Packet *p, double timeout)
void checkBackoffTimer (void)
void postBackoff (int pri)
void setRxState (MacState newState)
void setTxState (MacState newState)
void inc_cw ()
void rst_cw ()
double sec (double t)
u_int16_t usec (double t)
void set_nav (u_int16_t us)

Private Attributes

double basicRate_
double dataRate_
IFTimer mhIF_
NavTimer mhNav_
RxTimer mhRecv_
TxTimer mhSend_
DeferTimer mhDefer_
BackoffTimer mhBackoff_
double nav_
MacState rx_state_
MacState tx_state_
int tx_active_
Packet * eotPacket_
Packet * pktRTS_
Packet * pktCTRL_
u_int32_t cw_
u_int32_t ssrc_
u_int32_t slrc_
int min_frame_len_
NsObject * logtarget_
NsObject * EOTtarget_
u_int16_t sta_seqno_
int cache_node_count_
Host * cache_

Friends

class DeferTimer
class BackoffTimer
class IFTimer
class NavTimer
class RxTimer
class TxTimer

Member Enumeration Documentation

anonymous enum [protected]
 

Enumeration values:
IBSS_ID 


Constructor & Destructor Documentation

Mac802_11::Mac802_11 (    ) 
 


Member Function Documentation

void Mac802_11::backoffHandler (  void    )  [protected]
 

int Mac802_11::bss_id (    )  [inline]
 

void Mac802_11::capture (  Packet *    p )  [private]
 

int Mac802_11::check_pktCTRL (    )  [private]
 

int Mac802_11::check_pktRTS (    )  [private]
 

int Mac802_11::check_pktTx (    )  [private]
 

void Mac802_11::checkBackoffTimer (  void    )  [inline, private]
 

void Mac802_11::collision (  Packet *    p )  [private]
 

int Mac802_11::command (  int    argc,
const char *const *    argv
)  [private, virtual]
 

Reimplemented from Mac.

void Mac802_11::deferHandler (  void    )  [protected]
 

void Mac802_11::discard (  Packet *    p,
const char *    why
)  [private]
 

void Mac802_11::dump (  char *    fname )  [private]
 

int Mac802_11::hdr_dst (  char *    hdr,
int    dst = -2
)  [inline, virtual]
 

Reimplemented from Mac.

int Mac802_11::hdr_src (  char *    hdr,
int    src = -2
)  [inline, virtual]
 

Reimplemented from Mac.

int Mac802_11::hdr_type (  char *    hdr,
u_int16_t    type = 0
)  [inline, virtual]
 

Reimplemented from Mac.

void Mac802_11::inc_cw (    )  [inline, private]
 

int Mac802_11::initialized (    )  [inline, private, virtual]
 

Reimplemented from Mac.

int Mac802_11::is_idle (  void    )  [inline, private]
 

void Mac802_11::mac_log (  Packet *    p )  [inline, private]
 

Reimplemented from Mac.

void Mac802_11::navHandler (  void    )  [protected]
 

void Mac802_11::postBackoff (  int    pri )  [inline, private]
 

void Mac802_11::recv (  Packet *    p,
Handler *    h
)  [virtual]
 

Reimplemented from Mac.

void Mac802_11::recv_timer (  void    )  [private]
 

void Mac802_11::recvACK (  Packet *    p )  [private]
 

void Mac802_11::recvCTS (  Packet *    p )  [private]
 

void Mac802_11::recvDATA (  Packet *    p )  [private]
 

void Mac802_11::recvHandler (  void    )  [protected]
 

void Mac802_11::recvRTS (  Packet *    p )  [private]
 

void Mac802_11::RetransmitDATA (    )  [private]
 

void Mac802_11::RetransmitRTS (    )  [private]
 

void Mac802_11::rst_cw (    )  [inline, private]
 

void Mac802_11::rx_resume (  void    )  [private]
 

double Mac802_11::sec (  double    t )  [inline, private]
 

void Mac802_11::send (  Packet *    p,
Handler *    h
)  [private]
 

void Mac802_11::send_timer (  void    )  [private]
 

void Mac802_11::sendACK (  int    dst )  [private]
 

void Mac802_11::sendCTS (  int    dst,
double    duration
)  [private]
 

void Mac802_11::sendDATA (  Packet *    p )  [private]
 

void Mac802_11::sendHandler (  void    )  [protected]
 

void Mac802_11::sendRTS (  int    dst )  [private]
 

void Mac802_11::set_nav (  u_int16_t    us )  [inline, private]
 

void Mac802_11::setRxState (  MacState    newState )  [inline, private]
 

void Mac802_11::setTxState (  MacState    newState )  [inline, private]
 

void Mac802_11::trace_event (  char *   ,
Packet *   
) 
 

void Mac802_11::trace_pkt (  Packet *    p )  [private]
 

void Mac802_11::transmit (  Packet *    p,
double    timeout
)  [inline, private]
 

void Mac802_11::tx_resume (  void    )  [private]
 

void Mac802_11::txHandler (  void    )  [protected]
 

double Mac802_11::txtime (  int    bytes )  [inline, private]
 

Reimplemented from Mac.

double Mac802_11::txtime (  double    psz,
double    drt
)  [private]
 

double Mac802_11::txtime (  Packet *    p )  [private]
 

Reimplemented from Mac.

u_int16_t Mac802_11::usec (  double    t )  [inline, private]
 


Friends And Related Function Documentation

friend class BackoffTimer [friend]
 

friend class DeferTimer [friend]
 

friend class IFTimer [friend]
 

friend class NavTimer [friend]
 

friend class RxTimer [friend]
 

friend class TxTimer [friend]
 


Member Data Documentation

double Mac802_11::basicRate_ [private]
 

int Mac802_11::bss_id_ [protected]
 

Host* Mac802_11::cache_ [private]
 

int Mac802_11::cache_node_count_ [private]
 

u_int32_t Mac802_11::cw_ [private]
 

double Mac802_11::dataRate_ [private]
 

Packet* Mac802_11::eotPacket_ [private]
 

NsObject* Mac802_11::EOTtarget_ [private]
 

EventTrace* Mac802_11::et_
 

NsObject* Mac802_11::logtarget_ [private]
 

Reimplemented from Mac.

MAC_MIB Mac802_11::macmib_ [protected]
 

BackoffTimer Mac802_11::mhBackoff_ [private]
 

DeferTimer Mac802_11::mhDefer_ [private]
 

IFTimer Mac802_11::mhIF_ [private]
 

NavTimer Mac802_11::mhNav_ [private]
 

RxTimer Mac802_11::mhRecv_ [private]
 

TxTimer Mac802_11::mhSend_ [private]
 

int Mac802_11::min_frame_len_ [private]
 

double Mac802_11::nav_ [private]
 

PHY_MIB Mac802_11::phymib_ [protected]
 

Packet* Mac802_11::pktCTRL_ [private]
 

Packet* Mac802_11::pktRTS_ [private]
 

MacState Mac802_11::rx_state_ [private]
 

u_int32_t Mac802_11::slrc_ [private]
 

u_int32_t Mac802_11::ssrc_ [private]
 

u_int16_t Mac802_11::sta_seqno_ [private]
 

int Mac802_11::tx_active_ [private]
 

MacState Mac802_11::tx_state_ [private]
 


The documentation for this class was generated from the following files:
This document is generated by doxygen.