#include <mac-802_16.h>
Inheritance diagram for Mac802_16:
Public Member Functions | |
Mac802_16 () | |
virtual | ~Mac802_16 () |
virtual void | BsUcdHandler (Event *e) |
virtual void | BsSyncHandler (Event *e) |
virtual void | BsRngHandler (Event *e) |
virtual void | BsMapHandler (Event *e) |
virtual void | SSRngHandler (Event *e) |
virtual void | SSSndTimerHandler (Event *e) |
virtual void | SSReqTimerHandler (Event *e) |
virtual void | RecvFrame (Packet *p, int i) |
virtual void | BsSendHandler (Event *e) |
virtual void | BsSndTimerHandler (Event *e) |
virtual void | BsWindowTimerHandler (Event *e) |
virtual void | BsTokenHandler (Event *e) |
int | command (int argc, const char *const *argv) |
void | recvHandler (Event *e) |
void | sendHandler (Event *e) |
void | recv (Packet *p, Handler *h) |
void | configure_upstream () |
void | set_bit (u_char *, int, int) |
void | dump_pkt (Packet *) |
char | ClassifyDataMgmt (Packet *) |
int | is_idle () |
int | match (Packet *, struct flow_classifier) |
int | bit_on (u_char, int) |
u_int32_t | calculate_slots (double, double) |
u_int32_t | power (u_int32_t, u_int32_t) |
double | TX_Time (Packet *p, int) |
Packet * | AllocPkt (int) |
void | insert_alloclist (aptr &, u_int16_t, double, double, u_int16_t, u_int32_t) |
int | CanBeSent (aptr &, Packet *, u_int32_t) |
int | len_queue (plist) |
int | CanErtPSBeSent (aptr &, Packet *) |
Public Attributes | |
TxPkt802_16Timer | mhTxPkt_ |
RxPkt802_16Timer | mhRxPkt_ |
upstream_channel | upchannel |
downstream_channel | downchannel |
char | collision |
u_int16_t | bytes_pminislot |
u_int32_t | minislots_psec |
double | size_mslots |
u_int16_t | size_ureqgrant |
u_int32_t | avg_pkts |
u_int32_t | avg_bytes |
u_int32_t | num_pkts |
double | num_bytes |
u_int32_t | total_num_sent_pkts |
double | total_num_sent_bytes |
u_int32_t | total_num_mgt_pkts_US |
u_int32_t | total_num_rng_pkts_US |
u_int32_t | total_num_concat_pkts_US |
u_int32_t | total_num_frag_pkts_US |
u_int32_t | total_num_req_pkts_US |
u_int32_t | total_num_plaindata_pkts_US |
u_int32_t | total_num_concatdata_pkts_US |
u_int32_t | total_num_frames_US |
u_int32_t | total_num_BE_pkts_US |
u_int32_t | total_num_RTVBR_pkts_US |
u_int32_t | total_num_UGS_pkts_US |
u_int32_t | total_num_OTHER_pkts_US |
u_int32_t | total_num_rx_pkts |
double | total_num_rx_bytes |
double | total_num_BW_bytesUP |
double | total_num_BW_bytesDOWN |
double | total_num_appbytesUS |
double | total_num_appbytesDS |
u_int32_t | total_packets_dropped |
double | last_BWCalcTime |
double | last_rtime |
u_int32_t | avg_mgmtpkts |
u_int32_t | num_mgmtpkts |
u_int32_t | avg_mgmtbytes |
u_int32_t | num_mgmtbytes |
double | last_mmgmttime |
MacState | rx_state_ |
MacState | tx_state_ |
int | tx_active_ |
Static Public Attributes | |
static int | lan_num |
static Mac802_16BS * | bs_arr [NUM_802_16_LANS] |
Friends | |
class | TxPkt802_16Timer |
class | RxPkt802_16Timer |
Mac802_16::Mac802_16 | ( | ) |
Constructor function
virtual Mac802_16::~Mac802_16 | ( | ) | [inline, virtual] |
virtual void Mac802_16::BsUcdHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::BsSyncHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::BsRngHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::BsMapHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::SSRngHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::SSSndTimerHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::SSReqTimerHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::RecvFrame | ( | Packet * | p, | |
int | i | |||
) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::BsSendHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
virtual void Mac802_16::BsSndTimerHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS.
virtual void Mac802_16::BsWindowTimerHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS.
virtual void Mac802_16::BsTokenHandler | ( | Event * | e | ) | [inline, virtual] |
Reimplemented in Mac802_16BS, and Mac802_16SS.
int Mac802_16::command | ( | int | argc, | |
const char *const * | argv | |||
) |
Reimplemented in Mac802_16BS, and Mac802_16SS.
void Mac802_16::recvHandler | ( | Event * | e | ) |
void Mac802_16::sendHandler | ( | Event * | e | ) |
void Mac802_16::recv | ( | Packet * | p, | |
Handler * | h | |||
) |
To handle incoming packet.
void Mac802_16::configure_upstream | ( | ) |
To configure the mini-slot parameters
void Mac802_16::set_bit | ( | u_char * | , | |
int | , | |||
int | ||||
) |
void Mac802_16::dump_pkt | ( | Packet * | ) |
char Mac802_16::ClassifyDataMgmt | ( | Packet * | p | ) |
This returns a 0 if this frame contains data
else it returns a 1 in which case it contains a MAC specific header (i.e., request)
int Mac802_16::is_idle | ( | ) |
Test if the channel is idle.
int Mac802_16::match | ( | Packet * | , | |
struct | flow_classifier | |||
) |
int Mac802_16::bit_on | ( | u_char | , | |
int | ||||
) |
u_int32_t Mac802_16::calculate_slots | ( | double | stime, | |
double | etime | |||
) |
stime | starting time for the map | |
etime | ending time |
u_int32_t Mac802_16::power | ( | u_int32_t | bs, | |
u_int32_t | in | |||
) |
Calculate bs raised to in
double Mac802_16::TX_Time | ( | Packet * | p, | |
int | ||||
) |
Packet * Mac802_16::AllocPkt | ( | int | ) |
void Mac802_16::insert_alloclist | ( | aptr & | , | |
u_int16_t | , | |||
double | , | |||
double | , | |||
u_int16_t | , | |||
u_int32_t | ||||
) |
int Mac802_16::CanBeSent | ( | aptr & | , | |
Packet * | , | |||
u_int32_t | ||||
) |
int Mac802_16::len_queue | ( | plist | ) |
int Mac802_16::CanErtPSBeSent | ( | aptr & | alloc_list, | |
Packet * | p | |||
) |
Check if there is a grant for the ertPS service and if this grant is greater than the packet size.
p,: | The frame that already has been adjusted for all headers |
friend class TxPkt802_16Timer [friend] |
friend class RxPkt802_16Timer [friend] |
char Mac802_16::collision |
u_int16_t Mac802_16::bytes_pminislot |
u_int32_t Mac802_16::minislots_psec |
double Mac802_16::size_mslots |
u_int16_t Mac802_16::size_ureqgrant |
u_int32_t Mac802_16::avg_pkts |
u_int32_t Mac802_16::avg_bytes |
u_int32_t Mac802_16::num_pkts |
double Mac802_16::num_bytes |
u_int32_t Mac802_16::total_num_sent_pkts |
u_int32_t Mac802_16::total_num_mgt_pkts_US |
u_int32_t Mac802_16::total_num_rng_pkts_US |
u_int32_t Mac802_16::total_num_concat_pkts_US |
u_int32_t Mac802_16::total_num_frag_pkts_US |
u_int32_t Mac802_16::total_num_req_pkts_US |
u_int32_t Mac802_16::total_num_plaindata_pkts_US |
u_int32_t Mac802_16::total_num_concatdata_pkts_US |
u_int32_t Mac802_16::total_num_frames_US |
u_int32_t Mac802_16::total_num_BE_pkts_US |
u_int32_t Mac802_16::total_num_RTVBR_pkts_US |
u_int32_t Mac802_16::total_num_UGS_pkts_US |
u_int32_t Mac802_16::total_num_OTHER_pkts_US |
u_int32_t Mac802_16::total_num_rx_pkts |
u_int32_t Mac802_16::total_packets_dropped |
double Mac802_16::last_BWCalcTime |
double Mac802_16::last_rtime |
u_int32_t Mac802_16::avg_mgmtpkts |
u_int32_t Mac802_16::num_mgmtpkts |
u_int32_t Mac802_16::avg_mgmtbytes |
u_int32_t Mac802_16::num_mgmtbytes |
double Mac802_16::last_mmgmttime |
int Mac802_16::lan_num [static] |
Mac802_16BS * Mac802_16::bs_arr [static] |
MacState Mac802_16::rx_state_ |
MacState Mac802_16::tx_state_ |