DESERT 4.0.0
uwUFetch_NODE Class Reference

#include <uwUFetch_NODE.h>

Inheritance diagram for uwUFetch_NODE:
Inheritance graph
Collaboration diagram for uwUFetch_NODE:
Collaboration graph

Classes

class  uwUFetch_BackOffTimer
 
class  uwUFetch_BEACON_timer
 
class  uwUFetch_CBeacon_timer
 
class  uwUFetch_CTS_timer
 
class  uwUFetch_DATA_BEFORE_TX_timer
 
class  uwUFetch_DATA_timer
 
class  uwUFetch_NODE_timer
 
class  uwUFetch_POLL_timer
 
class  uwUFetch_PROBE_timer
 
class  uwUFetch_TRIGGER_timer
 

Public Member Functions

 uwUFetch_NODE ()
 
virtual ~uwUFetch_NODE ()
 
virtual int command (int argc, const char *const *argv)
 
virtual int crLayCommand (ClMessage *m)
 

Protected Types

enum  UWUFETCH_NODE_STATUS {
  UWUFETCH_NODE_STATUS_IDLE , UWUFETCH_NODE_STATUS_BEACON_RECEIVE , UWUFETCH_NODE_STATUS_TRANSMIT_PROBE , UWUFETCH_NODE_STATUS_WAIT_POLL_PACKET ,
  UWUFETCH_NODE_STATUS_POLL_RECEIVE , UWUFETCH_NODE_STATUS_TRANSMIT_DATA , UWUFETCH_NODE_STATUS_TRIGGER_RECEIVE , UWUFETCH_NODE_STATUS_RTS_TRANSMIT ,
  UWUFETCH_NODE_STATUS_WAIT_CTS_PACKET , UWUFETCH_NODE_STATUS_CTS_RECEIVE , UWUFETCH_NODE_STATUS_TRANSMIT_BEACON , UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET ,
  UWUFETCH_NODE_STATUS_PROBE_RX , UWUFETCH_NODE_STATUS_POLL_TX , UWUFETCH_NODE_STATUS_WAIT_DATA_NODE , UWUFETCH_NODE_STATUS_DATA_RX ,
  UWUFETCH_NODE_STATUS_WAIT_CBEACON_PACKET , UWUFETCH_NODE_STATUS_CBEACON_RECEIVE
}
 
enum  UWUFETCH_NODE_STATUS_CHANGE {
  UWFETCH_NODE_STATUS_CHANGE_STATE_IDLE , UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR , UWFETCH_NODE_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE , UWFETCH_NODE_STATUS_CHANGE_PACKET_UNKNOWN_TYPE ,
  UWUFETCH_NODE_STATUS_CHANGE_BEACON_RX , UWUFETCH_NODE_STATUS_CHANGE_PROBE_TX , UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_POLL_EXPIRED , UWUFETCH_NODE_STATUS_CHANGE_POLL_RX ,
  UWFETCH_NODE_STATUS_CHANGE_CBEACON_RX_DATA_ALREADY_TX , UWUFETCH_NODE_STATUS_CHANGE_MAX_DATA_PCK_TX , UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX , UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX ,
  UWUFETCH_NODE_STATUS_CHANGE_RTS_TX , UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED , UWUFETCH_NODE_STATUS_CHANGE_CTS_RX , UWUFETCH_NODE_STATUS_CHANGE_BEACON_TX ,
  UWUFETCH_NODE_STATUS_CHANGE_CBEACON_TX , UWUFETCH_NODE_STATUS_CHANGE_PROBE_RX , UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX_0_PROBE_RX , UWUFETCH_NODE_STATUS_CHANGE_CBEACON_ALLOWED_TX_0_PROBE_RX ,
  UWUFETCH_NODE_STATUS_CHANGE_MAX_PROBE_RX_PROBE_TO_NOT_EXPIRED , UWUFETCH_NODE_STATUS_CHANGE_TO_EXPIRED_AT_LEAST_1_PROBE_RX , UWUFETCH_NODE_STATUS_CHANGE_POLL_TX , UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED ,
  UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_NO_OTHER_CBEACON , UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_YES_OTHER_CBEACON , UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_ANOTHER_NODE_TO_POLL , UWUFETCH_NODE_STATUS_CHANGE_DATA_RX ,
  UWUFETCH_NODE_STATUS_CHANGE_LAST_DATA_PCK_RX , UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_NO_OTHER_CBEACON , UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_YES_OTHER_CBEACON , UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_YES_NODE_TO_POLL ,
  UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX , UWUFETCH_NODE_STATUS_CHANGE_BEACON_TO_EXPIRED , UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX_BUT_HN_NO_DATA_TO_TX , UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV ,
  UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED , UWUFETCH_NODE_STATUS_CHANGE_HN_FINISH_TX_DATA_PCK_TO_AUV_RETURN_CBEACON_TX
}
 
enum  UWUFETCH_NODE_PACKET_TYPE {
  UWUFETCH_NODE_PACKET_TYPE_DATA , UWUFETCH_NODE_PACKET_TYPE_PROBE , UWUFETCH_NODE_PACKET_TYPE_POLL , UWUFETCH_NODE_PACKET_TYPE_BEACON ,
  UWUFETCH_NODE_PACKET_TYPE_TRIGGER , UWUFETCH_NODE_PACKET_TYPE_RTS , UWUFETCH_NODE_PACKET_TYPE_CTS
}
 
enum  UWUFETCH_TIMER_STATUS { UWUFETCH_TIMER_STATUS_IDLE , UWUFETCH_TIMER_STATUS_RUNNING , UWUFETCH_TIMER_STATUS_FROZEN , UWUFETCH_TIMER_STATUS_EXPIRED }
 

Protected Member Functions

virtual void Phy2MacStartRx (const Packet *p)
 
virtual void Phy2MacStartRx_HN (const Packet *p)
 
virtual void Phy2MacEndRx (Packet *p)
 
virtual void Phy2MacEndRx_HN_without (Packet *p)
 
virtual void Phy2MacEndRx_HN (Packet *p)
 
virtual void Mac2PhyStartTx (Packet *p)
 
virtual void Mac2PhyStartTx_HN (Packet *p)
 
virtual void Phy2MacEndTx (const Packet *p)
 
virtual void Phy2MacEndTx_HN (const Packet *p)
 
virtual void recvFromUpperLayers (Packet *p)
 
virtual void recvFromUpperLayers_HN (Packet *p)
 
virtual void printStateInfo (double delay=0)
 
virtual void initInfo ()
 
virtual void waitForUser ()
 
virtual void refreshReason (UWUFETCH_NODE_STATUS_CHANGE reason)
 
virtual void refreshState (UWUFETCH_NODE_STATUS state)
 
virtual void stateIdle_NODE ()
 
virtual void BEACON_rx ()
 
virtual void BCKTOExpired ()
 
virtual void state_PROBE_tx ()
 
virtual void PROBE_tx ()
 
virtual void state_wait_POLL ()
 
virtual void PollTOExpired ()
 
virtual void POLL_rx ()
 
virtual void state_DATA_NODE_first_tx ()
 
virtual void DataBeforeTxTOExpired ()
 
virtual void state_DATA_NODE_tx ()
 
virtual void state_DATA_NODE_finish_tx ()
 
virtual void DATA_NODE_tx ()
 
virtual void state_wait_CBEACON ()
 
virtual void CBeaconTOExpired ()
 
virtual void CBEACON_rx ()
 
virtual void stateIdle_HN ()
 
virtual void BeaconTxTOExpire ()
 
virtual void state_BEACON_tx ()
 
virtual void BEACON_tx ()
 
virtual void state_wait_PROBE ()
 
virtual void PROBE_rx ()
 
virtual void state_wait_other_PROBE ()
 
virtual void ProbeTOExpired ()
 
virtual void state_POLL_tx ()
 
virtual void POLL_tx ()
 
virtual void state_wait_first_DATA ()
 
virtual void state_wait_other_DATA ()
 
virtual void DataTOExpired ()
 
virtual void DATA_rx ()
 
virtual void state_CBEACON_tx ()
 
virtual void CBEACON_tx ()
 
virtual void TRIGGER_rx ()
 
virtual void TRIGGER_rx_without ()
 
virtual void state_RTS_tx ()
 
virtual void RTS_tx ()
 
virtual void state_wait_CTS ()
 
virtual void CtsTOExpired ()
 
virtual void CTS_rx ()
 
virtual void state_DATA_HN_first_tx ()
 
virtual void state_DATA_HN_first_tx_without ()
 
virtual void state_DATA_HN_tx ()
 
virtual void state_DATA_HN_tx_without ()
 
virtual void state_DATA_HN_finish_tx ()
 
virtual void state_DATA_HN_finish_tx_without ()
 
virtual void DATA_HN_tx ()
 
virtual void DATA_HN_tx_without ()
 
virtual void BCKTOExpired_HN ()
 
virtual void BCKTOExpired_HN_without ()
 
virtual void DataBeforeTxTOExpired_HN ()
 
virtual bool isHeadNode ()
 
virtual bool typeCommunication ()
 
virtual bool burstDATA ()
 
virtual double choiceBackOffTimer ()
 
virtual double choiceBackOffTimer_HN ()
 
virtual double getDataTimerValue ()
 
virtual void computeTxTime (UWUFETCH_NODE_PACKET_TYPE tp)
 
virtual void computeTxTime_HN (UWUFETCH_NODE_PACKET_TYPE tp)
 
virtual double getRTT ()
 
virtual void updateListProbbedNode ()
 
void incrBeaconPckTx_by_HN ()
 
int getBeaconTx_by_HN ()
 
void incrTotalBeaconPckTx_by_HN ()
 
int getTotalBeaconTx_by_HN ()
 
void incrProbePckRx_HN ()
 
int getProbePckRx_HN ()
 
void incrTotalProbePckRx_HN ()
 
int getTotalProbePckRx_HN ()
 
void incrTotalProbePckRx_corrupted_HN ()
 
int getTotalProbePckRx_corrupted_HN ()
 
void incrPollPckTx_by_HN ()
 
int getPollPckTx_by_HN ()
 
void incrTotalPollPckTx_by_HN ()
 
int getTotalPollPckTx_by_HN ()
 
void incrDataPckRx_by_HN ()
 
int getDataPckRx_by_HN ()
 
void incrTotalDataPckRx_by_HN ()
 
int getTotalDataPckRx_by_HN ()
 
void incrTotalDataPckRx_corrupted_by_HN ()
 
int getTotalDataPckRx_corrupted_by_HN ()
 
void incrCBeaconPckTx_by_HN ()
 
int getCBeaconPckTx_by_HN ()
 
void incrTotalCBeaconPckTx_by_HN ()
 
int getTotalCBeaconPckTx_by_HN ()
 
void incrTriggerPckRx_HN ()
 
int getTriggerPckRx_HN ()
 
void incrTotalTriggerPckRx_HN ()
 
int getTotalTriggerPckRx_HN ()
 
void incrTotalTriggerPckRx_corrupted_HN ()
 
int getTotalTriggerPckRx_corrupted_HN ()
 
void incrRtsPckTx_by_HN ()
 
int getRtsPckTx_by_HN ()
 
void incrTotalRtsPckTx_by_HN ()
 
int getTotalRtsPckTx_by_HN ()
 
void incrCtsPckRx_HN ()
 
int getCtsPckRx_HN ()
 
void incrTotalCtsPckRx_HN ()
 
int getTotalCtsPckRx_HN ()
 
void incrTotalCtsPckRx_corrupted_HN ()
 
int getTotalCtsPckRx_corrupted_HN ()
 
void incrDataPckTx_by_HN ()
 
int getDataPckTx_by_HN ()
 
void incrTotalDataPckTx_by_HN ()
 
int getTotalDataPckTx_by_HN ()
 
void incrBeaconPckRx_by_NODE ()
 
int getBeaconPckRx_by_NODE ()
 
void incrTotalBeaconPckRx_by_NODE ()
 
int getTotalBeaconPckRx_by_NODE ()
 
void incrTotalBeaconPckRx_corrupted_by_NODE ()
 
int getTotalBeaconPckRx_corrupted_by_NODE ()
 
void incrProbePckTx_by_NODE ()
 
int getProbePckTx_by_NODE ()
 
void incrTotalProbePckTx_by_NODE ()
 
int getTotalProbePckTx_by_NODE ()
 
void incrPollPckRx_by_NODE ()
 
int getPollPckRx_by_NODE ()
 
void incrTotalPollPckRx_by_NODE ()
 
int getTotalPollPckRx_by_NODE ()
 
void incrTotalPollPckRx_corrupted_by_NODE ()
 
int getTotalPollPckRx_corrupted_by_NODE ()
 
void incrDataPckTx_by_NODE ()
 
int getDataPckTx_by_NODE ()
 
void incrTotalDataPckTx_by_NODE ()
 
int getTotalDataPckTx_by_NODE ()
 
void incrCBeaconPckRx_by_NODE ()
 
int getCBeaconPckRx_by_NODE ()
 
void incrTotalCBeaconPckRx_by_NODE ()
 
int getTotalCBeaconPckRx_by_NODE ()
 
void incrTotalCBeaconPckRx_corrupted_by_NODE ()
 
int getTotalCBeaconPckRx_corrupted_by_NODE ()
 

Protected Attributes

int MAX_PAYLOAD
 
double T_GUARD
 
int MAXIMUM_BUFFER_DATA_PCK_NODE
 
double T_POLL
 
int debugMio_
 
int N_RUN
 
double TIME_BETWEEN_2_TX_DATA_NODE_HN
 
int MODE_COMM_HN_AUV
 
int MODE_BURST_DATA
 
uwUFetch_BackOffTimer BCK_timer_probe
 
uwUFetch_POLL_timer POLL_timer
 
uwUFetch_DATA_BEFORE_TX_timer DATA_BEFORE_TX_timer
 
uwUFetch_CBeacon_timer CBEACON_timer
 
double rx_BEACON_start_time
 
double rx_BEACON_finish_time
 
double tx_PROBE_start_time
 
double tx_PROBE_finish_time
 
double rx_POLL_start_time
 
double rx_POLL_finish_time
 
double tx_DATA_start_time
 
double tx_DATA_finish_time
 
double rx_CBEACON_start_time
 
double rx_CBEACON_finish_time
 
int n_tot_BEACON_pck_rx_by_NODE
 
int n_tot_BEACON_pck_rx_corr_by_NODE
 
int n_tot_PROBE_pck_tx_by_NODE
 
int n_tot_POLL_pck_rx_by_NODE
 
int n_tot_POLL_pck_rx_corr_by_NODE
 
int n_tot_DATA_pck_tx_by_NODE
 
int n_tot_CBEACON_pck_rx_by_NODE
 
int n_tot_CBEACON_pck_rx_corr_by_NODE
 
double T_min_bck_probe_node
 
double T_max_bck_probe_node
 
int num_cbeacon_node_rx
 
int mac_addr_HN_in_beacon
 
double bck_before_tx_probe
 
double Tprobe
 
double Tdata_NODE
 
double RTT
 
int mac_addr_HN_in_poll
 
int num_pck_to_tx_by_NODE
 
double Tdata_NODE_pck
 
int num_cbeacon_at_now_HN_tx
 
int mac_addr_HN_in_cbeacon
 
double T_min_bck_DATA
 
double T_max_bck_DATA
 
double bck_before_tx_data
 
int n_BEACON_pck_rx_by_NODE
 
int n_PROBE_pck_tx_by_NODE
 
int n_POLL_pck_rx_by_NODE
 
int n_DATA_pck_tx_by_NODE
 
int n_CBEACON_pck_rx_by_NODE
 
bool dataAlreadyTransmitted
 
bool rxBEACONEnabled
 
bool txPROBEEnabled
 
bool rxPOLLEnabled
 
bool txDATAEnabled
 
bool rxCBEACONEnabled
 
Packet * curr_BEACON_NODE_pck_rx
 
Packet * curr_PROBE_NODE_pck_tx
 
Packet * curr_POLL_NODE_pck_rx
 
Packet * curr_DATA_NODE_pck_tx
 
Packet * curr_CBEACON_NODE_pck_rx
 
std::queue< Packet * > Q_data
 
double T_START_PROCEDURE_HN_NODE
 
double T_MAX_BACKOFF_PROBE
 
double T_MIN_BACKOFF_PROBE
 
int PRINT_TRANSITIONS_INT
 
double T_PROBE
 
int MAX_ALLOWED_CBEACON_TX
 
int MAX_PCK_HN_WANT_RX_FROM_NODE
 
double T_CTS
 
int MAX_POLLED_NODE
 
double TIME_BETWEEN_2_TX_DATA_HN_AUV
 
uwUFetch_BEACON_timer BeaconBeforeTx_timer
 
uwUFetch_PROBE_timer PROBE_timer
 
uwUFetch_DATA_timer DATA_timer
 
uwUFetch_BackOffTimer BCK_timer_rts
 
