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  

MacTdma Class Reference

#include <mac-tdma.h>

Inheritance diagram for MacTdma:

Mac BiConnector NsObject TclObject Handler List of all members.

Public Member Functions

 MacTdma (PHY_MIB *p)
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)
void slotHandler (Event *e)
void recvHandler (Event *e)
void sendHandler (Event *e)

Protected Attributes

PHY_MIB * phymib_
int slot_packet_len_
int max_node_num_

Private Member Functions

int command (int argc, const char *const *argv)
void re_schedule ()
void makePreamble ()
void radioSwitch (int i)
void sendUp (Packet *p)
void sendDown (Packet *p)
void recvDATA (Packet *p)
void send ()
int is_idle (void)
void trace_pkt (Packet *p)
void dump (char *fname)
void mac_log (Packet *p)
double TX_Time (Packet *p)
u_int16_t usec (double t)

Private Attributes

SlotTdmaTimer mhSlot_
TxPktTdmaTimer mhTxPkt_
RxPktTdmaTimer mhRxPkt_
MacState rx_state_
MacState tx_state_
int radio_active_
int tx_active_
NsObject * logtarget_
int slot_num_
int slot_count_

Static Private Attributes

int max_slot_num_ = 0
double slot_time_ = 0
double start_time_ = 0
int active_node_ = 0
int * tdma_schedule_ = NULL
int * tdma_preamble_ = NULL
int tdma_ps_ = 0
int tdma_pr_ = 0

Friends

class SlotTdmaTimer
class TxPktTdmaTimer
class RxPktTdmaTimer

Constructor & Destructor Documentation

MacTdma::MacTdma (  PHY_MIB *    p ) 
 


Member Function Documentation

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

Reimplemented from Mac.

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

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

Reimplemented from Mac.

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

Reimplemented from Mac.

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

Reimplemented from Mac.

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

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

Reimplemented from Mac.

void MacTdma::makePreamble (    )  [private]
 

void MacTdma::radioSwitch (  int    i )  [private]
 

void MacTdma::re_schedule (    )  [private]
 

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

Reimplemented from Mac.

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

void MacTdma::recvHandler (  Event *    e ) 
 

void MacTdma::send (    )  [private]
 

void MacTdma::sendDown (  Packet *    p )  [private, virtual]
 

Reimplemented from Mac.

void MacTdma::sendHandler (  Event *    e ) 
 

void MacTdma::sendUp (  Packet *    p )  [private, virtual]
 

Reimplemented from Mac.

void MacTdma::slotHandler (  Event *    e ) 
 

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

double MacTdma::TX_Time (  Packet *    p )  [inline, private]
 

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


Friends And Related Function Documentation

friend class RxPktTdmaTimer [friend]
 

friend class SlotTdmaTimer [friend]
 

friend class TxPktTdmaTimer [friend]
 


Member Data Documentation

int MacTdma::active_node_ = 0 [static, private]
 

NsObject* MacTdma::logtarget_ [private]
 

Reimplemented from Mac.

int MacTdma::max_node_num_ [protected]
 

int MacTdma::max_slot_num_ = 0 [static, private]
 

RxPktTdmaTimer MacTdma::mhRxPkt_ [private]
 

SlotTdmaTimer MacTdma::mhSlot_ [private]
 

TxPktTdmaTimer MacTdma::mhTxPkt_ [private]
 

PHY_MIB* MacTdma::phymib_ [protected]
 

int MacTdma::radio_active_ [private]
 

MacState MacTdma::rx_state_ [private]
 

int MacTdma::slot_count_ [private]
 

int MacTdma::slot_num_ [private]
 

int MacTdma::slot_packet_len_ [protected]
 

double MacTdma::slot_time_ = 0 [static, private]
 

double MacTdma::start_time_ = 0 [static, private]
 

int MacTdma::tdma_pr_ = 0 [static, private]
 

int * MacTdma::tdma_preamble_ = NULL [static, private]
 

int MacTdma::tdma_ps_ = 0 [static, private]
 

int * MacTdma::tdma_schedule_ = NULL [static, private]
 

int MacTdma::tx_active_ [private]
 

MacState MacTdma::tx_state_ [private]
 


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