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

EventTraceet_

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_
PacketeotPacket_
PacketpktRTS_
PacketpktCTRL_
u_int32_t cw_
u_int32_t ssrc_
u_int32_t slrc_
int min_frame_len_
NsObjectlogtarget_
NsObjectEOTtarget_
u_int16_t sta_seqno_
int cache_node_count_
Hostcache_

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.