uwUFetch_CTS_timer CTS_timer
 
uwUFetch_BackOffTimer BCK_timer_data
 
double tx_BEACON_start_HN_time
 
double tx_BEACON_finish_HN_time
 
double rx_PROBE_start_HN_time
 
double rx_PROBE_finish_HN_time
 
double tx_POLL_start_HN_time
 
double tx_POLL_finish_HN_time
 
double rx_DATA_start_HN_time
 
double rx_DATA_finish_HN_time
 
double tx_CBEACON_start_HN_time
 
double tx_CBEACON_finish_HN_time
 
double rx_TRIGGER_start_HN_time
 
double rx_TRIGGER_finish_HN_time
 
double tx_RTS_start_HN_time
 
double tx_RTS_finish_HN_time
 
double rx_CTS_start_HN_time
 
double rx_CTS_finish_HN_time
 
double tx_DATA_start_HN_time
 
double tx_DATA_finish_HN_time
 
int n_tot_BEACON_pck_tx_by_HN
 
int n_tot_PROBE_pck_rx_by_HN
 
int n_tot_PROBE_pck_corr_rx_by_HN
 
int n_tot_POLL_pck_tx_by_HN
 
int n_tot_DATA_pck_rx_by_HN
 
int n_tot_DATA_pck_rx_corr_by_HN
 
int n_tot_CBEACON_pck_tx_by_HN
 
int n_tot_TRIGGER_pck_rx_by_HN
 
int n_tot_TRIGGER_pck_rx_corr_by_HN
 
int n_tot_RTS_pck_tx_by_HN
 
int n_tot_CTS_pck_rx_by_HN
 
int n_tot_CTS_pck_rx_corr_by_HN
 
int n_tot_DATA_pck_tx_by_HN
 
int mac_addr_NODE_polled
 
int number_data_pck_HN_rx_exact
 
int pck_number_id
 
double data_timeout
 
double Tbeacon
 
double Tpoll
 
double Trts
 
double Tdata_HN
 
int mac_addr_NODE_in_data
 
double bck_before_tx_RTS
 
double T_min_bck_RTS
 
double T_max_bck_RTS
 
int mac_addr_AUV_in_trigger
 
int mac_addr_AUV_in_CTS
 
int max_data_HN_can_tx
 
int max_pck_HN_can_tx
 
double Tdata_HN_pck
 
bool CTSrx
 
bool txRTSbeforeCBEACON
 
bool sectionCBeacon
 
int n_BEACON_pck_tx_by_HN
 
int n_PROBE_pck_rx_by_HN
 
int n_POLL_pck_tx_by_HN
 
int n_DATA_pck_rx_by_HN
 
int n_CBEACON_pck_tx_by_HN
 
int n_TRIGGER_pck_rx_by_HN
 
int n_RTS_pck_tx_by_HN
 
int n_CTS_pck_rx_by_HN
 
int n_DATA_pck_tx_by_HN
 
bool txBEACONEnabled
 
bool rxPROBEEnabled
 
bool txPOLLEnabled
 
bool rxDATAEnabled
 
bool txCBEACONEnabled
 
bool rxTRIGGEREnabled
 
bool txRTSEnabled
 
bool rxCTSEnabled
 
bool txDATAEnabledHN
 
Packet * curr_BEACON_HN_pck_tx
 
Packet * curr_PROBE_HN_pck_rx
 
Packet * curr_POLL_HN_pck_tx
 
Packet * curr_DATA_HN_pck_rx
 
Packet * curr_CBEACON_HN_pck_tx
 
Packet * curr_TRIGGER_HN_pck_rx
 
Packet * curr_RTS_HN_pck_tx
 
Packet * curr_CTS_HN_pck_rx
 
Packet * curr_DATA_HN_pck_tx
 
Packet * curr_DATA_NODE_pck_tx_HN
 
std::queue< Packet * > Q_data_HN
 
std::queue< int > Q_data_source_SN
 
std::queue< int > Q_probbed_mac_HN
 
std::queue< int > Q_probbed_n_pcks_NODE_want_tx_HN
 
std::queue< double > Q_probbed_backoff_time
 
UWUFETCH_NODE_STATUS_CHANGE last_reason
 
UWUFETCH_NODE_STATUS curr_state
 
UWUFETCH_NODE_STATUS prev_state
 
bool print_transitions
 
int HEADNODE
 
std::ofstream fout
 
std::ofstream out_file_logging
 

Static Protected Attributes

static bool initialized = false
 
static std::map< UWUFETCH_NODE_STATUS, std::string > statusInfo
 
static std::map< UWUFETCH_NODE_STATUS_CHANGE, std::string > statusChange
 
static std::map< UWUFETCH_NODE_PACKET_TYPE, std::string > packetType
 
static std::map< UWUFETCH_TIMER_STATUS, std::string > statusTimer
 

Member Enumeration Documentation

◆ UWUFETCH_NODE_PACKET_TYPE

Enumerator
UWUFETCH_NODE_PACKET_TYPE_DATA 
UWUFETCH_NODE_PACKET_TYPE_PROBE 
UWUFETCH_NODE_PACKET_TYPE_POLL 
UWUFETCH_NODE_PACKET_TYPE_BEACON 
UWUFETCH_NODE_PACKET_TYPE_TRIGGER 
UWUFETCH_NODE_PACKET_TYPE_RTS 
UWUFETCH_NODE_PACKET_TYPE_CTS 

◆ UWUFETCH_NODE_STATUS

< States in which SN or HN may be during Its execution

Enumerator
UWUFETCH_NODE_STATUS_IDLE 
UWUFETCH_NODE_STATUS_BEACON_RECEIVE 
UWUFETCH_NODE_STATUS_TRANSMIT_PROBE 
UWUFETCH_NODE_STATUS_WAIT_POLL_PACKET 
UWUFETCH_NODE_STATUS_POLL_RECEIVE 
UWUFETCH_NODE_STATUS_TRANSMIT_DATA 
UWUFETCH_NODE_STATUS_TRIGGER_RECEIVE 
UWUFETCH_NODE_STATUS_RTS_TRANSMIT 
UWUFETCH_NODE_STATUS_WAIT_CTS_PACKET 
UWUFETCH_NODE_STATUS_CTS_RECEIVE 
UWUFETCH_NODE_STATUS_TRANSMIT_BEACON 
UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET 
UWUFETCH_NODE_STATUS_PROBE_RX 
UWUFETCH_NODE_STATUS_POLL_TX 
UWUFETCH_NODE_STATUS_WAIT_DATA_NODE 
UWUFETCH_NODE_STATUS_DATA_RX 
UWUFETCH_NODE_STATUS_WAIT_CBEACON_PACKET 
UWUFETCH_NODE_STATUS_CBEACON_RECEIVE 

◆ UWUFETCH_NODE_STATUS_CHANGE

Enumerator
UWFETCH_NODE_STATUS_CHANGE_STATE_IDLE 
UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR 
UWFETCH_NODE_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE 
UWFETCH_NODE_STATUS_CHANGE_PACKET_UNKNOWN_TYPE 
UWUFETCH_NODE_STATUS_CHANGE_BEACON_RX 
UWUFETCH_NODE_STATUS_CHANGE_PROBE_TX 
UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_POLL_EXPIRED 
UWUFETCH_NODE_STATUS_CHANGE_POLL_RX 
UWFETCH_NODE_STATUS_CHANGE_CBEACON_RX_DATA_ALREADY_TX 
UWUFETCH_NODE_STATUS_CHANGE_MAX_DATA_PCK_TX 
UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX 
UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX 
UWUFETCH_NODE_STATUS_CHANGE_RTS_TX 
UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED 
UWUFETCH_NODE_STATUS_CHANGE_CTS_RX 
UWUFETCH_NODE_STATUS_CHANGE_BEACON_TX 
UWUFETCH_NODE_STATUS_CHANGE_CBEACON_TX 
UWUFETCH_NODE_STATUS_CHANGE_PROBE_RX 
UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX_0_PROBE_RX 
UWUFETCH_NODE_STATUS_CHANGE_CBEACON_ALLOWED_TX_0_PROBE_RX 
UWUFETCH_NODE_STATUS_CHANGE_MAX_PROBE_RX_PROBE_TO_NOT_EXPIRED 
UWUFETCH_NODE_STATUS_CHANGE_TO_EXPIRED_AT_LEAST_1_PROBE_RX 
UWUFETCH_NODE_STATUS_CHANGE_POLL_TX 
UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED 
UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_NO_OTHER_CBEACON 
UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_YES_OTHER_CBEACON 
UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_ANOTHER_NODE_TO_POLL 
UWUFETCH_NODE_STATUS_CHANGE_DATA_RX 
UWUFETCH_NODE_STATUS_CHANGE_LAST_DATA_PCK_RX 
UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_NO_OTHER_CBEACON 
UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_YES_OTHER_CBEACON 
UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_YES_NODE_TO_POLL 
UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX 
UWUFETCH_NODE_STATUS_CHANGE_BEACON_TO_EXPIRED 
UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX_BUT_HN_NO_DATA_TO_TX 
UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV 
UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED 
UWUFETCH_NODE_STATUS_CHANGE_HN_FINISH_TX_DATA_PCK_TO_AUV_RETURN_CBEACON_TX 

◆ UWUFETCH_TIMER_STATUS

Enumerator
UWUFETCH_TIMER_STATUS_IDLE 
UWUFETCH_TIMER_STATUS_RUNNING 
UWUFETCH_TIMER_STATUS_FROZEN 
UWUFETCH_TIMER_STATUS_EXPIRED 

Constructor & Destructor Documentation

◆ uwUFetch_NODE()

◆ ~uwUFetch_NODE()

uwUFetch_NODE::~uwUFetch_NODE ( )
virtual

Destructor of uwUFetch_NODE class

Member Function Documentation

◆ BCKTOExpired()

void uwUFetch_NODE::BCKTOExpired ( )
protectedvirtual

Handle the

References BCKTOExpired_HN(), debugMio_, isHeadNode(), out_file_logging, and state_PROBE_tx().

Here is the call graph for this function:

◆ BCKTOExpired_HN()

void uwUFetch_NODE::BCKTOExpired_HN ( )
protectedvirtual

Backoff timeout is expired. After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place with RTS and CTS packets

References BCKTOExpired_HN_without(), debugMio_, out_file_logging, state_RTS_tx(), and typeCommunication().

Referenced by BCKTOExpired().

Here is the call graph for this function:

◆ BCKTOExpired_HN_without()

void uwUFetch_NODE::BCKTOExpired_HN_without ( )
protectedvirtual

Backoff timeout is expired. After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets

References debugMio_, out_file_logging, and state_DATA_HN_first_tx().

Referenced by BCKTOExpired_HN().

Here is the call graph for this function:

◆ BEACON_rx()

◆ BEACON_tx()

void uwUFetch_NODE::BEACON_tx ( )
protectedvirtual

HN transmit the BEACON packet

References curr_BEACON_HN_pck_tx, Mac2PhyStartTx(), refreshReason(), and UWUFETCH_NODE_STATUS_CHANGE_BEACON_TX.

Referenced by state_BEACON_tx().

Here is the call graph for this function:

◆ BeaconTxTOExpire()

void uwUFetch_NODE::BeaconTxTOExpire ( )
protectedvirtual

BEACON timeout is expired. In this case the HN has not received any TRIGGER packet, so start the communication with the SNs of the network.

Before to start the communication between AUV, HN move the data packets from the SN queue to the HN data queue. This operation is done only by the HN that function also as SN

References CTSrx, curr_DATA_NODE_pck_tx_HN, debugMio_, incrTotalDataPckRx_by_HN(), incrTotalDataPckTx_by_NODE(), MAX_PCK_HN_WANT_RX_FROM_NODE, out_file_logging, Q_data, Q_data_HN, refreshReason(), rxTRIGGEREnabled, state_BEACON_tx(), txBEACONEnabled, and UWUFETCH_NODE_STATUS_CHANGE_BEACON_TO_EXPIRED.

Here is the call graph for this function:

◆ burstDATA()

bool uwUFetch_NODE::burstDATA ( )
protectedvirtual

Indicate whether the transmission of DATA packets to the AUV take place with or without burst data

Returns
true Transmission take place with burst data

References MODE_BURST_DATA.

Referenced by state_DATA_HN_first_tx_without(), and state_DATA_HN_tx_without().

◆ CBEACON_rx()

◆ CBEACON_tx()

void uwUFetch_NODE::CBEACON_tx ( )
protectedvirtual

HN transmit the BEACON packet

References curr_CBEACON_HN_pck_tx, Mac2PhyStartTx(), refreshReason(), and UWUFETCH_NODE_STATUS_CHANGE_CBEACON_TX.

Referenced by state_CBEACON_tx().

Here is the call graph for this function:

◆ CBeaconTOExpired()

void uwUFetch_NODE::CBeaconTOExpired ( )
protectedvirtual

CBEACON timeout is expired. In this case SN return in Idle state and wait another BEACON packet from an another or the same HN packet

References dataAlreadyTransmitted, debugMio_, mac_addr_HN_in_beacon, n_BEACON_pck_rx_by_NODE, n_CBEACON_pck_rx_by_NODE, n_DATA_pck_tx_by_NODE, n_POLL_pck_rx_by_NODE, n_PROBE_pck_tx_by_NODE, out_file_logging, rxBEACONEnabled, rxCBEACONEnabled, rxPOLLEnabled, stateIdle_NODE(), txDATAEnabled, and txPROBEEnabled.

Here is the call graph for this function:

◆ choiceBackOffTimer()

double uwUFetch_NODE::choiceBackOffTimer ( )
protectedvirtual

Choose the backoff timeout used by SN before to transmit a PROBE packet

Returns
double backoff timeout choosen by SN

References T_max_bck_probe_node, and T_min_bck_probe_node.

Referenced by BEACON_rx(), and CBEACON_rx().

◆ choiceBackOffTimer_HN()

double uwUFetch_NODE::choiceBackOffTimer_HN ( )
protectedvirtual

Choose the backoff timeout used by HN before to transmit a RTS packet

Returns
double backoff timeout choosen by HN

References T_max_bck_DATA, T_max_bck_RTS, T_min_bck_DATA, T_min_bck_RTS, and typeCommunication().

Referenced by TRIGGER_rx(), and TRIGGER_rx_without().

Here is the call graph for this function:

◆ command()

int uwUFetch_NODE::command ( int  argc,
const char *const *  argv 
)
virtual

◆ computeTxTime()

void uwUFetch_NODE::computeTxTime ( UWUFETCH_NODE_PACKET_TYPE  tp)
protectedvirtual

Compute the transmission time for the packets transmitted by the SNs

Parameters
tptype of packet which should be transmitted

References mac_addr_HN_in_beacon, MAX_PAYLOAD, Tdata_NODE, Tprobe, and UWUFETCH_NODE_PACKET_TYPE_PROBE.

Referenced by PROBE_tx(), and state_wait_POLL().

◆ computeTxTime_HN()

void uwUFetch_NODE::computeTxTime_HN ( UWUFETCH_NODE_PACKET_TYPE  tp)
protectedvirtual

Compute the transmission time for the packets transmitted by the HNs

Parameters
tptype of packet which should be transmitted

References mac_addr_AUV_in_trigger, mac_addr_NODE_polled, MAX_PAYLOAD, Tdata_HN, Tpoll, and UWUFETCH_NODE_PACKET_TYPE_POLL.

Referenced by getDataTimerValue(), and POLL_tx().

◆ crLayCommand()

int uwUFetch_NODE::crLayCommand ( ClMessage *  m)
virtual

Cross-Layer messages interpreter

Parameters
ClMessage*an instance of ClMessage that represent the message received
Returns
0 if successful.

◆ CTS_rx()

void uwUFetch_NODE::CTS_rx ( )
protectedvirtual

HN has received a CTS packet from AUV. Extract all information contained into It.

References CTSrx, curr_CTS_HN_pck_rx, debugMio_, mac_addr_AUV_in_CTS, max_data_HN_can_tx, hdr_CTS_UFETCH::num_DATA_pcks_MAX_rx(), out_file_logging, print_transitions, printStateInfo(), refreshState(), rxCTSEnabled, state_DATA_HN_first_tx(), and UWUFETCH_NODE_STATUS_CTS_RECEIVE.

Referenced by Phy2MacEndRx_HN().

Here is the call graph for this function:

◆ CtsTOExpired()

void uwUFetch_NODE::CtsTOExpired ( )
protectedvirtual

CTS timeout is expired. HN in this case return in idle state and interrupt the communication with AUV

References CTSrx, debugMio_, n_CTS_pck_rx_by_HN, n_RTS_pck_tx_by_HN, n_TRIGGER_pck_rx_by_HN, out_file_logging, refreshReason(), rxCTSEnabled, rxDATAEnabled, rxPROBEEnabled, rxTRIGGEREnabled, stateIdle_HN(), T_CTS, txBEACONEnabled, txCBEACONEnabled, txDATAEnabledHN, txPOLLEnabled, txRTSEnabled, and UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED.

