39#ifndef MMAC_UW_DACAP_H
40#define MMAC_UW_DACAP_H
50#define HDR_DACAP(P) (hdr_dacap::access(P))
52#define DACAP_DROP_REASON_WRONG_STATE \
55#define DACAP_DROP_REASON_WRONG_RECEIVER \
57#define DACAP_DROP_REASON_UNKNOWN_TYPE \
59#define DACAP_DROP_REASON_BUFFER_FULL \
122 virtual void expire(Event *e);
147 virtual void expire(Event *e);
179 virtual int command(
int argc,
const char *
const *argv);
245 virtual void initPkt(Packet *p,
int pkt_type);
259 virtual void txAck();
269 virtual void txRts();
273 virtual void txCts();
277 virtual void txWrn();
538 Packet::free(
Q.front());
555 return up_data_pkts_rx;
624 return MMac::resetStats();
633 return (up_data_pkts_rx -
Q.size());
717 backoffSumDuration(duration);
746 std::queue<Packet *>
Q;
Definition uw-mac-DACAP-alter.h:130
DACAPBTimer(MMacDACAP *m)
Definition uw-mac-DACAP-alter.h:136
virtual void expire(Event *e)
Definition uw-mac-DACAP-alter.cpp:140
MMacDACAP *int wait_reason
Definition uw-mac-DACAP-alter.h:149
Definition uw-mac-DACAP-alter.h:104
virtual void expire(Event *e)
Definition uw-mac-DACAP-alter.cpp:161
DACAPTimer(MMacDACAP *m)
Definition uw-mac-DACAP-alter.h:111
MMacDACAP *int wait_reason
Definition uw-mac-DACAP-alter.h:124
Definition uw-mac-DACAP-alter.h:156
double wait_costant
Definition uw-mac-DACAP-alter.h:787
ofstream fout
Definition uw-mac-DACAP-alter.h:835
DACAPBTimer backoff_timer
Definition uw-mac-DACAP-alter.h:827
int op_mode
Definition uw-mac-DACAP-alter.h:781
virtual int getWrnPktsRx()
Definition uw-mac-DACAP-alter.h:647
virtual void stateWaitXCts()
Definition uw-mac-DACAP-alter.cpp:2055
virtual void waitForUser()
Definition uw-mac-DACAP-alter.cpp:2319
virtual double getMeanDeferTime()
Definition uw-mac-DACAP-alter.h:723
bool warning_sent
Definition uw-mac-DACAP-alter.h:756
MMacDACAP()
Definition uw-mac-DACAP-alter.cpp:359
virtual int getTotalDeferTimes()
Definition uw-mac-DACAP-alter.h:687
int ACK_size
Definition uw-mac-DACAP-alter.h:801
bool print_transitions
Definition uw-mac-DACAP-alter.h:759
virtual int getRtsPktsTx()
Definition uw-mac-DACAP-alter.h:655
virtual void txRts()
Definition uw-mac-DACAP-alter.cpp:1105
virtual void incrWrnPktsRx()
Definition uw-mac-DACAP-alter.h:570
virtual int command(int argc, const char *const *argv)
Definition uw-mac-DACAP-alter.cpp:444
Packet * curr_data_pkt
Definition uw-mac-DACAP-alter.h:818
virtual void stateDeferData()
Definition uw-mac-DACAP-alter.cpp:2177
int last_reason
Definition uw-mac-DACAP-alter.h:769
bool backoff_freeze_mode
Definition uw-mac-DACAP-alter.h:757
int u_data_id
Definition uw-mac-DACAP-alter.h:824
bool has_buffer_queue
Definition uw-mac-DACAP-alter.h:761
int WRN_size
Definition uw-mac-DACAP-alter.h:799
double alpha_
Definition uw-mac-DACAP-alter.h:791
double max_tx_tries
Definition uw-mac-DACAP-alter.h:782
virtual int getCtsPktsRx()
Definition uw-mac-DACAP-alter.h:679
double max_prop_delay
Definition uw-mac-DACAP-alter.h:779
double session_distance
Definition uw-mac-DACAP-alter.h:807
double sumrtt2
Definition uw-mac-DACAP-alter.h:743
int last_data_id_tx
Definition uw-mac-DACAP-alter.h:820
int CTS_size
Definition uw-mac-DACAP-alter.h:797
static int u_pkt_id
Definition uw-mac-DACAP-alter.h:823
int txsn
Definition uw-mac-DACAP-alter.h:829
virtual int getQueueSize()
Definition uw-mac-DACAP-alter.h:528
double backoff_remaining
Definition uw-mac-DACAP-alter.h:812
virtual void stateSendWarning()
Definition uw-mac-DACAP-alter.cpp:2121
int rts_pkts_tx
Definition uw-mac-DACAP-alter.h:733
virtual void stateWaitXAck()
Definition uw-mac-DACAP-alter.cpp:2078
int curr_dest_addr
Definition uw-mac-DACAP-alter.h:794
virtual void rxStateIdle(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1154
virtual void incrRtsPktsTx()
Definition uw-mac-DACAP-alter.h:578
double sum_defer_time
Definition uw-mac-DACAP-alter.h:738
int buffer_pkts
Definition uw-mac-DACAP-alter.h:784
double defer_times_no
Definition uw-mac-DACAP-alter.h:737
virtual double computeTxTime(int type)
Definition uw-mac-DACAP-alter.cpp:594
virtual void backoffStartTime()
Definition uw-mac-DACAP-alter.h:695
int prev_state
Definition uw-mac-DACAP-alter.h:804
virtual void Phy2MacStartRx(const Packet *p)
Definition uw-mac-DACAP-alter.cpp:957
virtual void rxStateWaitXData(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1551
virtual void rxStateWaitXCts(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1483
std::queue< Packet * > Q
Definition uw-mac-DACAP-alter.h:746
virtual void resetStats()
Definition uw-mac-DACAP-alter.h:619
int max_payload
Definition uw-mac-DACAP-alter.h:788
virtual void rxStateWaitWarning(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1711
int sleep_node_2
Definition uw-mac-DACAP-alter.h:767
double start_tx_time
Definition uw-mac-DACAP-alter.h:740
double delta_D
Definition uw-mac-DACAP-alter.h:773
int RTS_size
Definition uw-mac-DACAP-alter.h:798
bool TxActive
Definition uw-mac-DACAP-alter.h:748
virtual void rxStateWaitXAck(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1609
bool backoff_pending
Definition uw-mac-DACAP-alter.h:754
bool multihop_mode
Definition uw-mac-DACAP-alter.h:763
double backoff_start_time
Definition uw-mac-DACAP-alter.h:810
virtual void txAck()
Definition uw-mac-DACAP-alter.cpp:1080
virtual void deferEndTime(double duration)
Definition uw-mac-DACAP-alter.h:706
virtual void refreshState(int state)
Definition uw-mac-DACAP-alter.h:499
virtual void setBackoffNodes(double node, double node_b)
Definition uw-mac-DACAP-alter.cpp:1065
int HDR_size
Definition uw-mac-DACAP-alter.h:800
virtual void rxStateSendWarning(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1787
double max_backoff_counter
Definition uw-mac-DACAP-alter.h:790
virtual void queuePop(bool flag=true)
Definition uw-mac-DACAP-alter.h:536
virtual void stateDataReceived(Packet *data_pkt)
Definition uw-mac-DACAP-alter.cpp:2225
virtual void rxStateWaitData(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1434
virtual double getRecontendTime()
Definition uw-mac-DACAP-alter.cpp:736
int last_data_id_rx
Definition uw-mac-DACAP-alter.h:821
int wrn_pkts_rx
Definition uw-mac-DACAP-alter.h:732
virtual void rxStateBackoff(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1217
virtual void initPkt(Packet *p, int pkt_type)
Definition uw-mac-DACAP-alter.cpp:803
bool RxActive
Definition uw-mac-DACAP-alter.h:749
virtual double getBackoffTime()
Definition uw-mac-DACAP-alter.cpp:749
int rttsamples
Definition uw-mac-DACAP-alter.h:744
virtual int getWrnPktsTx()
Definition uw-mac-DACAP-alter.h:639
int cts_pkts_tx
Definition uw-mac-DACAP-alter.h:735
virtual int getRemainingPkts()
Definition uw-mac-DACAP-alter.h:631
virtual void recvFromUpperLayers(Packet *p)
Definition uw-mac-DACAP-alter.cpp:777
virtual void incrCtsPktsRx()
Definition uw-mac-DACAP-alter.h:602
double srtt
Definition uw-mac-DACAP-alter.h:741
virtual void stateSendAck()
Definition uw-mac-DACAP-alter.cpp:2248
bool session_active
Definition uw-mac-DACAP-alter.h:752
virtual void rxStateWaitXWarning(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1654
virtual void stateWaitWarning()
Definition uw-mac-DACAP-alter.cpp:2105
int rts_pkts_rx
Definition uw-mac-DACAP-alter.h:734
virtual void stateWaitXWarning()
Definition uw-mac-DACAP-alter.cpp:2089
virtual void incrWrnPktsTx()
Definition uw-mac-DACAP-alter.h:562
virtual void stateCTSReceived()
Definition uw-mac-DACAP-alter.cpp:2211
int sleep_node_1
Definition uw-mac-DACAP-alter.h:766
virtual void stateWaitData()
Definition uw-mac-DACAP-alter.cpp:2151
virtual void stateSendData()
Definition uw-mac-DACAP-alter.cpp:2198
virtual void rxStateRecontendWindow(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1867
virtual void incrTotalDeferTimes()
Definition uw-mac-DACAP-alter.h:610
virtual void initInfo()
Definition uw-mac-DACAP-alter.cpp:525
virtual void stateBackoff()
Definition uw-mac-DACAP-alter.cpp:2004
virtual void rxStateWaitACK(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1381
double t_min
Definition uw-mac-DACAP-alter.h:771
int curr_state
Definition uw-mac-DACAP-alter.h:803
virtual void incrCtsPktsTx()
Definition uw-mac-DACAP-alter.h:594
virtual void stateWaitCTS()
Definition uw-mac-DACAP-alter.cpp:2138
double backoff_duration
Definition uw-mac-DACAP-alter.h:811
virtual void txWrn()
Definition uw-mac-DACAP-alter.cpp:1143
virtual int getCtsPktsTx()
Definition uw-mac-DACAP-alter.h:671
virtual void freezeBackoff()
Definition uw-mac-DACAP-alter.cpp:702
virtual void Phy2MacEndTx(const Packet *p)
Definition uw-mac-DACAP-alter.cpp:865
double T_W_min
Definition uw-mac-DACAP-alter.h:772
virtual void rxStateWaitCTS(Packet *p)
Definition uw-mac-DACAP-alter.cpp:1303
DACAPTimer timer
Definition uw-mac-DACAP-alter.h:826
double sumrtt
Definition uw-mac-DACAP-alter.h:742
int getUpLayersDataPktsRx()
Definition uw-mac-DACAP-alter.h:553
int cts_pkts_rx
Definition uw-mac-DACAP-alter.h:736
double RTS_sent_time
Definition uw-mac-DACAP-alter.h:806
double delta_data
Definition uw-mac-DACAP-alter.h:776
virtual void stateRecontendWindow()
Definition uw-mac-DACAP-alter.cpp:2270
virtual void incrRtsPktsRx()
Definition uw-mac-DACAP-alter.h:586
virtual void exitSleep()
Definition uw-mac-DACAP-alter.cpp:695
virtual void exitBackoff()
Definition uw-mac-DACAP-alter.cpp:679
virtual void Phy2MacEndRx(Packet *p)
Definition uw-mac-DACAP-alter.cpp:963
virtual void txCts()
Definition uw-mac-DACAP-alter.cpp:1130
int backoff_counter
Definition uw-mac-DACAP-alter.h:830
virtual int crLayCommand(ClMessage *m)
Definition uw-mac-DACAP-alter.cpp:511
virtual int getRtsPktsRx()
Definition uw-mac-DACAP-alter.h:663
bool defer_data
Definition uw-mac-DACAP-alter.h:750
virtual ~MMacDACAP()
Definition uw-mac-DACAP-alter.cpp:438
virtual void printStateInfo(double delay=0)
Definition uw-mac-DACAP-alter.cpp:2282
int wrn_pkts_tx
Definition uw-mac-DACAP-alter.h:731
static map< int, string > info
Definition uw-mac-DACAP-alter.h:832
virtual double computeWaitTime(int mode, double distance)
Definition uw-mac-DACAP-alter.cpp:633
virtual void backoffEndTime()
Definition uw-mac-DACAP-alter.h:714
virtual void stateIdle()
Definition uw-mac-DACAP-alter.cpp:1948
virtual void txData()
Definition uw-mac-DACAP-alter.cpp:1092
double backoff_tuner
Definition uw-mac-DACAP-alter.h:785
double backoff_first_start
Definition uw-mac-DACAP-alter.h:814
virtual void stateWaitACK()
Definition uw-mac-DACAP-alter.cpp:2165
virtual void stateSendRTS()
Definition uw-mac-DACAP-alter.cpp:1989
virtual void stateWaitXData()
Definition uw-mac-DACAP-alter.cpp:2066
virtual void stateSendCTS()
Definition uw-mac-DACAP-alter.cpp:2259
Definition uw-mac-DACAP-alter.h:67
int sn
Definition uw-mac-DACAP-alter.h:70
static int offset_
Definition uw-mac-DACAP-alter.h:77
static int & offset()
Definition uw-mac-DACAP-alter.h:82
int dacap_type
Definition uw-mac-DACAP-alter.h:71
int tx_tries
Definition uw-mac-DACAP-alter.h:75
int data_sn
Definition uw-mac-DACAP-alter.h:73
static struct hdr_dacap * access(const Packet *p)
Definition uw-mac-DACAP-alter.h:91
double ts
Definition uw-mac-DACAP-alter.h:69
packet_t orig_type
Definition uw-mac-DACAP-alter.h:72
packet_t PT_DACAP
Definition initlib.cpp:47