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


Protected Types


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_
u_int32_t cw_
u_int32_t ssrc_
u_int32_t slrc_
int min_frame_len_
u_int16_t sta_seqno_
int cache_node_count_


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

Member Enumeration Documentation

anonymous enum [protected]

Enumeration values:

Constructor & Destructor Documentation


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

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

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

void Mac802_11::send_timer void    [private]

void Mac802_11::sendACK int    dst [private]

void Mac802_11::sendCTS int    dst,
double    duration

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 *   ,

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

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.