Here is the call graph for this function:

◆ DATA_HN_tx()

void uwUFetch_NODE::DATA_HN_tx ( )
protectedvirtual

HN transmit a DATA packet to the AUV. In this case the communication between HN and AUV take place with RTS and CTS packets

References curr_DATA_HN_pck_tx, DATA_HN_tx_without(), Mac2PhyStartTx(), mac_addr_AUV_in_CTS, refreshReason(), typeCommunication(), and UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX.

Referenced by state_DATA_HN_first_tx(), state_DATA_HN_first_tx_without(), state_DATA_HN_tx(), and state_DATA_HN_tx_without().

Here is the call graph for this function:

◆ DATA_HN_tx_without()

void uwUFetch_NODE::DATA_HN_tx_without ( )
protectedvirtual

HN transmit a DATA packet to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets

References curr_DATA_HN_pck_tx, Mac2PhyStartTx(), mac_addr_AUV_in_trigger, refreshReason(), and UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX.

Referenced by DATA_HN_tx().

Here is the call graph for this function:

◆ DATA_NODE_tx()

void uwUFetch_NODE::DATA_NODE_tx ( )
protectedvirtual

SN transmit a DATA packet to a specific HN

References curr_DATA_NODE_pck_tx, Mac2PhyStartTx(), mac_addr_HN_in_poll, refreshReason(), and UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX.

Referenced by state_DATA_NODE_first_tx(), and state_DATA_NODE_tx().

Here is the call graph for this function:

◆ DATA_rx()

◆ DataBeforeTxTOExpired()

void uwUFetch_NODE::DataBeforeTxTOExpired ( )
protectedvirtual

Data timeout. After this timeout is expired the SN pass the DATA packet to its phy level that will then transmit to a specific HN

References DataBeforeTxTOExpired_HN(), isHeadNode(), and state_DATA_NODE_tx().

Here is the call graph for this function:

◆ DataBeforeTxTOExpired_HN()

void uwUFetch_NODE::DataBeforeTxTOExpired_HN ( )
protectedvirtual

Backoff timeout is expired. After the expiration HN can pass the successive DATA packet that will be transmitted to Its physical layer and then forwarded to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets

References state_DATA_HN_tx().

Referenced by DataBeforeTxTOExpired().

Here is the call graph for this function:

◆ DataTOExpired()

◆ getBeaconPckRx_by_NODE()

int uwUFetch_NODE::getBeaconPckRx_by_NODE ( )
inlineprotected

Number of BEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_BEACON_pck_rx_by_NODE

References n_BEACON_pck_rx_by_NODE.

◆ getBeaconTx_by_HN()

int uwUFetch_NODE::getBeaconTx_by_HN ( )
inlineprotected

Number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_BEACON_pck_tx_by_HN

References n_BEACON_pck_tx_by_HN.

◆ getCBeaconPckRx_by_NODE()

int uwUFetch_NODE::getCBeaconPckRx_by_NODE ( )
inlineprotected

Number of CBEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_CBEACON_pck_rx_by_NODE

References n_CBEACON_pck_rx_by_NODE.

Referenced by CBEACON_rx(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ getCBeaconPckTx_by_HN()

int uwUFetch_NODE::getCBeaconPckTx_by_HN ( )
inlineprotected

Number of CBEACON packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_CBEACON_pck_tx_by_HN

References n_CBEACON_pck_tx_by_HN.

Referenced by DATA_rx(), DataTOExpired(), ProbeTOExpired(), and state_CBEACON_tx().

◆ getCtsPckRx_HN()

int uwUFetch_NODE::getCtsPckRx_HN ( )
inlineprotected

Number of CTS packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Returns
int n_CTS_pck_rx_by_HN

References n_CTS_pck_rx_by_HN.

◆ getDataPckRx_by_HN()

int uwUFetch_NODE::getDataPckRx_by_HN ( )
inlineprotected

Number of DATA packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_DATA_pck_rx_by_HN

References n_DATA_pck_rx_by_HN.

Referenced by DATA_rx(), DataTOExpired(), Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), state_wait_first_DATA(), and state_wait_other_DATA().

◆ getDataPckTx_by_HN()

int uwUFetch_NODE::getDataPckTx_by_HN ( )
inlineprotected

Number of DATA packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Returns
int n_DATA_pck_tx_by_HN

References n_DATA_pck_tx_by_HN.

Referenced by Mac2PhyStartTx_HN(), Phy2MacEndTx_HN(), state_DATA_HN_first_tx(), state_DATA_HN_tx(), and state_DATA_HN_tx_without().

◆ getDataPckTx_by_NODE()

int uwUFetch_NODE::getDataPckTx_by_NODE ( )
inlineprotected

Number of DATA packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_DATA_pck_tx_by_NODE

References n_DATA_pck_tx_by_NODE.

Referenced by Phy2MacEndTx(), and state_DATA_NODE_tx().

◆ getDataTimerValue()

double uwUFetch_NODE::getDataTimerValue ( )
protectedvirtual

Compute the interval time within HN want to receive all DATA packets from a specific SN

Returns
double Timeout within the HN want to receive all DATA packets from a specific SN

References computeTxTime_HN(), getRTT(), MAX_PCK_HN_WANT_RX_FROM_NODE, number_data_pck_HN_rx_exact, Q_probbed_n_pcks_NODE_want_tx_HN, RTT, T_GUARD, Tdata_HN, and UWUFETCH_NODE_PACKET_TYPE_DATA.

Referenced by state_wait_first_DATA().

Here is the call graph for this function:

◆ getPollPckRx_by_NODE()

int uwUFetch_NODE::getPollPckRx_by_NODE ( )
inlineprotected

Number of POLL packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_POLL_pck_rx_by_NODE

References n_POLL_pck_rx_by_NODE.

◆ getPollPckTx_by_HN()

int uwUFetch_NODE::getPollPckTx_by_HN ( )
inlineprotected

Number of POLL packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_POLL_pck_tx_by_HN

References n_POLL_pck_tx_by_HN.

◆ getProbePckRx_HN()

int uwUFetch_NODE::getProbePckRx_HN ( )
inlineprotected

Number of PROBE packets received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_PROBE_pck_rx_by_HN

References n_PROBE_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN(), PROBE_rx(), ProbeTOExpired(), and state_wait_other_PROBE().

◆ getProbePckTx_by_NODE()

int uwUFetch_NODE::getProbePckTx_by_NODE ( )
inlineprotected

Number of PROBE packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Returns
int n_PROBE_pck_tx_by_NODE

References n_PROBE_pck_tx_by_NODE.

Referenced by Phy2MacEndRx().

◆ getRtsPckTx_by_HN()

int uwUFetch_NODE::getRtsPckTx_by_HN ( )
inlineprotected

Number of RTS packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Returns
int n_RTS_pck_tx_by_HN

References n_RTS_pck_tx_by_HN.

◆ getRTT()

double uwUFetch_NODE::getRTT ( )
protectedvirtual

Compute the round trip time

Returns
double round trip time

References RTT, rx_PROBE_finish_HN_time, tx_BEACON_start_HN_time, and tx_CBEACON_start_HN_time.

Referenced by getDataTimerValue().

◆ getTotalBeaconPckRx_by_NODE()

int uwUFetch_NODE::getTotalBeaconPckRx_by_NODE ( )
inlineprotected

Total number of BEACON packets received correctly or not by SN during an entire duration of simulation

Returns
int n_tot_BEACON_pck_rx_by_NODE

References n_tot_BEACON_pck_rx_by_NODE.

Referenced by command().

◆ getTotalBeaconPckRx_corrupted_by_NODE()

int uwUFetch_NODE::getTotalBeaconPckRx_corrupted_by_NODE ( )
inlineprotected

Total number of corrupted BEACON packets received by SN during an entire duration of simulation

Returns
int n_tot_BEACON_pck_rx_corr_by_NODE

References n_tot_BEACON_pck_rx_corr_by_NODE.

Referenced by command().

◆ getTotalBeaconTx_by_HN()

int uwUFetch_NODE::getTotalBeaconTx_by_HN ( )
inlineprotected

Total number of BEACON packets transmitted by the HN during an entire simulation

Returns
int n_tot_BEACON_pck_tx_by_HN

References n_tot_BEACON_pck_tx_by_HN.

Referenced by command(), and Phy2MacEndTx_HN().

◆ getTotalCBeaconPckRx_by_NODE()

int uwUFetch_NODE::getTotalCBeaconPckRx_by_NODE ( )
inlineprotected

Total number of CBEACON packets received correctly or not by SN during an entire duration of simulation

Returns
int n_tot_CBEACON_pck_rx_by_NODE

References n_tot_CBEACON_pck_rx_by_NODE.

Referenced by command().

◆ getTotalCBeaconPckRx_corrupted_by_NODE()

int uwUFetch_NODE::getTotalCBeaconPckRx_corrupted_by_NODE ( )
inlineprotected

Total number of corrupted CBEACON packets received by SN during an entire duration of simulation

Returns
int n_tot_CBEACON_pck_rx_corr_by_NODE

References n_tot_CBEACON_pck_rx_corr_by_NODE.

Referenced by command().

◆ getTotalCBeaconPckTx_by_HN()

int uwUFetch_NODE::getTotalCBeaconPckTx_by_HN ( )
inlineprotected

Total number of CBEACON packets transmitted by the HN during an entire simulation

Returns
int n_tot_CBEACON_pck_tx_by_HN

References n_tot_CBEACON_pck_tx_by_HN.

Referenced by command(), and Phy2MacEndTx_HN().

◆ getTotalCtsPckRx_corrupted_HN()

int uwUFetch_NODE::getTotalCtsPckRx_corrupted_HN ( )
inlineprotected

Total number of corrupted CTS packets received by the HN during an entire simulation

Returns
int n_tot_CTS_pck_rx_corr_by_HN

References n_tot_CTS_pck_rx_corr_by_HN.

Referenced by command().

◆ getTotalCtsPckRx_HN()

int uwUFetch_NODE::getTotalCtsPckRx_HN ( )
inlineprotected

Total number of CTS packets correctly or not received by the HN during an entire simulation

Returns
int n_tot_CTS_pck_rx_by_HN

References n_tot_CTS_pck_rx_by_HN.

Referenced by command().

◆ getTotalDataPckRx_by_HN()

int uwUFetch_NODE::getTotalDataPckRx_by_HN ( )
inlineprotected

Total number of DATA packets correctly or not received by the HN during an entire simulation

Returns
int n_tot_DATA_pck_rx_by_HN

References n_tot_DATA_pck_rx_by_HN.

Referenced by command().

◆ getTotalDataPckRx_corrupted_by_HN()

int uwUFetch_NODE::getTotalDataPckRx_corrupted_by_HN ( )
inlineprotected

Total number of corrupted DATA packets received by the HN during an entire simulation

Returns
int n_tot_DATA_pck_rx_corr_by_HN

References n_tot_DATA_pck_rx_corr_by_HN.

Referenced by command().

◆ getTotalDataPckTx_by_HN()

int uwUFetch_NODE::getTotalDataPckTx_by_HN ( )
inlineprotected

Total number of DATA packets transmitted by the HN during an entire simulation

Returns
int n_tot_DATA_pck_tx_by_HN

References n_tot_DATA_pck_tx_by_HN.

Referenced by command(), and Phy2MacEndTx_HN().

◆ getTotalDataPckTx_by_NODE()

int uwUFetch_NODE::getTotalDataPckTx_by_NODE ( )
inlineprotected

Total number of DATA packets transmitted by SN during an entire duration of simulation

Returns
int n_tot_DATA_pck_tx_by_NODE

References n_tot_DATA_pck_tx_by_NODE.

Referenced by command().

◆ getTotalPollPckRx_by_NODE()

int uwUFetch_NODE::getTotalPollPckRx_by_NODE ( )
inlineprotected

Total number of POLL packets received correctly or not by SN during an entire duration of simulation

Returns
int n_tot_POLL_pck_rx_by_NODE

References n_tot_POLL_pck_rx_by_NODE.

Referenced by command().

◆ getTotalPollPckRx_corrupted_by_NODE()

int uwUFetch_NODE::getTotalPollPckRx_corrupted_by_NODE ( )
inlineprotected

Total number of corrupted POLL packets received by SN during an entire duration of simulation

Returns
int n_tot_POLL_pck_rx_corr_by_NODE

References n_tot_POLL_pck_rx_corr_by_NODE.

Referenced by command().

◆ getTotalPollPckTx_by_HN()

int uwUFetch_NODE::getTotalPollPckTx_by_HN ( )
inlineprotected

Total number of POLL packets transmitted by the HN during an entire simulation

Returns
int n_tot_POLL_pck_tx_by_HN

References n_tot_POLL_pck_tx_by_HN.

Referenced by command().

◆ getTotalProbePckRx_corrupted_HN()

int uwUFetch_NODE::getTotalProbePckRx_corrupted_HN ( )
inlineprotected

Total number of corrupted PROBE packets received by the HN during an entire simulation

Returns
int n_tot_PROBE_pck_corr_rx_by_HN

References n_tot_PROBE_pck_corr_rx_by_HN.

Referenced by command(), and Phy2MacEndRx_HN().

◆ getTotalProbePckRx_HN()

int uwUFetch_NODE::getTotalProbePckRx_HN ( )
inlineprotected

Total number of PROBE packets correctly or not received by the HN during an entire simulation

Returns
int n_tot_PROBE_pck_rx_by_HN

References n_tot_PROBE_pck_rx_by_HN.

Referenced by command(), and Phy2MacEndRx_HN().

◆ getTotalProbePckTx_by_NODE()

int uwUFetch_NODE::getTotalProbePckTx_by_NODE ( )
inlineprotected

Total number of PROBE packets transmitted by SN during an entire duration of simulation

Returns
int n_tot_PROBE_pck_tx_by_NODE

References n_tot_PROBE_pck_tx_by_NODE.

Referenced by command().

◆ getTotalRtsPckTx_by_HN()

int uwUFetch_NODE::getTotalRtsPckTx_by_HN ( )
inlineprotected

Total number of RTS packets transmitted by the HN during an entire simulation

Returns
int n_tot_RTS_pck_tx_by_HN

References n_tot_RTS_pck_tx_by_HN.

Referenced by command().

◆ getTotalTriggerPckRx_corrupted_HN()

int uwUFetch_NODE::getTotalTriggerPckRx_corrupted_HN ( )
inlineprotected

Total number of corrupted TRIGGER packets received by the HN during an entire simulation

Returns
int n_tot_TRIGGER_pck_rx_corr_by_HN

References n_tot_TRIGGER_pck_rx_corr_by_HN.

Referenced by command().

◆ getTotalTriggerPckRx_HN()

int uwUFetch_NODE::getTotalTriggerPckRx_HN ( )
inlineprotected

Total number of TRIGGER packets correctly or not received by the HN during an entire simulation

Returns
int n_tot_TRIGGER_pck_rx_by_HN

References n_tot_TRIGGER_pck_rx_by_HN.

Referenced by command().

◆ getTriggerPckRx_HN()

int uwUFetch_NODE::getTriggerPckRx_HN ( )
inlineprotected

Number of TRIGGER packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Returns
int n_TRIGGER_pck_rx_by_HN

References n_TRIGGER_pck_rx_by_HN.

◆ incrBeaconPckRx_by_NODE()

void uwUFetch_NODE::incrBeaconPckRx_by_NODE ( )
inlineprotected

Increase the number of BEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_BEACON_pck_rx_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrBeaconPckTx_by_HN()

void uwUFetch_NODE::incrBeaconPckTx_by_HN ( )
inlineprotected

Increase the number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_BEACON_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrCBeaconPckRx_by_NODE()

void uwUFetch_NODE::incrCBeaconPckRx_by_NODE ( )
inlineprotected

Increase the number of CBEACON packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_CBEACON_pck_rx_by_NODE.

Referenced by CBEACON_rx(), and Phy2MacEndRx().

◆ incrCBeaconPckTx_by_HN()

void uwUFetch_NODE::incrCBeaconPckTx_by_HN ( )
inlineprotected

Increase the number of CBEACON packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_CBEACON_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrCtsPckRx_HN()

void uwUFetch_NODE::incrCtsPckRx_HN ( )
inlineprotected

Increase the number of CTS packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

References n_CTS_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrDataPckRx_by_HN()

void uwUFetch_NODE::incrDataPckRx_by_HN ( )
inlineprotected

Increase the number of DATA packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_DATA_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ incrDataPckTx_by_HN()

void uwUFetch_NODE::incrDataPckTx_by_HN ( )
inlineprotected

Increase the number of DATA packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

References n_DATA_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrDataPckTx_by_NODE()

