38#ifndef UWUFETCH_NODE_H_
39#define UWUFETCH_NODE_H_
55#define UWFETCH_NODE_DROP_REASON_UNKNOWN_TYPE \
57#define UWFETCH_NODE_DROP_REASON_WRONG_RECEIVER \
59#define UWFETCH_NODE_DROP_REASON_CBEACON_AND_DATA_ALREADY_TX \
62#define UWFETCH_NODE_DROP_REASON_ERROR \
64#define UWUFETCH_NODE_DROP_REASON_BUFFER_FULL \
66#define UWUFETCH_NODE_DROP_REASON_NOT_ENABLE \
69#define UWUFETCH_NODE_DROP_REASON_NOT_MY_TURN \
71#define UWUFETCH_NODE_DROP_CAN_NOT_RX_THIS_PCK \
158 virtual int command(
int argc,
const char *
const *argv);
472 virtual void expire(Event *e);
509 virtual void expire(Event *e);
542 virtual void expire(Event *e);
578 virtual void expire(Event *e);
612 virtual void expire(Event *e);
647 virtual void expire(Event *e);
682 virtual void expire(Event *e);
717 virtual void expire(Event *e);
2537 static std::map<UWUFETCH_NODE_STATUS, std::string>
2540 static std::map<UWUFETCH_NODE_STATUS_CHANGE, std::string>
2543 static std::map<UWUFETCH_NODE_PACKET_TYPE, std::string>
2546 static std::map<UWUFETCH_TIMER_STATUS, std::string>
Definition uwUFetch_NODE.h:450
virtual ~uwUFetch_BEACON_timer()
Definition uwUFetch_NODE.h:465
virtual void expire(Event *e)
Definition uwUFetch_NODE_HEADNODE.cpp:3574
uwUFetch_BEACON_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:457
Definition uwUFetch_NODE.h:484
virtual void expire(Event *e)
Definition uwUFetch_NODE_SENSOR.cpp:2917
virtual ~uwUFetch_BackOffTimer()
Definition uwUFetch_NODE.h:499
uwUFetch_BackOffTimer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:491
Definition uwUFetch_NODE.h:659
virtual void expire(Event *e)
Definition uwUFetch_NODE_SENSOR.cpp:2956
uwUFetch_CBeacon_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:666
virtual ~uwUFetch_CBeacon_timer()
Definition uwUFetch_NODE.h:674
Definition uwUFetch_NODE.h:694
virtual ~uwUFetch_CTS_timer()
Definition uwUFetch_NODE.h:709
uwUFetch_CTS_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:701
virtual void expire(Event *e)
Definition uwUFetch_NODE_HEADNODE.cpp:3614
Definition uwUFetch_NODE.h:589
virtual void expire(Event *e)
Definition uwUFetch_NODE_SENSOR.cpp:2943
virtual ~uwUFetch_DATA_BEFORE_TX_timer()
Definition uwUFetch_NODE.h:604
uwUFetch_DATA_BEFORE_TX_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:596
Definition uwUFetch_NODE.h:624
uwUFetch_DATA_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:631
virtual void expire(Event *e)
Definition uwUFetch_NODE_HEADNODE.cpp:3601
virtual ~uwUFetch_DATA_timer()
Definition uwUFetch_NODE.h:639
Definition uwUFetch_NODE.h:257
int getCounter()
Definition uwUFetch_NODE.h:414
virtual void freeze()
Definition uwUFetch_NODE.h:283
int counter
Definition uwUFetch_NODE.h:433
double left_duration
Definition uwUFetch_NODE.h:432
void resetCounter()
Definition uwUFetch_NODE.h:394
virtual ~uwUFetch_NODE_timer()
Definition uwUFetch_NODE.h:277
virtual void stop()
Definition uwUFetch_NODE.h:315
double getDuration()
Definition uwUFetch_NODE.h:425
virtual void unFreeze()
Definition uwUFetch_NODE.h:299
uwUFetch_NODE *UWUFETCH_TIMER_STATUS timer_status
Definition uwUFetch_NODE.h:436
void incrCounter()
Definition uwUFetch_NODE.h:403
bool isActive()
Definition uwUFetch_NODE.h:385
bool isRunning()
Definition uwUFetch_NODE.h:352
bool isExpired()
Definition uwUFetch_NODE.h:374
bool isIdle()
Definition uwUFetch_NODE.h:341
virtual void schedule(double val)
Definition uwUFetch_NODE.h:327
double start_time
Definition uwUFetch_NODE.h:431
uwUFetch_NODE_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:263
bool isFroozen()
Definition uwUFetch_NODE.h:363
Definition uwUFetch_NODE.h:555
virtual void expire(Event *e)
Definition uwUFetch_NODE_SENSOR.cpp:2930
virtual ~uwUFetch_POLL_timer()
Definition uwUFetch_NODE.h:570
uwUFetch_POLL_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:562
Definition uwUFetch_NODE.h:519
virtual void expire(Event *e)
Definition uwUFetch_NODE_HEADNODE.cpp:3588
virtual ~uwUFetch_PROBE_timer()
Definition uwUFetch_NODE.h:534
uwUFetch_PROBE_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:526
Definition uwUFetch_NODE.h:729
uwUFetch_TRIGGER_timer(uwUFetch_NODE *m)
Definition uwUFetch_NODE.h:736
virtual ~uwUFetch_TRIGGER_timer()
Definition uwUFetch_NODE.h:744
virtual void expire(Event *e)
Definition uwUFetch_NODE.h:136
Packet * curr_PROBE_NODE_pck_tx
Definition uwUFetch_NODE.h:2240
int N_RUN
Definition uwUFetch_NODE.h:2090
void incrTotalCBeaconPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:2061
std::queue< double > Q_probbed_backoff_time
Definition uwUFetch_NODE.h:2516
double rx_POLL_finish_time
Definition uwUFetch_NODE.h:2126
double rx_BEACON_finish_time
Definition uwUFetch_NODE.h:2118
int getCBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:2029
uwUFetch_NODE()
Definition uwUFetch_NODE_SENSOR.cpp:81
bool rxCBEACONEnabled
Definition uwUFetch_NODE.h:2234
uwUFetch_CBeacon_timer CBEACON_timer
Definition uwUFetch_NODE.h:2111
int getTotalBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:1831
double data_timeout
Definition uwUFetch_NODE.h:2390
double tx_POLL_finish_HN_time
Definition uwUFetch_NODE.h:2315
int n_POLL_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2210
int n_tot_PROBE_pck_rx_by_HN
Definition uwUFetch_NODE.h:2349
void incrTotalDataPckRx_by_HN()
Definition uwUFetch_NODE.h:1485
void incrBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:1797
virtual void state_BEACON_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2210
UWUFETCH_NODE_STATUS_CHANGE last_reason
Definition uwUFetch_NODE.h:2523
virtual void state_DATA_HN_finish_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2149
int getTotalPollPckTx_by_HN()
Definition uwUFetch_NODE.h:1453
double T_max_bck_DATA
Definition uwUFetch_NODE.h:2196
int getTotalCtsPckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1739
virtual void state_DATA_NODE_finish_tx()
Definition uwUFetch_NODE_SENSOR.cpp:2341
void incrTotalBeaconPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:1841
double T_MIN_BACKOFF_PROBE
Definition uwUFetch_NODE.h:2264
int n_BEACON_pck_tx_by_HN
Definition uwUFetch_NODE.h:2428
double bck_before_tx_RTS
Definition uwUFetch_NODE.h:2402
virtual void state_DATA_HN_first_tx_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:558
virtual void DataBeforeTxTOExpired_HN()
Definition uwUFetch_NODE_HEADNODE.cpp:2082
bool CTSrx
Definition uwUFetch_NODE.h:2419
virtual void CBEACON_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:3383
virtual void BEACON_rx()
Definition uwUFetch_NODE_SENSOR.cpp:1787
void incrCBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:2017
UWUFETCH_NODE_STATUS prev_state
Definition uwUFetch_NODE.h:2527
virtual bool burstDATA()
Definition uwUFetch_NODE_HEADNODE_mod_1.cpp:3115
double T_GUARD
Definition uwUFetch_NODE.h:2083
int getTotalTriggerPckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1629
virtual void state_DATA_HN_finish_tx_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:759
void incrDataPckTx_by_NODE()
Definition uwUFetch_NODE.h:1973
int n_tot_CTS_pck_rx_corr_by_HN
Definition uwUFetch_NODE.h:2378
virtual void Phy2MacEndTx_HN(const Packet *p)
Definition uwUFetch_NODE_HEADNODE.cpp:1107
int n_DATA_pck_tx_by_NODE
Definition uwUFetch_NODE.h:2213
int n_tot_DATA_pck_tx_by_HN
Definition uwUFetch_NODE.h:2381
Packet * curr_RTS_HN_pck_tx
Definition uwUFetch_NODE.h:2494
int MAX_POLLED_NODE
Definition uwUFetch_NODE.h:2282
virtual void Phy2MacStartRx_HN(const Packet *p)
Definition uwUFetch_NODE_HEADNODE.cpp:56
bool txDATAEnabledHN
Definition uwUFetch_NODE.h:2478
virtual double choiceBackOffTimer_HN()
Definition uwUFetch_NODE_HEADNODE.cpp:3413
int getBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:1809
int getDataPckRx_by_HN()
Definition uwUFetch_NODE.h:1475
int getTotalProbePckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1409
int n_tot_PROBE_pck_tx_by_NODE
Definition uwUFetch_NODE.h:2142
double T_POLL
Definition uwUFetch_NODE.h:2087
void incrProbePckRx_HN()
Definition uwUFetch_NODE.h:1353
double bck_before_tx_data
Definition uwUFetch_NODE.h:2199
virtual void stateIdle_HN()
Definition uwUFetch_NODE_HEADNODE.cpp:1283
double tx_DATA_finish_HN_time
Definition uwUFetch_NODE.h:2344
double T_PROBE
Definition uwUFetch_NODE.h:2270
UWUFETCH_TIMER_STATUS
Definition uwUFetch_NODE.h:246
@ UWUFETCH_TIMER_STATUS_FROZEN
Definition uwUFetch_NODE.h:249
@ UWUFETCH_TIMER_STATUS_IDLE
Definition uwUFetch_NODE.h:247
@ UWUFETCH_TIMER_STATUS_RUNNING
Definition uwUFetch_NODE.h:248
@ UWUFETCH_TIMER_STATUS_EXPIRED
Definition uwUFetch_NODE.h:250
static std::map< UWUFETCH_TIMER_STATUS, std::string > statusTimer
Definition uwUFetch_NODE.h:2547
virtual void BeaconTxTOExpire()
Definition uwUFetch_NODE_HEADNODE.cpp:1416
uwUFetch_BackOffTimer BCK_timer_data
Definition uwUFetch_NODE.h:2298
virtual void state_wait_CTS()
Definition uwUFetch_NODE_HEADNODE.cpp:1779
bool txDATAEnabled
Definition uwUFetch_NODE.h:2232
double tx_CBEACON_start_HN_time
Definition uwUFetch_NODE.h:2322
int num_pck_to_tx_by_NODE
Definition uwUFetch_NODE.h:2183
double tx_POLL_start_HN_time
Definition uwUFetch_NODE.h:2312
virtual int crLayCommand(ClMessage *m)
Definition uwUFetch_NODE_SENSOR.cpp:264
int MAX_ALLOWED_CBEACON_TX
Definition uwUFetch_NODE.h:2273
bool rxCTSEnabled
Definition uwUFetch_NODE.h:2476
Packet * curr_CBEACON_HN_pck_tx
Definition uwUFetch_NODE.h:2490
double Trts
Definition uwUFetch_NODE.h:2396
virtual void state_DATA_HN_first_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:1989
virtual void DATA_rx()
Definition uwUFetch_NODE_HEADNODE.cpp:3053
virtual void BCKTOExpired_HN()
Definition uwUFetch_NODE_HEADNODE.cpp:1610
int getBeaconTx_by_HN()
Definition uwUFetch_NODE.h:1321
virtual void computeTxTime_HN(UWUFETCH_NODE_PACKET_TYPE tp)
Definition uwUFetch_NODE_HEADNODE.cpp:3512
virtual void BCKTOExpired()
Definition uwUFetch_NODE_SENSOR.cpp:1869
virtual void printStateInfo(double delay=0)
Definition uwUFetch_NODE_SENSOR.cpp:2977
virtual void ProbeTOExpired()
Definition uwUFetch_NODE_HEADNODE.cpp:2404
std::ofstream out_file_logging
Definition uwUFetch_NODE.h:2553
virtual void Phy2MacEndRx_HN(Packet *p)
Definition uwUFetch_NODE_HEADNODE.cpp:198
double tx_RTS_finish_HN_time
Definition uwUFetch_NODE.h:2336
double T_max_bck_probe_node
Definition uwUFetch_NODE.h:2165
virtual void Phy2MacEndRx_HN_without(Packet *p)
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:48
double rx_TRIGGER_start_HN_time
Definition uwUFetch_NODE.h:2328
double TIME_BETWEEN_2_TX_DATA_NODE_HN
Definition uwUFetch_NODE.h:2091
int n_CBEACON_pck_tx_by_HN
Definition uwUFetch_NODE.h:2444
virtual void state_wait_other_PROBE()
Definition uwUFetch_NODE_HEADNODE.cpp:2641
int n_tot_DATA_pck_rx_corr_by_HN
Definition uwUFetch_NODE.h:2360
virtual void BCKTOExpired_HN_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:539
double TIME_BETWEEN_2_TX_DATA_HN_AUV
Definition uwUFetch_NODE.h:2285
virtual void updateListProbbedNode()
Definition uwUFetch_NODE_HEADNODE.cpp:3554
int getTriggerPckRx_HN()
Definition uwUFetch_NODE.h:1585
int mac_addr_HN_in_beacon
Definition uwUFetch_NODE.h:2171
virtual void DATA_HN_tx_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:660
static bool initialized
Definition uwUFetch_NODE.h:2530
double rx_DATA_finish_HN_time
Definition uwUFetch_NODE.h:2320
int getTotalDataPckRx_by_HN()
Definition uwUFetch_NODE.h:1497
double T_max_bck_RTS
Definition uwUFetch_NODE.h:2407
int n_tot_POLL_pck_tx_by_HN
Definition uwUFetch_NODE.h:2355
int getTotalPollPckRx_by_NODE()
Definition uwUFetch_NODE.h:1941
void incrPollPckTx_by_HN()
Definition uwUFetch_NODE.h:1419
double T_min_bck_RTS
Definition uwUFetch_NODE.h:2404
void incrTotalTriggerPckRx_HN()
Definition uwUFetch_NODE.h:1595
int debugMio_
Definition uwUFetch_NODE.h:2089
int n_tot_RTS_pck_tx_by_HN
Definition uwUFetch_NODE.h:2373
void incrTotalDataPckRx_corrupted_by_HN()
Definition uwUFetch_NODE.h:1507
virtual void Mac2PhyStartTx_HN(Packet *p)
Definition uwUFetch_NODE_HEADNODE.cpp:984
bool txRTSEnabled
Definition uwUFetch_NODE.h:2474
virtual double getDataTimerValue()
Definition uwUFetch_NODE_HEADNODE.cpp:3453
void incrBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1309
int n_tot_POLL_pck_rx_corr_by_NODE
Definition uwUFetch_NODE.h:2148
int getTotalCBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1563
int getTotalDataPckTx_by_NODE()
Definition uwUFetch_NODE.h:2007
bool sectionCBeacon
Definition uwUFetch_NODE.h:2424
int number_data_pck_HN_rx_exact
Definition uwUFetch_NODE.h:2386
int getTotalTriggerPckRx_HN()
Definition uwUFetch_NODE.h:1607
virtual void refreshReason(UWUFETCH_NODE_STATUS_CHANGE reason)
Definition uwUFetch_NODE.h:872
int getTotalDataPckRx_corrupted_by_HN()
Definition uwUFetch_NODE.h:1519
int n_tot_POLL_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2145
Packet * curr_TRIGGER_HN_pck_rx
Definition uwUFetch_NODE.h:2492
int mac_addr_HN_in_cbeacon
Definition uwUFetch_NODE.h:2191
Packet * curr_POLL_NODE_pck_rx
Definition uwUFetch_NODE.h:2242
int HEADNODE
Definition uwUFetch_NODE.h:2534
int MODE_COMM_HN_AUV
Definition uwUFetch_NODE.h:2094
int getTotalProbePckRx_HN()
Definition uwUFetch_NODE.h:1387
double rx_PROBE_start_HN_time
Definition uwUFetch_NODE.h:2308
bool txBEACONEnabled
Definition uwUFetch_NODE.h:2462
int mac_addr_AUV_in_trigger
Definition uwUFetch_NODE.h:2410
int getTotalBeaconPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:1853
int getPollPckTx_by_HN()
Definition uwUFetch_NODE.h:1431
Packet * curr_BEACON_HN_pck_tx
Definition uwUFetch_NODE.h:2482
virtual void Phy2MacEndRx(Packet *p)
Definition uwUFetch_NODE_SENSOR.cpp:696
void incrDataPckTx_by_HN()
Definition uwUFetch_NODE.h:1749
bool rxPROBEEnabled
Definition uwUFetch_NODE.h:2464
bool txPROBEEnabled
Definition uwUFetch_NODE.h:2228
void incrTotalPollPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:1951
virtual void state_DATA_HN_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2095
virtual void BEACON_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2332
int getDataPckTx_by_NODE()
Definition uwUFetch_NODE.h:1985
double T_CTS
Definition uwUFetch_NODE.h:2280
Packet * curr_DATA_NODE_pck_tx_HN
Definition uwUFetch_NODE.h:2500
int getTotalBeaconTx_by_HN()
Definition uwUFetch_NODE.h:1343
double tx_DATA_start_time
Definition uwUFetch_NODE.h:2128
int MAXIMUM_BUFFER_DATA_PCK_NODE
Definition uwUFetch_NODE.h:2085
virtual void DATA_NODE_tx()
Definition uwUFetch_NODE_SENSOR.cpp:2265
std::ofstream fout
Definition uwUFetch_NODE.h:2550
int n_tot_DATA_pck_rx_by_HN
Definition uwUFetch_NODE.h:2357
double T_MAX_BACKOFF_PROBE
Definition uwUFetch_NODE.h:2261
void incrTotalPollPckTx_by_HN()
Definition uwUFetch_NODE.h:1441
int n_BEACON_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2202
double tx_BEACON_start_HN_time
Definition uwUFetch_NODE.h:2302
double rx_CTS_start_HN_time
Definition uwUFetch_NODE.h:2338
void incrDataPckRx_by_HN()
Definition uwUFetch_NODE.h:1463
bool txPOLLEnabled
Definition uwUFetch_NODE.h:2466
virtual void initInfo()
Definition uwUFetch_NODE_SENSOR.cpp:415
virtual void state_wait_PROBE()
Definition uwUFetch_NODE_HEADNODE.cpp:2349
double rx_CBEACON_start_time
Definition uwUFetch_NODE.h:2132
int pck_number_id
Definition uwUFetch_NODE.h:2389
virtual void Mac2PhyStartTx(Packet *p)
Definition uwUFetch_NODE_SENSOR.cpp:1610
std::queue< int > Q_probbed_mac_HN
Definition uwUFetch_NODE.h:2509
virtual void CBeaconTOExpired()
Definition uwUFetch_NODE_SENSOR.cpp:2448
bool rxTRIGGEREnabled
Definition uwUFetch_NODE.h:2472
int num_cbeacon_at_now_HN_tx
Definition uwUFetch_NODE.h:2188
int getTotalCBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:2051
void incrTotalBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1331
double rx_DATA_start_HN_time
Definition uwUFetch_NODE.h:2318
void incrTotalBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:1819
double bck_before_tx_probe
Definition uwUFetch_NODE.h:2173
int n_CBEACON_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2217
virtual void state_DATA_HN_tx_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:677
double tx_RTS_start_HN_time
Definition uwUFetch_NODE.h:2334
double T_min_bck_probe_node
Definition uwUFetch_NODE.h:2162
virtual double getRTT()
Definition uwUFetch_NODE_HEADNODE.cpp:3539
virtual void state_wait_first_DATA()
Definition uwUFetch_NODE_HEADNODE.cpp:2814
void incrTotalTriggerPckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1617
void incrRtsPckTx_by_HN()
Definition uwUFetch_NODE.h:1639
UWUFETCH_NODE_STATUS curr_state
Definition uwUFetch_NODE.h:2526
static std::map< UWUFETCH_NODE_PACKET_TYPE, std::string > packetType
Definition uwUFetch_NODE.h:2544
void incrTotalPollPckRx_by_NODE()
Definition uwUFetch_NODE.h:1929
int n_POLL_pck_tx_by_HN
Definition uwUFetch_NODE.h:2436
void incrTotalDataPckTx_by_HN()
Definition uwUFetch_NODE.h:1771
int mac_addr_HN_in_poll
Definition uwUFetch_NODE.h:2181
virtual void CTS_rx()
Definition uwUFetch_NODE_HEADNODE.cpp:1897
int getDataPckTx_by_HN()
Definition uwUFetch_NODE.h:1761
double T_min_bck_DATA
Definition uwUFetch_NODE.h:2193
uwUFetch_DATA_timer DATA_timer
Definition uwUFetch_NODE.h:2293
int getRtsPckTx_by_HN()
Definition uwUFetch_NODE.h:1651
int getTotalPollPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:1963
virtual void computeTxTime(UWUFETCH_NODE_PACKET_TYPE tp)
Definition uwUFetch_NODE_SENSOR.cpp:2843
virtual void DataTOExpired()
Definition uwUFetch_NODE_HEADNODE.cpp:2913
void incrTotalCtsPckRx_HN()
Definition uwUFetch_NODE.h:1705
virtual void DATA_HN_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2060
void incrProbePckTx_by_NODE()
Definition uwUFetch_NODE.h:1863
int max_pck_HN_can_tx
Definition uwUFetch_NODE.h:2416
double Tdata_HN
Definition uwUFetch_NODE.h:2398
int getTotalCBeaconPckRx_corrupted_by_NODE()
Definition uwUFetch_NODE.h:2073
Packet * curr_BEACON_NODE_pck_rx
Definition uwUFetch_NODE.h:2238
int n_tot_PROBE_pck_corr_rx_by_HN
Definition uwUFetch_NODE.h:2352
int getTotalCtsPckRx_HN()
Definition uwUFetch_NODE.h:1717
virtual void state_CBEACON_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:3263
int n_PROBE_pck_rx_by_HN
Definition uwUFetch_NODE.h:2432
uwUFetch_BackOffTimer BCK_timer_probe
Definition uwUFetch_NODE.h:2101
int n_tot_CBEACON_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2154
double tx_DATA_finish_time
Definition uwUFetch_NODE.h:2130
int getTotalDataPckTx_by_HN()
Definition uwUFetch_NODE.h:1783
void incrTriggerPckRx_HN()
Definition uwUFetch_NODE.h:1573
double Tbeacon
Definition uwUFetch_NODE.h:2392
virtual void PROBE_rx()
Definition uwUFetch_NODE_HEADNODE.cpp:2517
uwUFetch_BackOffTimer BCK_timer_rts
Definition uwUFetch_NODE.h:2295
uwUFetch_DATA_BEFORE_TX_timer DATA_BEFORE_TX_timer
Definition uwUFetch_NODE.h:2107
virtual void CBEACON_rx()
Definition uwUFetch_NODE_SENSOR.cpp:2481
void incrCBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1529
double rx_POLL_start_time
Definition uwUFetch_NODE.h:2124
int n_CTS_pck_rx_by_HN
Definition uwUFetch_NODE.h:2454
virtual void state_PROBE_tx()
Definition uwUFetch_NODE_SENSOR.cpp:1895
virtual void state_wait_other_DATA()
Definition uwUFetch_NODE_HEADNODE.cpp:2877
bool rxPOLLEnabled
Definition uwUFetch_NODE.h:2230
virtual bool typeCommunication()
Definition uwUFetch_NODE_HEADNODE.cpp:3403
int n_tot_CBEACON_pck_tx_by_HN
Definition uwUFetch_NODE.h:2363
double rx_BEACON_start_time
Definition uwUFetch_NODE.h:2116
virtual void recvFromUpperLayers_HN(Packet *p)
Definition uwUFetch_NODE_HEADNODE.cpp:3481
int n_tot_DATA_pck_tx_by_NODE
Definition uwUFetch_NODE.h:2151
int n_TRIGGER_pck_rx_by_HN
Definition uwUFetch_NODE.h:2448
void incrTotalProbePckRx_HN()
Definition uwUFetch_NODE.h:1375
virtual void TRIGGER_rx_without()
Definition uwUFetch_NODE_HEADNODE_mod_2.cpp:409
int MAX_PAYLOAD
Definition uwUFetch_NODE.h:2082
virtual void PollTOExpired()
Definition uwUFetch_NODE_SENSOR.cpp:2097
virtual void recvFromUpperLayers(Packet *p)
Definition uwUFetch_NODE_SENSOR.cpp:2867
double tx_PROBE_start_time
Definition uwUFetch_NODE.h:2120
double Tdata_NODE_pck
Definition uwUFetch_NODE.h:2186
double Tdata_NODE
Definition uwUFetch_NODE.h:2177
int n_tot_BEACON_pck_rx_by_NODE
Definition uwUFetch_NODE.h:2136
void incrTotalCBeaconPckRx_by_NODE()
Definition uwUFetch_NODE.h:2039
double tx_BEACON_finish_HN_time
Definition uwUFetch_NODE.h:2305
virtual void state_wait_CBEACON()
Definition uwUFetch_NODE_SENSOR.cpp:2406
int mac_addr_NODE_polled
Definition uwUFetch_NODE.h:2383
virtual bool isHeadNode()
Definition uwUFetch_NODE_SENSOR.cpp:2820
uwUFetch_BEACON_timer BeaconBeforeTx_timer
Definition uwUFetch_NODE.h:2291
double tx_PROBE_finish_time
Definition uwUFetch_NODE.h:2122
UWUFETCH_NODE_PACKET_TYPE
Definition uwUFetch_NODE.h:235
@ UWUFETCH_NODE_PACKET_TYPE_CTS
Definition uwUFetch_NODE.h:242
@ UWUFETCH_NODE_PACKET_TYPE_PROBE
Definition uwUFetch_NODE.h:237
@ UWUFETCH_NODE_PACKET_TYPE_BEACON
Definition uwUFetch_NODE.h:239
@ UWUFETCH_NODE_PACKET_TYPE_RTS
Definition uwUFetch_NODE.h:241
@ UWUFETCH_NODE_PACKET_TYPE_DATA
Definition uwUFetch_NODE.h:236
@ UWUFETCH_NODE_PACKET_TYPE_POLL
Definition uwUFetch_NODE.h:238
@ UWUFETCH_NODE_PACKET_TYPE_TRIGGER
Definition uwUFetch_NODE.h:240
virtual double choiceBackOffTimer()
Definition uwUFetch_NODE_SENSOR.cpp:2830
int MODE_BURST_DATA
Definition uwUFetch_NODE.h:2097
virtual void POLL_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2794
void incrTotalDataPckTx_by_NODE()
Definition uwUFetch_NODE.h:1995
int n_DATA_pck_rx_by_HN
Definition uwUFetch_NODE.h:2440
virtual void TRIGGER_rx()
Definition uwUFetch_NODE_HEADNODE.cpp:1460
virtual void stateIdle_NODE()
Definition uwUFetch_NODE_SENSOR.cpp:1745
bool txRTSbeforeCBEACON
Definition uwUFetch_NODE.h:2421
double tx_DATA_start_HN_time
Definition uwUFetch_NODE.h:2342
virtual void Phy2MacStartRx(const Packet *p)
Definition uwUFetch_NODE_SENSOR.cpp:580
virtual ~uwUFetch_NODE()
Definition uwUFetch_NODE_SENSOR.cpp:272
Packet * curr_PROBE_HN_pck_rx
Definition uwUFetch_NODE.h:2484
uwUFetch_PROBE_timer PROBE_timer
Definition uwUFetch_NODE.h:2292
UWUFETCH_NODE_STATUS_CHANGE
Definition uwUFetch_NODE.h:193
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_NO_OTHER_CBEACON
Definition uwUFetch_NODE.h:223
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX
Definition uwUFetch_NODE.h:204
@ UWUFETCH_NODE_STATUS_CHANGE_MAX_DATA_PCK_TX
Definition uwUFetch_NODE.h:203
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_YES_OTHER_CBEACON
Definition uwUFetch_NODE.h:224
@ UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX
Definition uwUFetch_NODE.h:205
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_RX
Definition uwUFetch_NODE.h:221
@ UWUFETCH_NODE_STATUS_CHANGE_PROBE_TX
Definition uwUFetch_NODE.h:199
@ UWFETCH_NODE_STATUS_CHANGE_CBEACON_RX_DATA_ALREADY_TX
Definition uwUFetch_NODE.h:202
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_ANOTHER_NODE_TO_POLL
Definition uwUFetch_NODE.h:220
@ UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_POLL_EXPIRED
Definition uwUFetch_NODE.h:200
@ UWUFETCH_NODE_STATUS_CHANGE_CBEACON_ALLOWED_TX_0_PROBE_RX
Definition uwUFetch_NODE.h:213
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_YES_OTHER_CBEACON
Definition uwUFetch_NODE.h:219
@ UWUFETCH_NODE_STATUS_CHANGE_CBEACON_TX
Definition uwUFetch_NODE.h:210
@ UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX
Definition uwUFetch_NODE.h:226
@ UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED
Definition uwUFetch_NODE.h:230
@ UWUFETCH_NODE_STATUS_CHANGE_RTS_TX
Definition uwUFetch_NODE.h:206
@ UWFETCH_NODE_STATUS_CHANGE_PACKET_UNKNOWN_TYPE
Definition uwUFetch_NODE.h:197
@ UWUFETCH_NODE_STATUS_CHANGE_PROBE_RX
Definition uwUFetch_NODE.h:211
@ UWUFETCH_NODE_STATUS_CHANGE_LAST_DATA_PCK_RX
Definition uwUFetch_NODE.h:222
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED
Definition uwUFetch_NODE.h:217
@ UWFETCH_NODE_STATUS_CHANGE_STATE_IDLE
Definition uwUFetch_NODE.h:194
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_NO_OTHER_CBEACON
Definition uwUFetch_NODE.h:218
@ UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX_0_PROBE_RX
Definition uwUFetch_NODE.h:212
@ UWUFETCH_NODE_STATUS_CHANGE_POLL_TX
Definition uwUFetch_NODE.h:216
@ UWUFETCH_NODE_STATUS_CHANGE_POLL_RX
Definition uwUFetch_NODE.h:201
@ UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_YES_NODE_TO_POLL
Definition uwUFetch_NODE.h:225
@ UWUFETCH_NODE_STATUS_CHANGE_CTS_RX
Definition uwUFetch_NODE.h:208
@ UWUFETCH_NODE_STATUS_CHANGE_BEACON_RX
Definition uwUFetch_NODE.h:198
@ UWUFETCH_NODE_STATUS_CHANGE_BEACON_TO_EXPIRED
Definition uwUFetch_NODE.h:227
@ UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED
Definition uwUFetch_NODE.h:207
@ UWUFETCH_NODE_STATUS_CHANGE_TO_EXPIRED_AT_LEAST_1_PROBE_RX
Definition uwUFetch_NODE.h:215
@ UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX_BUT_HN_NO_DATA_TO_TX
Definition uwUFetch_NODE.h:228
@ UWFETCH_NODE_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE
Definition uwUFetch_NODE.h:196
@ UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR
Definition uwUFetch_NODE.h:195
@ UWUFETCH_NODE_STATUS_CHANGE_BEACON_TX
Definition uwUFetch_NODE.h:209
@ UWUFETCH_NODE_STATUS_CHANGE_HN_FINISH_TX_DATA_PCK_TO_AUV_RETURN_CBEACON_TX
Definition uwUFetch_NODE.h:231
@ UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV
Definition uwUFetch_NODE.h:229
@ UWUFETCH_NODE_STATUS_CHANGE_MAX_PROBE_RX_PROBE_TO_NOT_EXPIRED
Definition uwUFetch_NODE.h:214
Packet * curr_CBEACON_NODE_pck_rx
Definition uwUFetch_NODE.h:2246
double Tpoll
Definition uwUFetch_NODE.h:2394
int getProbePckRx_HN()
Definition uwUFetch_NODE.h:1365
double rx_CBEACON_finish_time
Definition uwUFetch_NODE.h:2134
bool rxBEACONEnabled
Definition uwUFetch_NODE.h:2226
bool dataAlreadyTransmitted
Definition uwUFetch_NODE.h:2221
int getTotalRtsPckTx_by_HN()
Definition uwUFetch_NODE.h:1673
double rx_TRIGGER_finish_HN_time
Definition uwUFetch_NODE.h:2331
double Tprobe
Definition uwUFetch_NODE.h:2175
int MAX_PCK_HN_WANT_RX_FROM_NODE
Definition uwUFetch_NODE.h:2276
int getTotalProbePckTx_by_NODE()
Definition uwUFetch_NODE.h:1897
bool txCBEACONEnabled
Definition uwUFetch_NODE.h:2470
double RTT
Definition uwUFetch_NODE.h:2180
Packet * curr_POLL_HN_pck_tx
Definition uwUFetch_NODE.h:2486
int getCtsPckRx_HN()
Definition uwUFetch_NODE.h:1695
static std::map< UWUFETCH_NODE_STATUS_CHANGE, std::string > statusChange
Definition uwUFetch_NODE.h:2541
static std::map< UWUFETCH_NODE_STATUS, std::string > statusInfo
Definition uwUFetch_NODE.h:2538
int n_tot_CBEACON_pck_rx_corr_by_NODE
Definition uwUFetch_NODE.h:2158
int mac_addr_AUV_in_CTS
Definition uwUFetch_NODE.h:2412
int PRINT_TRANSITIONS_INT
Definition uwUFetch_NODE.h:2267
virtual void state_DATA_NODE_first_tx()
Definition uwUFetch_NODE_SENSOR.cpp:2226
void incrTotalProbePckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1397
void incrTotalProbePckTx_by_NODE()
Definition uwUFetch_NODE.h:1885
virtual void state_POLL_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:2686
Packet * curr_DATA_HN_pck_tx
Definition uwUFetch_NODE.h:2498
int getPollPckRx_by_NODE()
Definition uwUFetch_NODE.h:1919
double T_START_PROCEDURE_HN_NODE
Definition uwUFetch_NODE.h:2256
int n_tot_CTS_pck_rx_by_HN
Definition uwUFetch_NODE.h:2375
std::queue< int > Q_data_source_SN
Definition uwUFetch_NODE.h:2506
virtual void state_wait_POLL()
Definition uwUFetch_NODE_SENSOR.cpp:2048
std::queue< Packet * > Q_data
Definition uwUFetch_NODE.h:2250
virtual void CtsTOExpired()
Definition uwUFetch_NODE_HEADNODE.cpp:1832
virtual void state_RTS_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:1635
virtual int command(int argc, const char *const *argv)
Definition uwUFetch_NODE_SENSOR.cpp:278
int max_data_HN_can_tx
Definition uwUFetch_NODE.h:2414
uwUFetch_POLL_timer POLL_timer
Definition uwUFetch_NODE.h:2105
int n_PROBE_pck_tx_by_NODE
Definition uwUFetch_NODE.h:2206
int n_tot_TRIGGER_pck_rx_by_HN
Definition uwUFetch_NODE.h:2366
virtual void PROBE_tx()
Definition uwUFetch_NODE_SENSOR.cpp:2029
int mac_addr_NODE_in_data
Definition uwUFetch_NODE.h:2400
std::queue< Packet * > Q_data_HN
Definition uwUFetch_NODE.h:2504
double Tdata_HN_pck
Definition uwUFetch_NODE.h:2418
int n_DATA_pck_tx_by_HN
Definition uwUFetch_NODE.h:2457
void incrTotalRtsPckTx_by_HN()
Definition uwUFetch_NODE.h:1661
uwUFetch_CTS_timer CTS_timer
Definition uwUFetch_NODE.h:2296
void incrPollPckRx_by_NODE()
Definition uwUFetch_NODE.h:1907
double rx_CTS_finish_HN_time
Definition uwUFetch_NODE.h:2340
int n_tot_TRIGGER_pck_rx_corr_by_HN
Definition uwUFetch_NODE.h:2369
std::queue< int > Q_probbed_n_pcks_NODE_want_tx_HN
Definition uwUFetch_NODE.h:2513
virtual void RTS_tx()
Definition uwUFetch_NODE_HEADNODE.cpp:1763
double rx_PROBE_finish_HN_time
Definition uwUFetch_NODE.h:2310
Packet * curr_DATA_HN_pck_rx
Definition uwUFetch_NODE.h:2488
double tx_CBEACON_finish_HN_time
Definition uwUFetch_NODE.h:2325
int n_RTS_pck_tx_by_HN
Definition uwUFetch_NODE.h:2451
virtual void waitForUser()
Definition uwUFetch_NODE_SENSOR.cpp:2969
void incrTotalCtsPckRx_corrupted_HN()
Definition uwUFetch_NODE.h:1727
Packet * curr_CTS_HN_pck_rx
Definition uwUFetch_NODE.h:2496
Packet * curr_DATA_NODE_pck_tx
Definition uwUFetch_NODE.h:2244
virtual void state_DATA_NODE_tx()
Definition uwUFetch_NODE_SENSOR.cpp:2301
void incrTotalCBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1551
int getCBeaconPckTx_by_HN()
Definition uwUFetch_NODE.h:1541
virtual void POLL_rx()
Definition uwUFetch_NODE_SENSOR.cpp:2154
bool rxDATAEnabled
Definition uwUFetch_NODE.h:2468
bool print_transitions
Definition uwUFetch_NODE.h:2532
int getProbePckTx_by_NODE()
Definition uwUFetch_NODE.h:1875
virtual void refreshState(UWUFETCH_NODE_STATUS state)
Definition uwUFetch_NODE.h:883
int n_tot_BEACON_pck_tx_by_HN
Definition uwUFetch_NODE.h:2346
virtual void Phy2MacEndTx(const Packet *p)
Definition uwUFetch_NODE_SENSOR.cpp:1669
virtual void DataBeforeTxTOExpired()
Definition uwUFetch_NODE_SENSOR.cpp:2281
UWUFETCH_NODE_STATUS
Definition uwUFetch_NODE.h:171
@ UWUFETCH_NODE_STATUS_PROBE_RX
Definition uwUFetch_NODE.h:184
@ UWUFETCH_NODE_STATUS_WAIT_CBEACON_PACKET
Definition uwUFetch_NODE.h:188
@ UWUFETCH_NODE_STATUS_POLL_TX
Definition uwUFetch_NODE.h:185
@ UWUFETCH_NODE_STATUS_WAIT_CTS_PACKET
Definition uwUFetch_NODE.h:180
@ UWUFETCH_NODE_STATUS_CBEACON_RECEIVE
Definition uwUFetch_NODE.h:189
@ UWUFETCH_NODE_STATUS_TRIGGER_RECEIVE
Definition uwUFetch_NODE.h:178
@ UWUFETCH_NODE_STATUS_POLL_RECEIVE
Definition uwUFetch_NODE.h:176
@ UWUFETCH_NODE_STATUS_BEACON_RECEIVE
Definition uwUFetch_NODE.h:173
@ UWUFETCH_NODE_STATUS_CTS_RECEIVE
Definition uwUFetch_NODE.h:181
@ UWUFETCH_NODE_STATUS_WAIT_DATA_NODE
Definition uwUFetch_NODE.h:186
@ UWUFETCH_NODE_STATUS_WAIT_POLL_PACKET
Definition uwUFetch_NODE.h:175
@ UWUFETCH_NODE_STATUS_TRANSMIT_PROBE
Definition uwUFetch_NODE.h:174
@ UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET
Definition uwUFetch_NODE.h:183
@ UWUFETCH_NODE_STATUS_DATA_RX
Definition uwUFetch_NODE.h:187
@ UWUFETCH_NODE_STATUS_TRANSMIT_DATA
Definition uwUFetch_NODE.h:177
@ UWUFETCH_NODE_STATUS_TRANSMIT_BEACON
Definition uwUFetch_NODE.h:182
@ UWUFETCH_NODE_STATUS_IDLE
Definition uwUFetch_NODE.h:172
@ UWUFETCH_NODE_STATUS_RTS_TRANSMIT
Definition uwUFetch_NODE.h:179
void incrCtsPckRx_HN()
Definition uwUFetch_NODE.h:1683
int num_cbeacon_node_rx
Definition uwUFetch_NODE.h:2168
int n_tot_BEACON_pck_rx_corr_by_NODE
Definition uwUFetch_NODE.h:2139
Definition uwpolling_AUV.h:108
int mac_address_
Definition uwUFetch_NODE.h:92
int & n_pcks_NODE_want_tx()
Definition uwUFetch_NODE.h:109
double backoff_time_
Definition uwUFetch_NODE.h:93
int n_pcks_NODE_want_tx_
Definition uwUFetch_NODE.h:90
uint & Id_node()
Definition uwUFetch_NODE.h:100
int & mac_address()
Definition uwUFetch_NODE.h:127
double & backoff_time()
Definition uwUFetch_NODE.h:118
uint id_node_
Definition uwUFetch_NODE.h:89
packet_t PT_POLL_UFETCH
Definition initlib.cpp:56
packet_t PT_CBEACON_UFETCH
Definition initlib.cpp:57
packet_t PT_CTS_UFETCH
Definition initlib.cpp:53
packet_t PT_TRIGGER_UFETCH
Definition initlib.cpp:51
packet_t PT_BEACON_UFETCH
Definition initlib.cpp:54
packet_t PT_PROBE_UFETCH
Definition initlib.cpp:55
packet_t PT_RTS_UFETCH
Definition initlib.cpp:52
std::pair< int, int > counter
Definition uwinterference.h:53