void uwUFetch_NODE::incrDataPckTx_by_NODE ( )
inlineprotected

Increase the number of DATA packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_DATA_pck_tx_by_NODE.

Referenced by Phy2MacEndTx().

◆ incrPollPckRx_by_NODE()

void uwUFetch_NODE::incrPollPckRx_by_NODE ( )
inlineprotected

Increase the number of POLL packets received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_POLL_pck_rx_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrPollPckTx_by_HN()

void uwUFetch_NODE::incrPollPckTx_by_HN ( )
inlineprotected

Increase the number of POLL packets transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_POLL_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrProbePckRx_HN()

void uwUFetch_NODE::incrProbePckRx_HN ( )
inlineprotected

Increase number of PROBE packets received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_PROBE_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrProbePckTx_by_NODE()

void uwUFetch_NODE::incrProbePckTx_by_NODE ( )
inlineprotected

Increase the number of PROBE packets transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

References n_PROBE_pck_tx_by_NODE.

Referenced by Phy2MacEndTx().

◆ incrRtsPckTx_by_HN()

void uwUFetch_NODE::incrRtsPckTx_by_HN ( )
inlineprotected

Increase the number of RTS packets transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

References n_RTS_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalBeaconPckRx_by_NODE()

void uwUFetch_NODE::incrTotalBeaconPckRx_by_NODE ( )
inlineprotected

Increase the total number of BEACON packets received correctly or not by SN during an entire duration of simulation

References n_tot_BEACON_pck_rx_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalBeaconPckRx_corrupted_by_NODE()

void uwUFetch_NODE::incrTotalBeaconPckRx_corrupted_by_NODE ( )
inlineprotected

Increase the total number of corrupted BEACON packets received by SN during an entire duration of simulation

References n_tot_BEACON_pck_rx_corr_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalBeaconPckTx_by_HN()

void uwUFetch_NODE::incrTotalBeaconPckTx_by_HN ( )
inlineprotected

Increase the total number of BEACON packets transmitted by the HN during an entire simulation

References n_tot_BEACON_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalCBeaconPckRx_by_NODE()

void uwUFetch_NODE::incrTotalCBeaconPckRx_by_NODE ( )
inlineprotected

Increase the total number of CBEACON packets received correctly or not by SN during an entire duration of simulation

References n_tot_CBEACON_pck_rx_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalCBeaconPckRx_corrupted_by_NODE()

void uwUFetch_NODE::incrTotalCBeaconPckRx_corrupted_by_NODE ( )
inlineprotected

Increase the total number of corrupted CBEACON packets received by SN during an entire duration of simulation

References n_tot_CBEACON_pck_rx_corr_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalCBeaconPckTx_by_HN()

void uwUFetch_NODE::incrTotalCBeaconPckTx_by_HN ( )
inlineprotected

Increase the total number of CBEACON packets transmitted by the HN during an entire simulation

References n_tot_CBEACON_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalCtsPckRx_corrupted_HN()

void uwUFetch_NODE::incrTotalCtsPckRx_corrupted_HN ( )
inlineprotected

Increase the total number of corrupted CTS packets received by the HN during an entire simulation

References n_tot_CTS_pck_rx_corr_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrTotalCtsPckRx_HN()

void uwUFetch_NODE::incrTotalCtsPckRx_HN ( )
inlineprotected

Increase the total number of CTS packets correctly or not received by the HN during an entire simulation

References n_tot_CTS_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrTotalDataPckRx_by_HN()

void uwUFetch_NODE::incrTotalDataPckRx_by_HN ( )
inlineprotected

Increase total number of DATA packets correctly or not received by the HN during an entire simulation

References n_tot_DATA_pck_rx_by_HN.

Referenced by BeaconTxTOExpire(), Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), and stateIdle_HN().

◆ incrTotalDataPckRx_corrupted_by_HN()

void uwUFetch_NODE::incrTotalDataPckRx_corrupted_by_HN ( )
inlineprotected

Increase total number of corrupted DATA packets received by the HN during an entire simulation

References n_tot_DATA_pck_rx_corr_by_HN.

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ incrTotalDataPckTx_by_HN()

void uwUFetch_NODE::incrTotalDataPckTx_by_HN ( )
inlineprotected

Increase the total number of DATA packets transmitted by the HN during an entire simulation

References n_tot_DATA_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalDataPckTx_by_NODE()

void uwUFetch_NODE::incrTotalDataPckTx_by_NODE ( )
inlineprotected

Increase the total number of DATA packets transmitted by SN during an entire duration of simulation

References n_tot_DATA_pck_tx_by_NODE.

Referenced by BeaconTxTOExpire(), Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), Phy2MacEndTx(), and stateIdle_HN().

◆ incrTotalPollPckRx_by_NODE()

void uwUFetch_NODE::incrTotalPollPckRx_by_NODE ( )
inlineprotected

Increase the total number of POLL packets received correctly or not by SN during an entire duration of simulation

References n_tot_POLL_pck_rx_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalPollPckRx_corrupted_by_NODE()

void uwUFetch_NODE::incrTotalPollPckRx_corrupted_by_NODE ( )
inlineprotected

Increase the total number of corrupted POLL packets received by SN during an entire duration of simulation

References n_tot_POLL_pck_rx_corr_by_NODE.

Referenced by Phy2MacEndRx().

◆ incrTotalPollPckTx_by_HN()

void uwUFetch_NODE::incrTotalPollPckTx_by_HN ( )
inlineprotected

Increase the total number of POLL packets transmitted by the HN during an entire simulation

References n_tot_POLL_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalProbePckRx_corrupted_HN()

void uwUFetch_NODE::incrTotalProbePckRx_corrupted_HN ( )
inlineprotected

Increase the total number of corrupted PROBE packets received by the HN during an entire simulation

References n_tot_PROBE_pck_corr_rx_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrTotalProbePckRx_HN()

void uwUFetch_NODE::incrTotalProbePckRx_HN ( )
inlineprotected

Increase total number of PROBE packets correctly or not received by the HN during an entire simulation

References n_tot_PROBE_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN().

◆ incrTotalProbePckTx_by_NODE()

void uwUFetch_NODE::incrTotalProbePckTx_by_NODE ( )
inlineprotected

Increase the total number of PROBE packets transmitted by SN during an entire duration of simulation

References n_tot_PROBE_pck_tx_by_NODE.

Referenced by Phy2MacEndTx().

◆ incrTotalRtsPckTx_by_HN()

void uwUFetch_NODE::incrTotalRtsPckTx_by_HN ( )
inlineprotected

Increase the total number of RTS packets transmitted by the HN during an entire simulation

References n_tot_RTS_pck_tx_by_HN.

Referenced by Phy2MacEndTx_HN().

◆ incrTotalTriggerPckRx_corrupted_HN()

void uwUFetch_NODE::incrTotalTriggerPckRx_corrupted_HN ( )
inlineprotected

Increase the total number of corrupted TRIGGER packets received by the HN during an entire simulation

References n_tot_TRIGGER_pck_rx_corr_by_HN.

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ incrTotalTriggerPckRx_HN()

void uwUFetch_NODE::incrTotalTriggerPckRx_HN ( )
inlineprotected

Increase the total number of TRIGGER packets correctly or not received by the HN during an entire simulation

References n_tot_TRIGGER_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ incrTriggerPckRx_HN()

void uwUFetch_NODE::incrTriggerPckRx_HN ( )
inlineprotected

Increase the number of TRIGGER packets received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

References n_TRIGGER_pck_rx_by_HN.

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ initInfo()

void uwUFetch_NODE::initInfo ( )
protectedvirtual

Initialize the protocol at the beginning of the simulation. This method is called by a command in TCL.

References initialized, packetType, print_transitions, statusChange, statusInfo, statusTimer, UWFETCH_NODE_STATUS_CHANGE_CBEACON_RX_DATA_ALREADY_TX, UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR, UWFETCH_NODE_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE, UWFETCH_NODE_STATUS_CHANGE_PACKET_UNKNOWN_TYPE, UWFETCH_NODE_STATUS_CHANGE_STATE_IDLE, UWUFETCH_NODE_PACKET_TYPE_BEACON, UWUFETCH_NODE_PACKET_TYPE_CTS, UWUFETCH_NODE_PACKET_TYPE_DATA, UWUFETCH_NODE_PACKET_TYPE_POLL, UWUFETCH_NODE_PACKET_TYPE_PROBE, UWUFETCH_NODE_PACKET_TYPE_RTS, UWUFETCH_NODE_PACKET_TYPE_TRIGGER, UWUFETCH_NODE_STATUS_BEACON_RECEIVE, UWUFETCH_NODE_STATUS_CBEACON_RECEIVE, UWUFETCH_NODE_STATUS_CHANGE_BEACON_RX, UWUFETCH_NODE_STATUS_CHANGE_BEACON_TO_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_BEACON_TX, UWUFETCH_NODE_STATUS_CHANGE_CBEACON_ALLOWED_TX_0_PROBE_RX, UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX, UWUFETCH_NODE_STATUS_CHANGE_CBEACON_MAX_ALLOWED_TX_0_PROBE_RX, UWUFETCH_NODE_STATUS_CHANGE_CBEACON_TX, UWUFETCH_NODE_STATUS_CHANGE_CTS_RX, UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_NO_OTHER_CBEACON, UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_0_NODE_TO_POLL_YES_OTHER_CBEACON, UWUFETCH_NODE_STATUS_CHANGE_DATA_MAX_ALLOWED_PCK_RX_YES_NODE_TO_POLL, UWUFETCH_NODE_STATUS_CHANGE_DATA_PCK_TX, UWUFETCH_NODE_STATUS_CHANGE_DATA_RX, UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_NO_OTHER_CBEACON, UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_0_NODE_TO_POLL_YES_OTHER_CBEACON, UWUFETCH_NODE_STATUS_CHANGE_DATA_TO_EXPIRED_ANOTHER_NODE_TO_POLL, UWUFETCH_NODE_STATUS_CHANGE_HN_FINISH_TX_DATA_PCK_TO_AUV_RETURN_CBEACON_TX, UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED, UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV, UWUFETCH_NODE_STATUS_CHANGE_LAST_DATA_PCK_RX, UWUFETCH_NODE_STATUS_CHANGE_MAX_DATA_PCK_TX, UWUFETCH_NODE_STATUS_CHANGE_MAX_PROBE_RX_PROBE_TO_NOT_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_POLL_RX, UWUFETCH_NODE_STATUS_CHANGE_POLL_TX, UWUFETCH_NODE_STATUS_CHANGE_PROBE_RX, UWUFETCH_NODE_STATUS_CHANGE_PROBE_TX, UWUFETCH_NODE_STATUS_CHANGE_RTS_TX, UWUFETCH_NODE_STATUS_CHANGE_TO_EXPIRED_AT_LEAST_1_PROBE_RX, UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_POLL_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX, UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX_BUT_HN_NO_DATA_TO_TX, UWUFETCH_NODE_STATUS_CTS_RECEIVE, UWUFETCH_NODE_STATUS_DATA_RX, UWUFETCH_NODE_STATUS_IDLE, UWUFETCH_NODE_STATUS_POLL_RECEIVE, UWUFETCH_NODE_STATUS_POLL_TX, UWUFETCH_NODE_STATUS_PROBE_RX, UWUFETCH_NODE_STATUS_RTS_TRANSMIT, UWUFETCH_NODE_STATUS_TRANSMIT_BEACON, UWUFETCH_NODE_STATUS_TRANSMIT_DATA, UWUFETCH_NODE_STATUS_TRANSMIT_PROBE, UWUFETCH_NODE_STATUS_TRIGGER_RECEIVE, UWUFETCH_NODE_STATUS_WAIT_CBEACON_PACKET, UWUFETCH_NODE_STATUS_WAIT_CTS_PACKET, UWUFETCH_NODE_STATUS_WAIT_DATA_NODE, UWUFETCH_NODE_STATUS_WAIT_POLL_PACKET, UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET, UWUFETCH_TIMER_STATUS_EXPIRED, UWUFETCH_TIMER_STATUS_FROZEN, UWUFETCH_TIMER_STATUS_IDLE, and UWUFETCH_TIMER_STATUS_RUNNING.

Referenced by command().

◆ isHeadNode()

bool uwUFetch_NODE::isHeadNode ( )
protectedvirtual

Indicate if the node created work as head node or sensor node

Returns
true The node work as HN

References HEADNODE.

Referenced by BCKTOExpired(), DataBeforeTxTOExpired(), Mac2PhyStartTx(), Phy2MacEndRx(), Phy2MacEndTx(), Phy2MacStartRx(), and recvFromUpperLayers().

◆ Mac2PhyStartTx()

void uwUFetch_NODE::Mac2PhyStartTx ( Packet *  p)
protectedvirtual

This method must be called by the SN-MAC to instruct the PHY to start the transmission of a packet

Parameters
ppointer to the packet to be transmitted

References debugMio_, isHeadNode(), Mac2PhyStartTx_HN(), mac_addr_HN_in_beacon, out_file_logging, PT_PROBE_UFETCH, Tdata_NODE_pck, TIME_BETWEEN_2_TX_DATA_NODE_HN, tx_DATA_start_time, and tx_PROBE_start_time.

Referenced by BEACON_tx(), CBEACON_tx(), DATA_HN_tx(), DATA_HN_tx_without(), DATA_NODE_tx(), POLL_tx(), PROBE_tx(), and RTS_tx().

Here is the call graph for this function:

◆ Mac2PhyStartTx_HN()

void uwUFetch_NODE::Mac2PhyStartTx_HN ( Packet *  p)
protectedvirtual

This method must be called by the HN-MAC to instruct the PHY to start the transmission of a packet.

Parameters
ppointer to the packet to be transmitted

References debugMio_, getDataPckTx_by_HN(), mac_addr_AUV_in_CTS, mac_addr_AUV_in_trigger, mac_addr_NODE_polled, out_file_logging, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_RTS_UFETCH, Tdata_HN_pck, TIME_BETWEEN_2_TX_DATA_HN_AUV, tx_BEACON_start_HN_time, tx_CBEACON_start_HN_time, tx_DATA_start_HN_time, tx_POLL_start_HN_time, and tx_RTS_start_HN_time.

Referenced by Mac2PhyStartTx().

Here is the call graph for this function:

◆ Phy2MacEndRx()

void uwUFetch_NODE::Phy2MacEndRx ( Packet *  p)
protectedvirtual

Handle the end-of-PHY-reception event

Parameters
ppointer to the packet whose reception has ended.

Se il beacon è ricevuto dal nodo da cui sto aspettando il POLL, allora considera il BEACON anche se é in errore e ritorna nello stato di IDLE resettando il POLL timeout, altrimenti droppa semplicemente il pacchetto

Save the information of POLL HEADER

References BEACON_rx(), CBEACON_rx(), CBEACON_timer, curr_BEACON_NODE_pck_rx, curr_CBEACON_NODE_pck_rx, curr_POLL_NODE_pck_rx, dataAlreadyTransmitted, debugMio_, getCBeaconPckRx_by_NODE(), getProbePckTx_by_NODE(), incrBeaconPckRx_by_NODE(), incrCBeaconPckRx_by_NODE(), incrPollPckRx_by_NODE(), incrTotalBeaconPckRx_by_NODE(), incrTotalBeaconPckRx_corrupted_by_NODE(), incrTotalCBeaconPckRx_by_NODE(), incrTotalCBeaconPckRx_corrupted_by_NODE(), incrTotalPollPckRx_by_NODE(), incrTotalPollPckRx_corrupted_by_NODE(), isHeadNode(), mac_addr_HN_in_beacon, mac_addr_HN_in_cbeacon, n_BEACON_pck_rx_by_NODE, n_CBEACON_pck_rx_by_NODE, n_DATA_pck_tx_by_NODE, n_POLL_pck_rx_by_NODE, n_PROBE_pck_tx_by_NODE, num_cbeacon_node_rx, hdr_POLL_UFETCH::num_DATA_pcks_MAX_rx(), num_pck_to_tx_by_NODE, out_file_logging, Phy2MacEndRx_HN(), POLL_rx(), POLL_timer, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, refreshReason(), rx_BEACON_finish_time, rx_POLL_finish_time, rxBEACONEnabled, rxCBEACONEnabled, rxPOLLEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), state_wait_CBEACON(), stateIdle_NODE(), T_GUARD, T_POLL, txDATAEnabled, txPROBEEnabled, UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR, UWFETCH_NODE_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE, and UWUFETCH_NODE_STATUS_CHANGE_BEACON_RX.

Here is the call graph for this function:

◆ Phy2MacEndRx_HN()

void uwUFetch_NODE::Phy2MacEndRx_HN ( Packet *  p)
protectedvirtual

Handle the end-of-PHY-reception event for HEAD NODE

Parameters
ppointer to the packet whose reception has ended.

Handle the end-of-PHY-reception event

Parameters
ppointer to the packet whose reception has ended.

remove the DATA packet into the queue of the SENSOR NODE and put It into the queue of HN

Parameters
p

References BeaconBeforeTx_timer, CTS_rx(), CTS_timer, CTSrx, curr_CTS_HN_pck_rx, curr_DATA_HN_pck_rx, curr_DATA_NODE_pck_tx_HN, curr_PROBE_HN_pck_rx, curr_TRIGGER_HN_pck_rx, DATA_rx(), debugMio_, getDataPckRx_by_HN(), getProbePckRx_HN(), getTotalProbePckRx_corrupted_HN(), getTotalProbePckRx_HN(), incrCtsPckRx_HN(), incrDataPckRx_by_HN(), incrProbePckRx_HN(), incrTotalCtsPckRx_corrupted_HN(), incrTotalCtsPckRx_HN(), incrTotalDataPckRx_by_HN(), incrTotalDataPckRx_corrupted_by_HN(), incrTotalDataPckTx_by_NODE(), incrTotalProbePckRx_corrupted_HN(), incrTotalProbePckRx_HN(), incrTotalTriggerPckRx_corrupted_HN(), incrTotalTriggerPckRx_HN(), incrTriggerPckRx_HN(), mac_addr_AUV_in_trigger, MAX_PCK_HN_WANT_RX_FROM_NODE, n_CTS_pck_rx_by_HN, n_DATA_pck_tx_by_HN, n_RTS_pck_tx_by_HN, n_TRIGGER_pck_rx_by_HN, out_file_logging, Phy2MacEndRx_HN_without(), PROBE_rx(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, Q_data, Q_data_HN, refreshReason(), rx_CTS_finish_HN_time, rx_DATA_finish_HN_time, rx_PROBE_finish_HN_time, rx_TRIGGER_finish_HN_time, rxCTSEnabled, rxPROBEEnabled, rxTRIGGEREnabled, stateIdle_HN(), TRIGGER_rx(), typeCommunication(), UWFETCH_NODE_STATUS_CHANGE_PACKET_ERROR, UWUFETCH_NODE_STATUS_CHANGE_CTS_RX, UWUFETCH_NODE_STATUS_CHANGE_DATA_RX, UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED, UWUFETCH_NODE_STATUS_CHANGE_PROBE_RX, and UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX.

Referenced by Phy2MacEndRx().

Here is the call graph for this function:

◆ Phy2MacEndRx_HN_without()

void uwUFetch_NODE::Phy2MacEndRx_HN_without ( Packet *  p)
protectedvirtual

◆ Phy2MacEndTx()

void uwUFetch_NODE::Phy2MacEndTx ( const Packet *  p)
protectedvirtual

Handle the end-of-PHY-transmission event

Parameters
ppointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the SN-MAC at the time this event occurs, hence the 'const' declaration.

References DATA_BEFORE_TX_timer, dataAlreadyTransmitted, debugMio_, getDataPckTx_by_NODE(), incrDataPckTx_by_NODE(), incrProbePckTx_by_NODE(), incrTotalDataPckTx_by_NODE(), incrTotalProbePckTx_by_NODE(), isHeadNode(), mac_addr_HN_in_beacon, mac_addr_HN_in_poll, num_pck_to_tx_by_NODE, out_file_logging, Phy2MacEndTx_HN(), PT_PROBE_UFETCH, rxBEACONEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), state_DATA_NODE_finish_tx(), state_wait_POLL(), Tdata_NODE_pck, tx_DATA_finish_time, tx_PROBE_finish_time, and txPROBEEnabled.

Here is the call graph for this function:

◆ Phy2MacEndTx_HN()

void uwUFetch_NODE::Phy2MacEndTx_HN ( const Packet *  p)
protectedvirtual

Handle the end-of-PHY-transmission event for HEAD NODE

Parameters
ppointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the HN-MAC at the time this event occurs, hence the 'const' declaration.

Handle the end-of-PHY-transmission event

Parameters
ppointer to the packet whose transmission has ended. Note that the Packet is not any more under control of the MAC at the time this event occurs, hence the 'const' declaration.

References DATA_BEFORE_TX_timer, debugMio_, getDataPckTx_by_HN(), getTotalBeaconTx_by_HN(), getTotalCBeaconPckTx_by_HN(), getTotalDataPckTx_by_HN(), incrBeaconPckTx_by_HN(), incrCBeaconPckTx_by_HN(), incrDataPckTx_by_HN(), incrPollPckTx_by_HN(), incrRtsPckTx_by_HN(), incrTotalBeaconPckTx_by_HN(), incrTotalCBeaconPckTx_by_HN(), incrTotalDataPckTx_by_HN(), incrTotalPollPckTx_by_HN(), incrTotalRtsPckTx_by_HN(), mac_addr_AUV_in_CTS, mac_addr_AUV_in_trigger, mac_addr_NODE_polled, max_data_HN_can_tx, out_file_logging, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_RTS_UFETCH, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), state_DATA_HN_finish_tx(), state_wait_CTS(), state_wait_first_DATA(), state_wait_PROBE(), Tdata_HN_pck, tx_BEACON_finish_HN_time, tx_CBEACON_finish_HN_time, tx_DATA_finish_HN_time, tx_POLL_finish_HN_time, tx_RTS_finish_HN_time, txBEACONEnabled, txCBEACONEnabled, txPOLLEnabled, and txRTSEnabled.

Referenced by Phy2MacEndTx().

Here is the call graph for this function:

◆ Phy2MacStartRx()

void uwUFetch_NODE::Phy2MacStartRx ( const Packet *  p)
protectedvirtual

Handle the detected-start-of-PHY-reception event for SENSOR NODE

Parameters
ppointer to the packet whose reception has begun.

References debugMio_, isHeadNode(), out_file_logging, Phy2MacStartRx_HN(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, rx_BEACON_start_time, rx_CBEACON_start_time, rx_POLL_start_time, and rxBEACONEnabled.

Here is the call graph for this function:

◆ Phy2MacStartRx_HN()

void uwUFetch_NODE::Phy2MacStartRx_HN ( const Packet *  p)
protectedvirtual

Handle the detected-start-of-PHY-reception event for HEAD NODE

Parameters
ppointer to the packet whose reception has begun.

References debugMio_, out_file_logging, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, rx_CTS_start_HN_time, rx_DATA_start_HN_time, rx_PROBE_start_HN_time, and rx_TRIGGER_start_HN_time.

Referenced by Phy2MacStartRx().

◆ POLL_rx()

void uwUFetch_NODE::POLL_rx ( )
protectedvirtual

SN has received a POLL packet from a specific HN. Extract all information contained into It.

Save the information of POLL HEADER

References curr_POLL_NODE_pck_rx, debugMio_, mac_addr_HN_in_poll, hdr_POLL_UFETCH::num_DATA_pcks_MAX_rx(), num_pck_to_tx_by_NODE, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxPOLLEnabled, state_DATA_NODE_first_tx(), and UWUFETCH_NODE_STATUS_POLL_RECEIVE.

Referenced by Phy2MacEndRx().

Here is the call graph for this function:

◆ POLL_tx()

void uwUFetch_NODE::POLL_tx ( )
protectedvirtual

HN transmit POLL packet to a specific SN of th network

References computeTxTime_HN(), curr_POLL_HN_pck_tx, Mac2PhyStartTx(), mac_addr_NODE_polled, refreshReason(), UWUFETCH_NODE_PACKET_TYPE_POLL, and UWUFETCH_NODE_STATUS_CHANGE_POLL_TX.

Referenced by state_POLL_tx().

Here is the call graph for this function:

◆ PollTOExpired()

void uwUFetch_NODE::PollTOExpired ( )
protectedvirtual

◆ printStateInfo()

◆ PROBE_rx()

void uwUFetch_NODE::PROBE_rx ( )
protectedvirtual

◆ PROBE_tx()

void uwUFetch_NODE::PROBE_tx ( )
protectedvirtual

Transmission of PROBE packet by SN to the specific HN.

References computeTxTime(), curr_PROBE_NODE_pck_tx, Mac2PhyStartTx(), mac_addr_HN_in_beacon, refreshReason(), UWUFETCH_NODE_PACKET_TYPE_PROBE, and UWUFETCH_NODE_STATUS_CHANGE_PROBE_TX.

Referenced by state_PROBE_tx().

Here is the call graph for this function:

◆ ProbeTOExpired()

void uwUFetch_NODE::ProbeTOExpired ( )
protectedvirtual

◆ recvFromUpperLayers()

void uwUFetch_NODE::recvFromUpperLayers ( Packet *  p)
protectedvirtual

Handle a packet coming from upper layers of SN

Parameters
ppacket that node receiving from upper layer. DATA packet created by application layer

References debugMio_, isHeadNode(), MAXIMUM_BUFFER_DATA_PCK_NODE, out_file_logging, Q_data, recvFromUpperLayers_HN(), and hdr_uwcbr::sn().

Here is the call graph for this function:

◆ recvFromUpperLayers_HN()

void uwUFetch_NODE::recvFromUpperLayers_HN ( Packet *  p)
protectedvirtual

Handle a packet coming from upper layers of HN

Parameters
ppacket that node receiving from upper layer. DATA packet created by application layer

References debugMio_, MAXIMUM_BUFFER_DATA_PCK_NODE, out_file_logging, and Q_data.

Referenced by recvFromUpperLayers().

◆ refreshReason()

virtual void uwUFetch_NODE::refreshReason ( UWUFETCH_NODE_STATUS_CHANGE  reason)
inlineprotectedvirtual

◆ refreshState()

◆ RTS_tx()

void uwUFetch_NODE::RTS_tx ( )
protectedvirtual

HN transmit a RTS packet to the AUV

References curr_RTS_HN_pck_tx, Mac2PhyStartTx(), mac_addr_AUV_in_trigger, refreshReason(), and UWUFETCH_NODE_STATUS_CHANGE_RTS_TX.

Referenced by state_RTS_tx().

Here is the call graph for this function:

◆ state_BEACON_tx()

◆ state_CBEACON_tx()

◆ state_DATA_HN_finish_tx()

void uwUFetch_NODE::state_DATA_HN_finish_tx ( )
protectedvirtual

◆ state_DATA_HN_finish_tx_without()

void uwUFetch_NODE::state_DATA_HN_finish_tx_without ( )
protectedvirtual

HN has finished to transmit the sequence of DATA packets to the AUV. In this case the communication between HN and AUV take place without RTS and CTS packets

References debugMio_, mac_addr_AUV_in_trigger, n_DATA_pck_tx_by_HN, n_TRIGGER_pck_rx_by_HN, out_file_logging, refreshReason(), rxTRIGGEREnabled, sectionCBeacon, state_CBEACON_tx(), stateIdle_HN(), txBEACONEnabled, txDATAEnabledHN, UWUFETCH_NODE_STATUS_CHANGE_HN_FINISH_TX_DATA_PCK_TO_AUV_RETURN_CBEACON_TX, and UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV.

Referenced by state_DATA_HN_finish_tx().

Here is the call graph for this function:

◆ state_DATA_HN_first_tx()

void uwUFetch_NODE::state_DATA_HN_first_tx ( )
protectedvirtual

HN initialize the FIRST DATA packet that will be forwarded to the AUV node. In this case the communication between HN and AUV take place with RTS and CTS packets

hdr_uwmphy_modem* modemh = HDR_UWMPHY_MODEM(curr_DATA_HN_pck_tx); modemh->use_burst_data() = 1; if ( getDataPckTx_by_HN() == (max_data_HN_can_tx) ) { modemh->last_packet() = 1; modemh->use_burst_data() = 1; } else { modemh->last_packet() = 0; modemh->use_burst_data() = 1; }

References curr_DATA_HN_pck_tx, DATA_HN_tx(), debugMio_, getDataPckTx_by_HN(), mac_addr_AUV_in_CTS, max_data_HN_can_tx, out_file_logging, Q_data_HN, state_DATA_HN_first_tx_without(), txDATAEnabledHN, and typeCommunication().

Referenced by BCKTOExpired_HN_without(), and CTS_rx().

Here is the call graph for this function:

◆ state_DATA_HN_first_tx_without()

void uwUFetch_NODE::state_DATA_HN_first_tx_without ( )
protectedvirtual

HN initialize the FIRST DATA packet that will be forwarded to the AUV node. In this case the communication between HN and AUV take place without RTS and CTS packets

References burstDATA(), curr_DATA_HN_pck_tx, DATA_HN_tx(), debugMio_, mac_addr_AUV_in_trigger, max_data_HN_can_tx, max_pck_HN_can_tx, out_file_logging, pck_number_id, Q_data_HN, Q_data_source_SN, hdr_uwcbr::sn(), and txDATAEnabledHN.

Referenced by state_DATA_HN_first_tx().

Here is the call graph for this function:

◆ state_DATA_HN_tx()

void uwUFetch_NODE::state_DATA_HN_tx ( )
protectedvirtual

HN initialize the second and successive DATA packets that will be forwarded to the AUV node. In this case the communication between HN and AUV take place with RTS and CTS packets

References curr_DATA_HN_pck_tx, DATA_HN_tx(), debugMio_, getDataPckTx_by_HN(), mac_addr_AUV_in_CTS, out_file_logging, Q_data_HN, state_DATA_HN_tx_without(), txDATAEnabledHN, and typeCommunication().

Referenced by DataBeforeTxTOExpired_HN().

Here is the call graph for this function:

◆ state_DATA_HN_tx_without()

void uwUFetch_NODE::state_DATA_HN_tx_without ( )
protectedvirtual

HN initialize the second and successive DATA packets that will be forwarded to the AUV node. In this case the communication between HN and AUV take place without RTS and CTS packets

References burstDATA(), curr_DATA_HN_pck_tx, DATA_HN_tx(), debugMio_, getDataPckTx_by_HN(), mac_addr_AUV_in_trigger, out_file_logging, pck_number_id, Q_data_HN, Q_data_source_SN, hdr_uwcbr::sn(), and txDATAEnabledHN.

Referenced by state_DATA_HN_tx().

Here is the call graph for this function:

◆ state_DATA_NODE_finish_tx()

void uwUFetch_NODE::state_DATA_NODE_finish_tx ( )
protectedvirtual

◆ state_DATA_NODE_first_tx()

void uwUFetch_NODE::state_DATA_NODE_first_tx ( )
protectedvirtual

SN initialize the FIRST DATA packet that will be forwarded to a specific HN.

References curr_DATA_NODE_pck_tx, DATA_NODE_tx(), debugMio_, mac_addr_HN_in_poll, out_file_logging, Q_data, hdr_uwcbr::sn(), and txDATAEnabled.

Referenced by POLL_rx().

Here is the call graph for this function:

◆ state_DATA_NODE_tx()

void uwUFetch_NODE::state_DATA_NODE_tx ( )
protectedvirtual

SN initialize the second or successive DATA packet that will be forwarded to a specific HN.

References curr_DATA_NODE_pck_tx, DATA_NODE_tx(), debugMio_, getDataPckTx_by_NODE(), mac_addr_HN_in_poll, out_file_logging, Q_data, hdr_uwcbr::sn(), and txDATAEnabled.

Referenced by DataBeforeTxTOExpired().

Here is the call graph for this function:

◆ state_POLL_tx()

◆ state_PROBE_tx()

◆ state_RTS_tx()

◆ state_wait_CBEACON()

void uwUFetch_NODE::state_wait_CBEACON ( )
protectedvirtual

SN wait a CBEACON packet for a pre-established interval time. During this interval time SN is enabled to received a CBEACON packet from HN

References CBEACON_timer, debugMio_, mac_addr_HN_in_beacon, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxBEACONEnabled, rxCBEACONEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), and UWUFETCH_NODE_STATUS_WAIT_CBEACON_PACKET.

Referenced by CBEACON_rx(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

Here is the call graph for this function:

◆ state_wait_CTS()

void uwUFetch_NODE::state_wait_CTS ( )
protectedvirtual

HN start to wait a CTS packet for a pre-established time interval. During this interval time Hn is enabled to receive a CTS packet from AUV

References CTS_timer, debugMio_, mac_addr_AUV_in_trigger, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxCTSEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), T_CTS, and UWUFETCH_NODE_STATUS_WAIT_CTS_PACKET.

Referenced by Phy2MacEndTx_HN().

Here is the call graph for this function:

◆ state_wait_first_DATA()

void uwUFetch_NODE::state_wait_first_DATA ( )
protectedvirtual

HN start to wait the FIRST DATA packet from SN. During this interval time the HN is enabled to received DATA packets from a specifical SN.

References data_timeout, DATA_timer, debugMio_, getDataPckRx_by_HN(), getDataTimerValue(), mac_addr_NODE_polled, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxDATAEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), and UWUFETCH_NODE_STATUS_WAIT_DATA_NODE.

Referenced by Phy2MacEndTx_HN().

Here is the call graph for this function:

◆ state_wait_other_DATA()

void uwUFetch_NODE::state_wait_other_DATA ( )
protectedvirtual

HN start to wait the second or successive DATA packet from SN. During this interval time the HN is enabled to received DATA packets from a specifical SN.

References debugMio_, getDataPckRx_by_HN(), mac_addr_NODE_polled, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxCTSEnabled, rxDATAEnabled, rxPROBEEnabled, rxTRIGGEREnabled, txBEACONEnabled, txCBEACONEnabled, txDATAEnabledHN, txPOLLEnabled, txRTSEnabled, and UWUFETCH_NODE_STATUS_WAIT_DATA_NODE.

Referenced by DATA_rx().

Here is the call graph for this function:

◆ state_wait_other_PROBE()

void uwUFetch_NODE::state_wait_other_PROBE ( )
protectedvirtual

HN start to wait the second or successive PROBE packet from some SNs. During this interval time the HN is enabled to received more than one PROBE packets.

References debugMio_, getProbePckRx_HN(), out_file_logging, print_transitions, printStateInfo(), Q_probbed_mac_HN, refreshState(), and UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET.

Referenced by PROBE_rx().

Here is the call graph for this function:

◆ state_wait_POLL()

void uwUFetch_NODE::state_wait_POLL ( )
protectedvirtual

SN wait a POLL packet from a specific HN. For an interval time Sn is enabled to receive POLL packets.

References computeTxTime(), debugMio_, mac_addr_HN_in_beacon, out_file_logging, POLL_timer, print_transitions, printStateInfo(), refreshState(), rxPOLLEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), T_POLL, UWUFETCH_NODE_PACKET_TYPE_DATA, and UWUFETCH_NODE_STATUS_WAIT_POLL_PACKET.

Referenced by Phy2MacEndTx().

Here is the call graph for this function:

◆ state_wait_PROBE()

void uwUFetch_NODE::state_wait_PROBE ( )
protectedvirtual

HN start to wait the FIRST PROBE packet from some SNs. During this interval time the HN is enabled to received more than one PROBE packets.

References debugMio_, out_file_logging, print_transitions, printStateInfo(), PROBE_timer, refreshState(), rxPROBEEnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), T_PROBE, and UWUFETCH_NODE_STATUS_WAIT_PROBE_PACKET.

Referenced by Phy2MacEndTx_HN().

Here is the call graph for this function:

◆ stateIdle_HN()

void uwUFetch_NODE::stateIdle_HN ( )
protectedvirtual

Idle state for HN. Each variables are resetted

Before to enter in idle state and wait a trigger packet from the HN, or before to start the communication with sensor nodes, HN empty his data queue

Time interval that will expire before that the HN start the initialization of the BEACON packet and its transmission

Time interval that will expire before that the HN start the initialization of the BEACON packet and its transmission

References BeaconBeforeTx_timer, CTSrx, curr_DATA_NODE_pck_tx_HN, debugMio_, incrTotalDataPckRx_by_HN(), incrTotalDataPckTx_by_NODE(), last_reason, MAX_PCK_HN_WANT_RX_FROM_NODE, out_file_logging, print_transitions, printStateInfo(), Q_data, Q_data_HN, refreshState(), rxTRIGGEREnabled, uwUFetch_NODE::uwUFetch_NODE_timer::schedule(), T_START_PROCEDURE_HN_NODE, txBEACONEnabled, UWUFETCH_NODE_STATUS_CHANGE_HN_RX_TRIGGER_FROM_AUV_CORRUPTED, UWUFETCH_NODE_STATUS_CHANGE_HN_TX_ALL_DATA_TO_AUV, UWUFETCH_NODE_STATUS_CHANGE_TO_WAIT_CTS_EXPIRED, UWUFETCH_NODE_STATUS_CHANGE_TRIGGER_RX_BUT_HN_NO_DATA_TO_TX, and UWUFETCH_NODE_STATUS_IDLE.

Referenced by command(), CtsTOExpired(), DATA_rx(), DataTOExpired(), Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), ProbeTOExpired(), state_DATA_HN_finish_tx(), state_DATA_HN_finish_tx_without(), and state_RTS_tx().

Here is the call graph for this function:

◆ stateIdle_NODE()

void uwUFetch_NODE::stateIdle_NODE ( )
protectedvirtual

Idle state for SN. Each variables are resetted

References debugMio_, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxBEACONEnabled, and UWUFETCH_NODE_STATUS_IDLE.

Referenced by CBEACON_rx(), CBeaconTOExpired(), command(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

Here is the call graph for this function:

◆ TRIGGER_rx()

◆ TRIGGER_rx_without()

void uwUFetch_NODE::TRIGGER_rx_without ( )
protectedvirtual

◆ typeCommunication()

bool uwUFetch_NODE::typeCommunication ( )
protectedvirtual

Indicate if the communiation between HN and AUV take place with or without RTS and CTS packets

Returns
true Communication between HN-AUV take place without RTS and CTS

Referenced by BCKTOExpired_HN(), choiceBackOffTimer_HN(), DATA_HN_tx(), Phy2MacEndRx_HN(), state_DATA_HN_finish_tx(), state_DATA_HN_first_tx(), state_DATA_HN_tx(), and TRIGGER_rx().

◆ updateListProbbedNode()

void uwUFetch_NODE::updateListProbbedNode ( )
protectedvirtual

Update the list of the SN from which HN has received the PROBE packets. This update is executed after the transmission of POLL packet to the SN

References mac_addr_NODE_polled, Q_probbed_backoff_time, Q_probbed_mac_HN, and Q_probbed_n_pcks_NODE_want_tx_HN.

Referenced by DATA_rx(), and DataTOExpired().

◆ waitForUser()

void uwUFetch_NODE::waitForUser ( )
protectedvirtual

Method used for debug

Member Data Documentation

◆ bck_before_tx_data

double uwUFetch_NODE::bck_before_tx_data
protected

Time value chosen by the HN and used by It for transmit a DATA packet to the AUV

Referenced by TRIGGER_rx_without().

◆ bck_before_tx_probe

double uwUFetch_NODE::bck_before_tx_probe
protected

Backoff time choiced by SN before to transmit a PROBE packet to the HN

Referenced by BEACON_rx(), CBEACON_rx(), and state_PROBE_tx().

◆ bck_before_tx_RTS

double uwUFetch_NODE::bck_before_tx_RTS
protected

Time value choice by the HN and used for transmit a RTS packet to the AUV

Referenced by state_RTS_tx(), and TRIGGER_rx().

◆ BCK_timer_data

uwUFetch_BackOffTimer uwUFetch_NODE::BCK_timer_data
protected

Interval time before that the HN transmit his DATA packet to the AUV

Referenced by TRIGGER_rx_without().

◆ BCK_timer_probe

uwUFetch_BackOffTimer uwUFetch_NODE::BCK_timer_probe
protected

Interval time in which HN is enabled to receive PROBE packets from SNs

Referenced by BEACON_rx(), and CBEACON_rx().

◆ BCK_timer_rts

uwUFetch_BackOffTimer uwUFetch_NODE::BCK_timer_rts
protected

Schedule the backoff timeout timer

Referenced by TRIGGER_rx().

◆ BeaconBeforeTx_timer

uwUFetch_BEACON_timer uwUFetch_NODE::BeaconBeforeTx_timer
protected

Schedule the BEACON timeout timer

Referenced by Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), stateIdle_HN(), TRIGGER_rx(), and TRIGGER_rx_without().

◆ CBEACON_timer

uwUFetch_CBeacon_timer uwUFetch_NODE::CBEACON_timer
protected

◆ CTS_timer

uwUFetch_CTS_timer uwUFetch_NODE::CTS_timer
protected

Schedule the CTS timeout timer

Referenced by Phy2MacEndRx_HN(), and state_wait_CTS().

◆ CTSrx

bool uwUFetch_NODE::CTSrx
protected

true HN has received a CTS packet after the transmission of RTS

Referenced by BeaconTxTOExpire(), CTS_rx(), CtsTOExpired(), Phy2MacEndRx_HN(), and stateIdle_HN().

◆ curr_BEACON_HN_pck_tx

Packet* uwUFetch_NODE::curr_BEACON_HN_pck_tx
protected

Pointer to the BEACON packet that is being transmitted by HN

Referenced by BEACON_tx(), and state_BEACON_tx().

◆ curr_BEACON_NODE_pck_rx

Packet* uwUFetch_NODE::curr_BEACON_NODE_pck_rx
protected

Pointer to the BEACON packet that is being received by SN

Referenced by BEACON_rx(), and Phy2MacEndRx().

◆ curr_CBEACON_HN_pck_tx

Packet* uwUFetch_NODE::curr_CBEACON_HN_pck_tx
protected

Pointer to the CBEACON packet that is being transmitted by HN

Referenced by CBEACON_tx(), and state_CBEACON_tx().

◆ curr_CBEACON_NODE_pck_rx

Packet* uwUFetch_NODE::curr_CBEACON_NODE_pck_rx
protected

Pointer to the CBEACON packet that is being received by SN

Referenced by CBEACON_rx(), and Phy2MacEndRx().

◆ curr_CTS_HN_pck_rx

Packet* uwUFetch_NODE::curr_CTS_HN_pck_rx
protected

Pointer to the CTS packet that is being received by HN

Referenced by CTS_rx(), and Phy2MacEndRx_HN().

◆ curr_DATA_HN_pck_rx

Packet* uwUFetch_NODE::curr_DATA_HN_pck_rx
protected

Pointer to the DATA packet that is being received by HN from SN

Referenced by DATA_rx(), Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ curr_DATA_HN_pck_tx

Packet* uwUFetch_NODE::curr_DATA_HN_pck_tx
protected

Pointer to the DATA packet that is being transmitted by HN to the AUV

Referenced by DATA_HN_tx(), DATA_HN_tx_without(), state_DATA_HN_first_tx(), state_DATA_HN_first_tx_without(), state_DATA_HN_tx(), and state_DATA_HN_tx_without().

◆ curr_DATA_NODE_pck_tx

Packet* uwUFetch_NODE::curr_DATA_NODE_pck_tx
protected

Pointer to the DATA packet that is being transmitted by SN

Referenced by DATA_NODE_tx(), state_DATA_NODE_first_tx(), and state_DATA_NODE_tx().

◆ curr_DATA_NODE_pck_tx_HN

Packet* uwUFetch_NODE::curr_DATA_NODE_pck_tx_HN
protected

Pointer to the DATA packet that is being transmitted by HN

Referenced by BeaconTxTOExpire(), Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), and stateIdle_HN().

◆ curr_POLL_HN_pck_tx

Packet* uwUFetch_NODE::curr_POLL_HN_pck_tx
protected

Pointer to the POLL packet that is being transmitted by HN

Referenced by POLL_tx(), and state_POLL_tx().

◆ curr_POLL_NODE_pck_rx

Packet* uwUFetch_NODE::curr_POLL_NODE_pck_rx
protected

Pointer to the POLL packet that is being received by SN

Referenced by Phy2MacEndRx(), and POLL_rx().

◆ curr_PROBE_HN_pck_rx

Packet* uwUFetch_NODE::curr_PROBE_HN_pck_rx
protected

Pointer to the PROBE packet that is being received by HN

Referenced by Phy2MacEndRx_HN(), and PROBE_rx().

◆ curr_PROBE_NODE_pck_tx

Packet* uwUFetch_NODE::curr_PROBE_NODE_pck_tx
protected

Pointer to the PROBE packet that is being transmitted by SN

Referenced by PROBE_tx(), and state_PROBE_tx().

◆ curr_RTS_HN_pck_tx

Packet* uwUFetch_NODE::curr_RTS_HN_pck_tx
protected

Pointer to the RTS packet that is being transmitted by HN

Referenced by RTS_tx(), and state_RTS_tx().

◆ curr_state

UWUFETCH_NODE_STATUS uwUFetch_NODE::curr_state
protected

Current state in which the SN or HN is located

Referenced by printStateInfo(), and refreshState().

◆ curr_TRIGGER_HN_pck_rx

Packet* uwUFetch_NODE::curr_TRIGGER_HN_pck_rx
protected

Pointer to the TRIGGER packet that is being received by HN

Referenced by Phy2MacEndRx_HN(), Phy2MacEndRx_HN_without(), TRIGGER_rx(), and TRIGGER_rx_without().

◆ DATA_BEFORE_TX_timer

uwUFetch_DATA_BEFORE_TX_timer uwUFetch_NODE::DATA_BEFORE_TX_timer
protected

Referenced by Phy2MacEndTx(), and Phy2MacEndTx_HN().

◆ data_timeout

double uwUFetch_NODE::data_timeout
protected

Interval time in which the HN want to receive all DATA packets from the node that have polled

Referenced by state_wait_first_DATA().

◆ DATA_timer

uwUFetch_DATA_timer uwUFetch_NODE::DATA_timer
protected

Schedule the DATA timeout timer

Referenced by DATA_rx(), and state_wait_first_DATA().

◆ dataAlreadyTransmitted

bool uwUFetch_NODE::dataAlreadyTransmitted
protected

Indicate whether the SN has transmit at least one DATA packets during the cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), Phy2MacEndRx(), Phy2MacEndTx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ debugMio_

◆ fout

std::ofstream uwUFetch_NODE::fout
protected

Variable that handle the file in which the protocol write the state transition for debug purposes

Referenced by command(), and printStateInfo().

◆ HEADNODE

int uwUFetch_NODE::HEADNODE
protected

Indicate if the node work as HEAD NODE or SENSOR NODE

Referenced by command(), and isHeadNode().

◆ initialized

bool uwUFetch_NODE::initialized = false
staticprotected

Indicate if the protocol has been initialized or not

Referenced by command(), and initInfo().

◆ last_reason

UWUFETCH_NODE_STATUS_CHANGE uwUFetch_NODE::last_reason
protected

Last reason because the SN or HN change its state

Referenced by printStateInfo(), refreshReason(), and stateIdle_HN().

◆ mac_addr_AUV_in_CTS

int uwUFetch_NODE::mac_addr_AUV_in_CTS
protected

AUV-MAC address contained int the CTS packet received by HN

Referenced by CTS_rx(), DATA_HN_tx(), Mac2PhyStartTx_HN(), Phy2MacEndTx_HN(), state_DATA_HN_finish_tx(), state_DATA_HN_first_tx(), and state_DATA_HN_tx().

◆ mac_addr_AUV_in_trigger

◆ mac_addr_HN_in_beacon

int uwUFetch_NODE::mac_addr_HN_in_beacon
protected

◆ mac_addr_HN_in_cbeacon

int uwUFetch_NODE::mac_addr_HN_in_cbeacon
protected

HN MAC address from which the SN has received the CBEACON packet

Referenced by CBEACON_rx(), and Phy2MacEndRx().

◆ mac_addr_HN_in_poll

int uwUFetch_NODE::mac_addr_HN_in_poll
protected

HN MAC address from which the SN has received the POLL packet

Referenced by DATA_NODE_tx(), Phy2MacEndTx(), POLL_rx(), state_DATA_NODE_finish_tx(), state_DATA_NODE_first_tx(), and state_DATA_NODE_tx().

◆ mac_addr_NODE_in_data

int uwUFetch_NODE::mac_addr_NODE_in_data
protected

Mac address of the node from which the HN has received a DATA packet

Referenced by DATA_rx().

◆ mac_addr_NODE_polled

int uwUFetch_NODE::mac_addr_NODE_polled
protected

SN-MAC address of the node that the HN is going to be poll and from which It want to receive DATA packets

Referenced by computeTxTime_HN(), DataTOExpired(), Mac2PhyStartTx_HN(), Phy2MacEndTx_HN(), POLL_tx(), state_POLL_tx(), state_wait_first_DATA(), state_wait_other_DATA(), and updateListProbbedNode().

◆ MAX_ALLOWED_CBEACON_TX

int uwUFetch_NODE::MAX_ALLOWED_CBEACON_TX
protected

◆ max_data_HN_can_tx

int uwUFetch_NODE::max_data_HN_can_tx
protected

Maximum number of DATA packets that the HN must transmit to the AUV

Referenced by CTS_rx(), Phy2MacEndTx_HN(), state_DATA_HN_first_tx(), and state_DATA_HN_first_tx_without().

◆ MAX_PAYLOAD

int uwUFetch_NODE::MAX_PAYLOAD
protected

Maximum size of payload DATA packet

Referenced by computeTxTime(), computeTxTime_HN(), and uwUFetch_NODE().

◆ max_pck_HN_can_tx

int uwUFetch_NODE::max_pck_HN_can_tx
protected

Maximum number of DATA packets that AUV want to receive from HN

Referenced by state_DATA_HN_first_tx_without(), TRIGGER_rx(), and TRIGGER_rx_without().

◆ MAX_PCK_HN_WANT_RX_FROM_NODE

int uwUFetch_NODE::MAX_PCK_HN_WANT_RX_FROM_NODE
protected

◆ MAX_POLLED_NODE

int uwUFetch_NODE::MAX_POLLED_NODE
protected

Maximum number of PROBE packets that the HN can receive from the SN after the transmission of a BEACON or CBEACON

Referenced by PROBE_rx(), and uwUFetch_NODE().

◆ MAXIMUM_BUFFER_DATA_PCK_NODE

int uwUFetch_NODE::MAXIMUM_BUFFER_DATA_PCK_NODE
protected

Maximum number of DATA packets that the SN can store in Its queue

Referenced by recvFromUpperLayers(), recvFromUpperLayers_HN(), and uwUFetch_NODE().

◆ MODE_BURST_DATA

int uwUFetch_NODE::MODE_BURST_DATA
protected

Indicate if it's used or not the burst data. 0=not use burst date, 1=use burst data.

Referenced by burstDATA(), and uwUFetch_NODE().

◆ MODE_COMM_HN_AUV

int uwUFetch_NODE::MODE_COMM_HN_AUV
protected

Indicate the type of communication between HN and AUV, 0 = communication with RTS-CTS, 1 = communication without RTS-CTS

Referenced by uwUFetch_NODE().

◆ n_BEACON_pck_rx_by_NODE

int uwUFetch_NODE::n_BEACON_pck_rx_by_NODE
protected

Number of BEACON receive by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), getBeaconPckRx_by_NODE(), incrBeaconPckRx_by_NODE(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ n_BEACON_pck_tx_by_HN

int uwUFetch_NODE::n_BEACON_pck_tx_by_HN
protected

Number of BEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by DATA_rx(), DataTOExpired(), getBeaconTx_by_HN(), incrBeaconPckTx_by_HN(), and ProbeTOExpired().

◆ n_CBEACON_pck_rx_by_NODE

int uwUFetch_NODE::n_CBEACON_pck_rx_by_NODE
protected

Number of CBEACON received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), getCBeaconPckRx_by_NODE(), incrCBeaconPckRx_by_NODE(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ n_CBEACON_pck_tx_by_HN

int uwUFetch_NODE::n_CBEACON_pck_tx_by_HN
protected

Number of CBEACON packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by DATA_rx(), DataTOExpired(), getCBeaconPckTx_by_HN(), incrCBeaconPckTx_by_HN(), and ProbeTOExpired().

◆ n_CTS_pck_rx_by_HN

int uwUFetch_NODE::n_CTS_pck_rx_by_HN
protected

Number of CTS packet received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Referenced by CtsTOExpired(), getCtsPckRx_HN(), incrCtsPckRx_HN(), Phy2MacEndRx_HN(), and state_RTS_tx().

◆ n_DATA_pck_rx_by_HN

int uwUFetch_NODE::n_DATA_pck_rx_by_HN
protected

Number of DATA packet received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by DATA_rx(), DataTOExpired(), getDataPckRx_by_HN(), incrDataPckRx_by_HN(), and ProbeTOExpired().

◆ n_DATA_pck_tx_by_HN

int uwUFetch_NODE::n_DATA_pck_tx_by_HN
protected

Number of DATA packet transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Referenced by getDataPckTx_by_HN(), incrDataPckTx_by_HN(), Phy2MacEndRx_HN(), state_DATA_HN_finish_tx(), state_DATA_HN_finish_tx_without(), and state_RTS_tx().

◆ n_DATA_pck_tx_by_NODE

int uwUFetch_NODE::n_DATA_pck_tx_by_NODE
protected

Number of DATA transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), getDataPckTx_by_NODE(), incrDataPckTx_by_NODE(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ n_POLL_pck_rx_by_NODE

int uwUFetch_NODE::n_POLL_pck_rx_by_NODE
protected

Number of POLL received by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), getPollPckRx_by_NODE(), incrPollPckRx_by_NODE(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ n_POLL_pck_tx_by_HN

int uwUFetch_NODE::n_POLL_pck_tx_by_HN
protected

Number of POLL packet transmitted by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by DATA_rx(), DataTOExpired(), getPollPckTx_by_HN(), incrPollPckTx_by_HN(), and ProbeTOExpired().

◆ n_PROBE_pck_rx_by_HN

int uwUFetch_NODE::n_PROBE_pck_rx_by_HN
protected

Number of PROBE packet received by the HN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by DATA_rx(), DataTOExpired(), getProbePckRx_HN(), incrProbePckRx_HN(), and ProbeTOExpired().

◆ n_PROBE_pck_tx_by_NODE

int uwUFetch_NODE::n_PROBE_pck_tx_by_NODE
protected

Number of PROBE transmitted by the SN during a single cycle BEACON-PROBE-POLL-DATA-CBEACON of the simulation

Referenced by CBEACON_rx(), CBeaconTOExpired(), getProbePckTx_by_NODE(), incrProbePckTx_by_NODE(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ n_RTS_pck_tx_by_HN

int uwUFetch_NODE::n_RTS_pck_tx_by_HN
protected

Number of RTS packet transmitted by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Referenced by CtsTOExpired(), getRtsPckTx_by_HN(), incrRtsPckTx_by_HN(), Phy2MacEndRx_HN(), and state_RTS_tx().

◆ N_RUN

int uwUFetch_NODE::N_RUN
protected

Indicate the number of the run in execution

Referenced by command(), and uwUFetch_NODE().

◆ n_tot_BEACON_pck_rx_by_NODE

int uwUFetch_NODE::n_tot_BEACON_pck_rx_by_NODE
protected

Total number of BEACON packets received correctly or not by SN during an entire duration of simulation

Referenced by getTotalBeaconPckRx_by_NODE(), and incrTotalBeaconPckRx_by_NODE().

◆ n_tot_BEACON_pck_rx_corr_by_NODE

int uwUFetch_NODE::n_tot_BEACON_pck_rx_corr_by_NODE
protected

Total number of BEACON packets received corrupted by SN during an entire duration of simulation

Referenced by getTotalBeaconPckRx_corrupted_by_NODE(), and incrTotalBeaconPckRx_corrupted_by_NODE().

◆ n_tot_BEACON_pck_tx_by_HN

int uwUFetch_NODE::n_tot_BEACON_pck_tx_by_HN
protected

Total number of BEACON packets transmitted by the HN during an entire simulation

Referenced by getTotalBeaconTx_by_HN(), and incrTotalBeaconPckTx_by_HN().

◆ n_tot_CBEACON_pck_rx_by_NODE

int uwUFetch_NODE::n_tot_CBEACON_pck_rx_by_NODE
protected

Total number of CBEACON packets received correctly or not by SN during an entire duration of simulation

Referenced by getTotalCBeaconPckRx_by_NODE(), and incrTotalCBeaconPckRx_by_NODE().

◆ n_tot_CBEACON_pck_rx_corr_by_NODE

int uwUFetch_NODE::n_tot_CBEACON_pck_rx_corr_by_NODE
protected

Total number of CBEACON packets received corrupted by the SN during an entire duration of simulation

Referenced by getTotalCBeaconPckRx_corrupted_by_NODE(), and incrTotalCBeaconPckRx_corrupted_by_NODE().

◆ n_tot_CBEACON_pck_tx_by_HN

int uwUFetch_NODE::n_tot_CBEACON_pck_tx_by_HN
protected

Total number of CBEACON packets transmitted by the HN during an entire simulation

Referenced by getTotalCBeaconPckTx_by_HN(), and incrTotalCBeaconPckTx_by_HN().

◆ n_tot_CTS_pck_rx_by_HN

int uwUFetch_NODE::n_tot_CTS_pck_rx_by_HN
protected

Total number of CTS packets correctly or not received by the HN during an entire simulation

Referenced by getTotalCtsPckRx_HN(), and incrTotalCtsPckRx_HN().

◆ n_tot_CTS_pck_rx_corr_by_HN

int uwUFetch_NODE::n_tot_CTS_pck_rx_corr_by_HN
protected

Total number of corrupted CTS packets received by the HN during an entire simulation

Referenced by getTotalCtsPckRx_corrupted_HN(), and incrTotalCtsPckRx_corrupted_HN().

◆ n_tot_DATA_pck_rx_by_HN

int uwUFetch_NODE::n_tot_DATA_pck_rx_by_HN
protected

Total number of DATA packets correctly or not received by the HN during an entire simulation

Referenced by getTotalDataPckRx_by_HN(), and incrTotalDataPckRx_by_HN().

◆ n_tot_DATA_pck_rx_corr_by_HN

int uwUFetch_NODE::n_tot_DATA_pck_rx_corr_by_HN
protected

Total number of corrupted DATA packets received by the HN during an entire simulation

Referenced by getTotalDataPckRx_corrupted_by_HN(), and incrTotalDataPckRx_corrupted_by_HN().

◆ n_tot_DATA_pck_tx_by_HN

int uwUFetch_NODE::n_tot_DATA_pck_tx_by_HN
protected

Total number of DATA packets transmitted by the HN during an entire simulation

Referenced by getTotalDataPckTx_by_HN(), and incrTotalDataPckTx_by_HN().

◆ n_tot_DATA_pck_tx_by_NODE

int uwUFetch_NODE::n_tot_DATA_pck_tx_by_NODE
protected

Total number of DATA packets transmitted by the SN during an entire duration of simulation

Referenced by getTotalDataPckTx_by_NODE(), and incrTotalDataPckTx_by_NODE().

◆ n_tot_POLL_pck_rx_by_NODE

int uwUFetch_NODE::n_tot_POLL_pck_rx_by_NODE
protected

Total number of POLL packets received correctly or not by SN during an entire duration of simulation

Referenced by getTotalPollPckRx_by_NODE(), and incrTotalPollPckRx_by_NODE().

◆ n_tot_POLL_pck_rx_corr_by_NODE

int uwUFetch_NODE::n_tot_POLL_pck_rx_corr_by_NODE
protected

Total number of POLL packets received corrupted by SN during an entire duration of simulation

Referenced by getTotalPollPckRx_corrupted_by_NODE(), and incrTotalPollPckRx_corrupted_by_NODE().

◆ n_tot_POLL_pck_tx_by_HN

int uwUFetch_NODE::n_tot_POLL_pck_tx_by_HN
protected

Total number of POLL packets transmitted by the HN during an entire simulation

Referenced by getTotalPollPckTx_by_HN(), and incrTotalPollPckTx_by_HN().

◆ n_tot_PROBE_pck_corr_rx_by_HN

int uwUFetch_NODE::n_tot_PROBE_pck_corr_rx_by_HN
protected

Total number of corrupted PROBE packets received by the HN during an entire simulation

Referenced by getTotalProbePckRx_corrupted_HN(), and incrTotalProbePckRx_corrupted_HN().

◆ n_tot_PROBE_pck_rx_by_HN

int uwUFetch_NODE::n_tot_PROBE_pck_rx_by_HN
protected

Total number of PROBE packets correctly or not received by the HN during an entire simulation

Referenced by getTotalProbePckRx_HN(), and incrTotalProbePckRx_HN().

◆ n_tot_PROBE_pck_tx_by_NODE

int uwUFetch_NODE::n_tot_PROBE_pck_tx_by_NODE
protected

Total number of PROBE packets transmitted by SN during an entire duration of simulation

Referenced by getTotalProbePckTx_by_NODE(), and incrTotalProbePckTx_by_NODE().

◆ n_tot_RTS_pck_tx_by_HN

int uwUFetch_NODE::n_tot_RTS_pck_tx_by_HN
protected

Total number of RTS packets transmitted by the HN during an entire simulation

Referenced by getTotalRtsPckTx_by_HN(), and incrTotalRtsPckTx_by_HN().

◆ n_tot_TRIGGER_pck_rx_by_HN

int uwUFetch_NODE::n_tot_TRIGGER_pck_rx_by_HN
protected

Total number of TRIGGER packets correctly or not received by the HN during an entire simulation

Referenced by getTotalTriggerPckRx_HN(), and incrTotalTriggerPckRx_HN().

◆ n_tot_TRIGGER_pck_rx_corr_by_HN

int uwUFetch_NODE::n_tot_TRIGGER_pck_rx_corr_by_HN
protected

Total number of corrupted TRIGGER packets received by the HN during an entire simulation

Referenced by getTotalTriggerPckRx_corrupted_HN(), and incrTotalTriggerPckRx_corrupted_HN().

◆ n_TRIGGER_pck_rx_by_HN

int uwUFetch_NODE::n_TRIGGER_pck_rx_by_HN
protected

Number of TRIGGER packet received by the HN during a single cycle TRIGGER-RTS-CTS-DATA of the simulation

Referenced by CtsTOExpired(), getTriggerPckRx_HN(), incrTriggerPckRx_HN(), Phy2MacEndRx_HN(), state_DATA_HN_finish_tx(), state_DATA_HN_finish_tx_without(), and state_RTS_tx().

◆ num_cbeacon_at_now_HN_tx

int uwUFetch_NODE::num_cbeacon_at_now_HN_tx
protected

NUmber of CBEACON packets transmitted by the HN during the single cycle BEACON-PROBE-POLL-DATA-CBEACON

Referenced by CBEACON_rx().

◆ num_cbeacon_node_rx

int uwUFetch_NODE::num_cbeacon_node_rx
protected

Number of CBEACON that the node have received from the specific HN before to receive an another BEACON packet

Referenced by BEACON_rx(), CBEACON_rx(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), and state_PROBE_tx().

◆ num_pck_to_tx_by_NODE

int uwUFetch_NODE::num_pck_to_tx_by_NODE
protected

Number of DATA packets that the SN at the instant time of BEACON reception has available to transmit to the HN

Referenced by Phy2MacEndRx(), Phy2MacEndTx(), and POLL_rx().

◆ number_data_pck_HN_rx_exact

int uwUFetch_NODE::number_data_pck_HN_rx_exact
protected

Exact number of DATA packets that the HN want to receive from the SN that have polled

Referenced by DATA_rx(), getDataTimerValue(), and state_POLL_tx().

◆ out_file_logging

◆ packetType

std::map< uwUFetch_NODE::UWUFETCH_NODE_PACKET_TYPE, std::string > uwUFetch_NODE::packetType
staticprotected

Map the UWUFETCH_NODE_PACKET_TYPE to the description of packet type

Referenced by initInfo().

◆ pck_number_id

int uwUFetch_NODE::pck_number_id
protected

Unique identifier of the DATA packet received

Referenced by state_DATA_HN_first_tx_without(), and state_DATA_HN_tx_without().

◆ POLL_timer

uwUFetch_POLL_timer uwUFetch_NODE::POLL_timer
protected

Interval time in which SN is enabled to receive POLL packet from the specific HN

Referenced by CBEACON_rx(), Phy2MacEndRx(), and state_wait_POLL().

◆ prev_state

UWUFETCH_NODE_STATUS uwUFetch_NODE::prev_state
protected

Previous state in which the SN or HN it was located

Referenced by printStateInfo(), and refreshState().

◆ print_transitions

◆ PRINT_TRANSITIONS_INT

int uwUFetch_NODE::PRINT_TRANSITIONS_INT
protected

0 reason because the SN or HN is passed from a state to another state is not logged in a file

Referenced by uwUFetch_NODE().

◆ PROBE_timer

uwUFetch_PROBE_timer uwUFetch_NODE::PROBE_timer
protected

Schedule the PROBE timeout timer

Referenced by PROBE_rx(), and state_wait_PROBE().

◆ Q_data

std::queue<Packet *> uwUFetch_NODE::Q_data
protected

◆ Q_data_HN

std::queue<Packet *> uwUFetch_NODE::Q_data_HN
protected

◆ Q_data_source_SN

std::queue<int> uwUFetch_NODE::Q_data_source_SN
protected

Queue that contain the MAC address from which the HN has received the DATA packet

Referenced by state_DATA_HN_first_tx_without(), and state_DATA_HN_tx_without().

◆ Q_probbed_backoff_time

std::queue<double> uwUFetch_NODE::Q_probbed_backoff_time
protected

Queue that stored the backoff time choice by the single nodes before to transmit the PROBE packet to the HN

Referenced by PROBE_rx(), state_BEACON_tx(), state_CBEACON_tx(), and updateListProbbedNode().

◆ Q_probbed_mac_HN

std::queue<int> uwUFetch_NODE::Q_probbed_mac_HN
protected

Queue that store the MAC address of the SN from which the HN has received correctly the PROBE packets

Referenced by DATA_rx(), DataTOExpired(), PROBE_rx(), ProbeTOExpired(), state_BEACON_tx(), state_CBEACON_tx(), state_POLL_tx(), state_wait_other_PROBE(), and updateListProbbedNode().

◆ Q_probbed_n_pcks_NODE_want_tx_HN

std::queue<int> uwUFetch_NODE::Q_probbed_n_pcks_NODE_want_tx_HN
protected

Queue that store the number of DATA packets that the single SN want to tx to the HN.

Referenced by getDataTimerValue(), PROBE_rx(), state_BEACON_tx(), state_CBEACON_tx(), state_POLL_tx(), and updateListProbbedNode().

◆ RTT

double uwUFetch_NODE::RTT
protected

Round trip time value

Referenced by getDataTimerValue(), and getRTT().

◆ rx_BEACON_finish_time

double uwUFetch_NODE::rx_BEACON_finish_time
protected

Indicates when SN finished the reception of BEACON packet from HN

Referenced by Phy2MacEndRx().

◆ rx_BEACON_start_time

double uwUFetch_NODE::rx_BEACON_start_time
protected

Indicates when SN started the reception of BEACON packet from HN

Referenced by Phy2MacStartRx().

◆ rx_CBEACON_finish_time

double uwUFetch_NODE::rx_CBEACON_finish_time
protected

Indicates when SN finished the reception of BEACON packet from HN

◆ rx_CBEACON_start_time

double uwUFetch_NODE::rx_CBEACON_start_time
protected

Indicates when SN started the reception of CBEACON packet from HN

Referenced by Phy2MacStartRx().

◆ rx_CTS_finish_HN_time

double uwUFetch_NODE::rx_CTS_finish_HN_time
protected

Indicates when HN finished the reception of CTS packet from the SNs

Referenced by Phy2MacEndRx_HN().

◆ rx_CTS_start_HN_time

double uwUFetch_NODE::rx_CTS_start_HN_time
protected

Indicates when HN started the reception of CTS packet from the AUV

Referenced by Phy2MacStartRx_HN().

◆ rx_DATA_finish_HN_time

double uwUFetch_NODE::rx_DATA_finish_HN_time
protected

Indicates when HN finished the reception of DATA packet from the SNs

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ rx_DATA_start_HN_time

double uwUFetch_NODE::rx_DATA_start_HN_time
protected

Indicates when HN started the reception of DATA packet from the SNs

Referenced by Phy2MacStartRx_HN().

◆ rx_POLL_finish_time

double uwUFetch_NODE::rx_POLL_finish_time
protected

Indicates when SN finished the reception of POLL packet from HN

Referenced by Phy2MacEndRx().

◆ rx_POLL_start_time

double uwUFetch_NODE::rx_POLL_start_time
protected

Indicates when SN started the reception of POLL packet from HN

Referenced by Phy2MacStartRx().

◆ rx_PROBE_finish_HN_time

double uwUFetch_NODE::rx_PROBE_finish_HN_time
protected

Indicates when HN finished the reception of PROBE packet from the SNs

Referenced by getRTT(), and Phy2MacEndRx_HN().

◆ rx_PROBE_start_HN_time

double uwUFetch_NODE::rx_PROBE_start_HN_time
protected

Indicates when HN started the reception of PROBE packet from the SNs

Referenced by Phy2MacStartRx_HN().

◆ rx_TRIGGER_finish_HN_time

double uwUFetch_NODE::rx_TRIGGER_finish_HN_time
protected

Indicates when HN finished the reception of TRIGGER packet from the AUV

Referenced by Phy2MacEndRx_HN(), and Phy2MacEndRx_HN_without().

◆ rx_TRIGGER_start_HN_time

double uwUFetch_NODE::rx_TRIGGER_start_HN_time
protected

Indicates when HN started the reception of TRIGGER packet from the AUV

Referenced by Phy2MacStartRx_HN().

◆ rxBEACONEnabled

bool uwUFetch_NODE::rxBEACONEnabled
protected

◆ rxCBEACONEnabled

bool uwUFetch_NODE::rxCBEACONEnabled
protected

true if SN is enabled to receive a CBEACON packet from the HN

Referenced by CBEACON_rx(), CBeaconTOExpired(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), state_PROBE_tx(), and state_wait_CBEACON().

◆ rxCTSEnabled

bool uwUFetch_NODE::rxCTSEnabled
protected

true if HN is enabled to receive a CTS packet from the AUV

Referenced by CTS_rx(), CtsTOExpired(), DataTOExpired(), Phy2MacEndRx_HN(), state_wait_CTS(), and state_wait_other_DATA().

◆ rxDATAEnabled

bool uwUFetch_NODE::rxDATAEnabled
protected

true if HN is enabled to receive a DATA packet from teh SN

Referenced by CtsTOExpired(), DATA_rx(), DataTOExpired(), state_wait_first_DATA(), and state_wait_other_DATA().

◆ rxPOLLEnabled

bool uwUFetch_NODE::rxPOLLEnabled
protected

true if SN is enabled to receive a POLL packet from the HN

Referenced by CBEACON_rx(), CBeaconTOExpired(), Phy2MacEndRx(), POLL_rx(), PollTOExpired(), and state_wait_POLL().

◆ rxPROBEEnabled

bool uwUFetch_NODE::rxPROBEEnabled
protected

true if HN is enabled to receive a PROBE packet from the SN

Referenced by CtsTOExpired(), DataTOExpired(), Phy2MacEndRx_HN(), PROBE_rx(), ProbeTOExpired(), state_wait_other_DATA(), and state_wait_PROBE().

◆ rxTRIGGEREnabled

◆ sectionCBeacon

bool uwUFetch_NODE::sectionCBeacon
protected

true HN has started the transmission of RTS packet when It was in the CBEACON section.

Referenced by state_DATA_HN_finish_tx(), and state_DATA_HN_finish_tx_without().

◆ statusChange

std::map< uwUFetch_NODE::UWUFETCH_NODE_STATUS_CHANGE, std::string > uwUFetch_NODE::statusChange
staticprotected

Map the UWUFETCH_NODE_STATUS_CHANGE to the description the reason of changing state

Referenced by initInfo(), and printStateInfo().

◆ statusInfo

std::map< uwUFetch_NODE::UWUFETCH_NODE_STATUS, std::string > uwUFetch_NODE::statusInfo
staticprotected

Map the UWUFETCH_NODE_STATUS to the description of each state

Referenced by initInfo(), and printStateInfo().

◆ statusTimer

std::map< uwUFetch_NODE::UWUFETCH_TIMER_STATUS, std::string > uwUFetch_NODE::statusTimer
staticprotected

Map the UWUFETCH_TIMER_STATUS to the description of the timers

Referenced by initInfo().

◆ T_CTS

double uwUFetch_NODE::T_CTS
protected

◆ T_GUARD

double uwUFetch_NODE::T_GUARD
protected

Guard interval used for successive transmission of DATA packets

Referenced by getDataTimerValue(), Phy2MacEndRx(), and uwUFetch_NODE().

◆ T_MAX_BACKOFF_PROBE

double uwUFetch_NODE::T_MAX_BACKOFF_PROBE
protected

Upper bound timer interval of back-off value used by the SN to choice its back-off time before to transmit a PROBE packet

Referenced by state_BEACON_tx(), state_CBEACON_tx(), and uwUFetch_NODE().

◆ T_max_bck_DATA

double uwUFetch_NODE::T_max_bck_DATA
protected

Upper bound time interval from which the HN choice its backoff timer before to transmit a DATA packet to the AUV

Referenced by choiceBackOffTimer_HN(), and TRIGGER_rx_without().

◆ T_max_bck_probe_node

double uwUFetch_NODE::T_max_bck_probe_node
protected

Upper bound timer interval used by the SN to choice the interval time before to transmit a PROBE packet to the HN

Referenced by BEACON_rx(), CBEACON_rx(), and choiceBackOffTimer().

◆ T_max_bck_RTS

double uwUFetch_NODE::T_max_bck_RTS
protected

Upper bound interval time from which the HN choice his backoff timer before to transmit a RTS packet to the AUV

Referenced by choiceBackOffTimer_HN(), and TRIGGER_rx().

◆ T_MIN_BACKOFF_PROBE

double uwUFetch_NODE::T_MIN_BACKOFF_PROBE
protected

Lower bound timer interval of back-off value used by the SN to choice its back-off time before to transmit a PROBE packet

Referenced by state_BEACON_tx(), state_CBEACON_tx(), and uwUFetch_NODE().

◆ T_min_bck_DATA

double uwUFetch_NODE::T_min_bck_DATA
protected

Lower bound time interval from which the HN choice its backoff timer before to transmit a DATA packet to the AUV

Referenced by choiceBackOffTimer_HN(), and TRIGGER_rx_without().

◆ T_min_bck_probe_node

double uwUFetch_NODE::T_min_bck_probe_node
protected

Lower bound timer interval used by the SN to choice the interval time before to transmit a PROBE packet to the HN

Referenced by BEACON_rx(), CBEACON_rx(), and choiceBackOffTimer().

◆ T_min_bck_RTS

double uwUFetch_NODE::T_min_bck_RTS
protected

Lower bound interval time from which the HN choice its backoff timer before to transmit a RTS packet to the AUV

Referenced by choiceBackOffTimer_HN(), and TRIGGER_rx().

◆ T_POLL

double uwUFetch_NODE::T_POLL
protected

Interval time in which the SN wait a POLL packet from the HN

Referenced by Phy2MacEndRx(), state_wait_POLL(), and uwUFetch_NODE().

◆ T_PROBE

double uwUFetch_NODE::T_PROBE
protected

Interval time in which HN is enabled to received PROBE packets from SNs after the transmission of TRIGGER packet

Referenced by state_wait_PROBE(), and uwUFetch_NODE().

◆ T_START_PROCEDURE_HN_NODE

double uwUFetch_NODE::T_START_PROCEDURE_HN_NODE
protected

Time within HN is enabled to received a TRIGGER packet from AUV. If in this time the AUV never receive a TRIGGER packet start the communication with the SN

Referenced by stateIdle_HN(), and uwUFetch_NODE().

◆ Tbeacon

double uwUFetch_NODE::Tbeacon
protected

Time needed to transmit a BEACON packet. It consider also a propagation delay.

◆ Tdata_HN

double uwUFetch_NODE::Tdata_HN
protected

Time needed to transmit a DATA packet. It consider also a propagation delay.

Referenced by computeTxTime_HN(), and getDataTimerValue().

◆ Tdata_HN_pck

double uwUFetch_NODE::Tdata_HN_pck
protected

Time to transmit a DATA packet by the HN

Referenced by Mac2PhyStartTx_HN(), and Phy2MacEndTx_HN().

◆ Tdata_NODE

double uwUFetch_NODE::Tdata_NODE
protected

Time duration needed for SN to transmit a DATA packet to the HN. It include the time delay propagation.

Referenced by computeTxTime().

◆ Tdata_NODE_pck

double uwUFetch_NODE::Tdata_NODE_pck
protected

Time duration need for SN for transmit a DATA packet to the HN

Referenced by Mac2PhyStartTx(), and Phy2MacEndTx().

◆ TIME_BETWEEN_2_TX_DATA_HN_AUV

double uwUFetch_NODE::TIME_BETWEEN_2_TX_DATA_HN_AUV
protected

Interval time used by HN before to transmit the next DATA packet to the AUV

Referenced by Mac2PhyStartTx_HN(), and uwUFetch_NODE().

◆ TIME_BETWEEN_2_TX_DATA_NODE_HN

double uwUFetch_NODE::TIME_BETWEEN_2_TX_DATA_NODE_HN
protected

Interval time used by the SN before to transmit the next DATA packet to the HN

Referenced by Mac2PhyStartTx(), and uwUFetch_NODE().

◆ Tpoll

double uwUFetch_NODE::Tpoll
protected

Time needed to transmit a POLL packet. It consider also a propagation delay.

Referenced by computeTxTime_HN().

◆ Tprobe

double uwUFetch_NODE::Tprobe
protected

Time duration needed for SN to transmit a PROBE packet to the HN. It include the time delay propagation.

Referenced by computeTxTime().

◆ Trts

double uwUFetch_NODE::Trts
protected

Time needed to transmit a RTS packet. It consider also a propagation delay.

◆ tx_BEACON_finish_HN_time

double uwUFetch_NODE::tx_BEACON_finish_HN_time
protected

Indicates when HN finished the transmission of BEACON packet to the SNs

Referenced by Phy2MacEndTx_HN().

◆ tx_BEACON_start_HN_time

double uwUFetch_NODE::tx_BEACON_start_HN_time
protected

Indicates when HN started the transmission of BEACON packet to the SNs

Referenced by getRTT(), and Mac2PhyStartTx_HN().

◆ tx_CBEACON_finish_HN_time

double uwUFetch_NODE::tx_CBEACON_finish_HN_time
protected

Indicates when HN finished the transmission of CBEACON packet to the SNs

Referenced by Phy2MacEndTx_HN().

◆ tx_CBEACON_start_HN_time

double uwUFetch_NODE::tx_CBEACON_start_HN_time
protected

Indicates when HN started the transmission of CBEACON packet to the SNs

Referenced by getRTT(), and Mac2PhyStartTx_HN().

◆ tx_DATA_finish_HN_time

double uwUFetch_NODE::tx_DATA_finish_HN_time
protected

Indicates when HN finished the transmission of DATA packet to the AUV

Referenced by Phy2MacEndTx_HN().

◆ tx_DATA_finish_time

double uwUFetch_NODE::tx_DATA_finish_time
protected

Indicates when SN finished a transmission of DATA packet to the HN

Referenced by Phy2MacEndTx().

◆ tx_DATA_start_HN_time

double uwUFetch_NODE::tx_DATA_start_HN_time
protected

Indicates when HN started the transmission of DATA packet to the AUV

Referenced by Mac2PhyStartTx_HN().

◆ tx_DATA_start_time

double uwUFetch_NODE::tx_DATA_start_time
protected

Indicates when SN start a transmission of DATA packet to the HN

Referenced by Mac2PhyStartTx().

◆ tx_POLL_finish_HN_time

double uwUFetch_NODE::tx_POLL_finish_HN_time
protected

Indicates when HN finished the transmission of POLL packet to a specific SN

Referenced by Phy2MacEndTx_HN().

◆ tx_POLL_start_HN_time

double uwUFetch_NODE::tx_POLL_start_HN_time
protected

Indicates when HN started the transmission of POLL packet to a specific SN

Referenced by Mac2PhyStartTx_HN().

◆ tx_PROBE_finish_time

double uwUFetch_NODE::tx_PROBE_finish_time
protected

Indicates when SN finished a transmission of PROBE packet

Referenced by Phy2MacEndTx().

◆ tx_PROBE_start_time

double uwUFetch_NODE::tx_PROBE_start_time
protected

Indicates when SN start a transmission of PROBE packet

Referenced by Mac2PhyStartTx().

◆ tx_RTS_finish_HN_time

double uwUFetch_NODE::tx_RTS_finish_HN_time
protected

Indicates when HN finished the transmission of RTS packet to the AUV

Referenced by Phy2MacEndTx_HN().

◆ tx_RTS_start_HN_time

double uwUFetch_NODE::tx_RTS_start_HN_time
protected

Indicates when HN started the transmission of RTS packet to the AUV

Referenced by Mac2PhyStartTx_HN().

◆ txBEACONEnabled

◆ txCBEACONEnabled

bool uwUFetch_NODE::txCBEACONEnabled
protected

true if HN is enabled to transmit a CBEACON packet to the SN

Referenced by CtsTOExpired(), DATA_rx(), DataTOExpired(), Phy2MacEndTx_HN(), ProbeTOExpired(), state_CBEACON_tx(), and state_wait_other_DATA().

◆ txDATAEnabled

bool uwUFetch_NODE::txDATAEnabled
protected

true if SN is enabled to transmit a DATA packet to the HN

Referenced by CBEACON_rx(), CBeaconTOExpired(), Phy2MacEndRx(), PollTOExpired(), state_DATA_NODE_finish_tx(), state_DATA_NODE_first_tx(), and state_DATA_NODE_tx().

◆ txDATAEnabledHN

bool uwUFetch_NODE::txDATAEnabledHN
protected

◆ txPOLLEnabled

bool uwUFetch_NODE::txPOLLEnabled
protected

true if HN is enabled to transmit a POLL packet to the SN

Referenced by CtsTOExpired(), DATA_rx(), DataTOExpired(), Phy2MacEndTx_HN(), state_POLL_tx(), and state_wait_other_DATA().

◆ txPROBEEnabled

bool uwUFetch_NODE::txPROBEEnabled
protected

true if SN is enabled to transmit a PROBE packet to the HN

Referenced by CBEACON_rx(), CBeaconTOExpired(), Phy2MacEndRx(), Phy2MacEndTx(), and state_PROBE_tx().

◆ txRTSbeforeCBEACON

bool uwUFetch_NODE::txRTSbeforeCBEACON
protected

true HN block the transmission of CBEACON because It try to communicate with the AUV.

Referenced by state_CBEACON_tx().

◆ txRTSEnabled

bool uwUFetch_NODE::txRTSEnabled
protected

true if HN is enabled to transmit a RTS packet to the AUV

Referenced by CtsTOExpired(), DataTOExpired(), Phy2MacEndTx_HN(), state_RTS_tx(), and state_wait_other_DATA().


The documentation for this class was generated from the following files: