DESERT 4.0.0
uwUFetch_AUV Class Reference

#include <uwUFetch_AUV.h>

Inheritance diagram for uwUFetch_AUV:
Inheritance graph
Collaboration diagram for uwUFetch_AUV:
Collaboration graph

Classes

class  uwUFetch_DATA_timer
 
class  uwUFetch_FIRST_DATA_timer
 
class  uwUFetch_RTS_timer
 
class  uwUFetch_timer
 
class  uwUFetch_TRIGGER_timer
 

Public Member Functions

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

Protected Types

enum  UWUFETCH_AUV_STATUS {
  UWUFETCH_AUV_STATUS_IDLE , UWUFETCH_AUV_STATUS_TRANSMIT_TRIGGER , UWUFETCH_AUV_STATUS_WAIT_RTS_PACKET , UWUFETCH_AUV_STATUS_RECEIVE_RTS_PACKET ,
  UWUFETCH_AUV_STATUS_TRANSMIT_CTS_PACKET , UWUFETCH_AUV_STATUS_WAIT_DATA_HN , UWUFETCH_AUV_STATUS_RECEIVE_DATA_PACKET
}
 
enum  UWUFETCH_AUV_STATUS_CHANGE {
  UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX , UWUFETCH_AUV_STATUS_CHANGE_PHY_CAN_NOT_TX , UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_RTS_EXPIRED , UWUFETCH_AUV_STATUS_CHANGE_PACKET_IS_IN_ERROR ,
  UWUFETCH_AUV_STATUS_CHANGE_RTS_RX , UWUFETCH_AUV_STATUS_CHANGE_CTS_TX , UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_RX , UWFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE ,
  UWFETCH_AUV_STATUS_CHANGE_PACKET_ERROR , UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX_WAIT_RTS , UWUFETCH_AUV_STATUS_CHANGE_CTS_TX_WAIT_DATA , UWUFETCH_AUV_STATUS_CHANGE_RTS_FINISHED_TO_RX ,
  UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_FINISHED_TO_RX , UWUFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE , UWUFETCH_AUV_STATUS_CHANGE_LAST_DATA_PCK_RX , UWUFETCH_AUV_STATUS_CHANGE_ANOTHER_DATA_PCK_RX ,
  UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TO_EXPIRED , UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_INITIALIZE_TX_TRIGGER , UWUFETCH_AUV_STATUS_CHANGE_RTS_FINSHED_TO_STORE , UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_AT_LEAST_ONE_RTS_RX ,
  UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_0_RTS_RX , UWUFETCH_AUV_STATUS_CHANGE_CTS_INITIALIZED_TX_CTS , UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED
}
 
enum  UWUFETCH_AUV_PACKET_TYPE { UWUFETCH_AUV_PACKET_TYPE_DATA , UWUFETCH_AUV_PACKET_TYPE_TRIGGER , UWUFETCH_AUV_PACKET_TYPE_RTS , UWUFETCH_AUV_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_without (const Packet *p)
 
virtual void Phy2MacEndRx (Packet *p)
 
virtual void Phy2MacEndRx_without (Packet *p)
 
virtual void Mac2PhyStartTx (Packet *p)
 
virtual void Mac2PhyStartTx_without (Packet *p)
 
virtual void Phy2MacEndTx (const Packet *p)
 
virtual void Phy2MacEndTx_without (const Packet *p)
 
virtual void printStateInfo (double delay=0)
 
virtual void initInfo ()
 
virtual void waitForUser ()
 
virtual void refreshReason (UWUFETCH_AUV_STATUS_CHANGE reason)
 
virtual void refreshState (UWUFETCH_AUV_STATUS state)
 
virtual void stateIdle_AUV ()
 
virtual void TriggerTOExpired ()
 
virtual void state_TRIGGER_tx ()
 
virtual void state_TRIGGER_tx_without ()
 
virtual void TRIGGER_tx ()
 
virtual void state_wait_RTS ()
 
virtual void RTS_rx ()
 
virtual void RtsTOExpired ()
 
virtual void state_CTS_tx ()
 
virtual void CTS_tx ()
 
virtual void state_wait_first_DATA ()
 
virtual void state_wait_first_DATA_without ()
 
virtual void DATA_rx ()
 
virtual void state_wait_DATA ()
 
virtual void DataTOExpired ()
 
virtual void DataTOExpired_first ()
 
virtual void updateQueueRTS ()
 
virtual bool typeCommunication ()
 
virtual double getDataTimerValue ()
 
virtual void computeTxTime (UWUFETCH_AUV_PACKET_TYPE tp)
 
virtual double getRTT ()
 
virtual void another_DATA_received ()
 
void incrTrigger_Tx_by_AUV ()
 
int getTrigger_Tx_by_AUV ()
 
void incrTotalTrigger_Tx_by_AUV ()
 
int getTotalTrigger_Tx_by_AUV ()
 
void incrRts_Rx_by_AUV ()
 
int getRts_Rx_by_AUV ()
 
void incrTotalRts_Rx_by_AUV ()
 
int getTotalRts_Rx_by_AUV ()
 
void incrTotalRts_Rx_corrupted_by_AUV ()
 
int getTotalRts_Rx_corrupted_by_AUV ()
 
void incrCts_Tx_by_AUV ()
 
int getCts_Tx_by_AUV ()
 
void incrTotalCts_Tx_by_AUV ()
 
int getTotalCts_Tx_by_AUV ()
 
void incrData_Rx_by_AUV ()
 
int getData_Rx_by_AUV ()
 
void incrTotal_Data_Rx_by_AUV ()
 
int getTotal_Data_Rx_by_AUV ()
 
void incrTotal_Data_Rx_corrupted_by_AUV ()
 
int getTotal_Data_Rx_corrupted_by_AUV ()
 

Protected Attributes

double T_MIN_RTS
 
double T_MAX_RTS
 
double T_GUARD
 
double T_RTS
 
int mode_comm_hn_auv
 
int NUM_HN_NET
 
uwUFetch_TRIGGER_timer Trigger_timer
 
uwUFetch_RTS_timer RTS_timer
 
uwUFetch_DATA_timer DATA_timer
 
uwUFetch_FIRST_DATA_timer DATA_timer_first_pck
 
double MAX_PAYLOAD
 
int NUM_MAX_DATA_AUV_WANT_RX
 
double T_START_PROC_TRIGGER
 
int debugMio_
 
int N_RUN
 
int HEAD_NODE_1
 
int HEAD_NODE_2
 
int HEAD_NODE_3
 
int HEAD_NODE_4
 
double tx_TRIGGER_start_time
 
double tx_TRIGGER_finish_time
 
double rx_RTS_start_time
 
double rx_RTS_finish_time
 
double tx_CTS_start_time
 
double tx_CTS_finish_time
 
double rx_DATA_start_time
 
double rx_DATA_finish_time
 
int n_tot_TRIGGER_tx_by_AUV
 
int n_tot_RTS_rx_by_AUV
 
int n_tot_RTS_rx_corr_by_AUV
 
int n_tot_CTS_tx_by_AUV
 
int n_tot_DATA_rx_by_AUV
 
int n_tot_DATA_rx_corr_by_AUV
 
int number_data_pck_AUV_rx_exact
 
int mac_addr_HN_ctsed
 
double data_timeout
 
double T_tx_TRIGGER
 
double Trts
 
double Tcts
 
double Tdata
 
double RTT
 
int mac_addr_HN_in_data
 
int last_hn_triggered
 
int hn_trigg
 
int index
 
int mac_addr_hn_triggered
 
int num_pck_hn_1
 
int num_pck_hn_2
 
int num_pck_hn_3
 
int num_pck_hn_4
 
bool txTRIGGEREnabled
 
bool rxRTSEnabled
 
bool txCTSEnabled
 
bool rxDATAEnabled
 
int n_TRIGGER_tx_by_AUV
 
int n_RTS_rx_by_AUV
 
int n_CTS_tx_by_AUV
 
int n_DATA_rx_by_AUV
 
Packet * curr_TRIGGER_pck_tx
 
Packet * curr_RTS_pck_rx
 
Packet * curr_CTS_pck_tx
 
Packet * curr_DATA_pck_rx
 
std::queue< Packet * > Q_data_AUV
 
std::queue< int > Q_rts_mac_HN
 
std::queue< int > Q_rts_n_pcks_HN_want_tx_AUV
 
std::queue< double > Q_rts_backoff_time
 
UWUFETCH_AUV_STATUS_CHANGE last_reason
 
UWUFETCH_AUV_STATUS curr_state
 
UWUFETCH_AUV_STATUS prev_state
 
std::ofstream fout
 
std::ofstream out_file_logging
 
bool print_transitions
 

Static Protected Attributes

static std::map< UWUFETCH_AUV_STATUS, std::string > statusInfo
 
static std::map< UWUFETCH_AUV_STATUS_CHANGE, std::string > statusChange
 
static std::map< UWUFETCH_AUV_PACKET_TYPE, std::string > packetType
 
static std::map< UWUFETCH_TIMER_STATUS, std::string > statusTimer
 
static bool initialized = false
 
static const int MAX_RTS_RX
 

Detailed Description

Class that represent the UFetch mac layer for AUV node

Member Enumeration Documentation

◆ UWUFETCH_AUV_PACKET_TYPE

Enumerator
UWUFETCH_AUV_PACKET_TYPE_DATA 
UWUFETCH_AUV_PACKET_TYPE_TRIGGER 
UWUFETCH_AUV_PACKET_TYPE_RTS 
UWUFETCH_AUV_PACKET_TYPE_CTS 

◆ UWUFETCH_AUV_STATUS

< States in which the AUV node may be during Its execution

Enumerator
UWUFETCH_AUV_STATUS_IDLE 
UWUFETCH_AUV_STATUS_TRANSMIT_TRIGGER 
UWUFETCH_AUV_STATUS_WAIT_RTS_PACKET 
UWUFETCH_AUV_STATUS_RECEIVE_RTS_PACKET 
UWUFETCH_AUV_STATUS_TRANSMIT_CTS_PACKET 
UWUFETCH_AUV_STATUS_WAIT_DATA_HN 
UWUFETCH_AUV_STATUS_RECEIVE_DATA_PACKET 

◆ UWUFETCH_AUV_STATUS_CHANGE

Enumerator
UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX 
UWUFETCH_AUV_STATUS_CHANGE_PHY_CAN_NOT_TX 
UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_RTS_EXPIRED 
UWUFETCH_AUV_STATUS_CHANGE_PACKET_IS_IN_ERROR 
UWUFETCH_AUV_STATUS_CHANGE_RTS_RX 
UWUFETCH_AUV_STATUS_CHANGE_CTS_TX 
UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_RX 
UWFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE 
UWFETCH_AUV_STATUS_CHANGE_PACKET_ERROR 
UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX_WAIT_RTS 
UWUFETCH_AUV_STATUS_CHANGE_CTS_TX_WAIT_DATA 
UWUFETCH_AUV_STATUS_CHANGE_RTS_FINISHED_TO_RX 
UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_FINISHED_TO_RX 
UWUFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE 
UWUFETCH_AUV_STATUS_CHANGE_LAST_DATA_PCK_RX 
UWUFETCH_AUV_STATUS_CHANGE_ANOTHER_DATA_PCK_RX 
UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TO_EXPIRED 
UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_INITIALIZE_TX_TRIGGER 
UWUFETCH_AUV_STATUS_CHANGE_RTS_FINSHED_TO_STORE 
UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_AT_LEAST_ONE_RTS_RX 
UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_0_RTS_RX 
UWUFETCH_AUV_STATUS_CHANGE_CTS_INITIALIZED_TX_CTS 
UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED 

◆ UWUFETCH_TIMER_STATUS

Enumerator
UWUFETCH_TIMER_STATUS_IDLE 
UWUFETCH_TIMER_STATUS_RUNNING 
UWUFETCH_TIMER_STATUS_FROZEN 
UWUFETCH_TIMER_STATUS_EXPIRED 

Constructor & Destructor Documentation

◆ uwUFetch_AUV()

uwUFetch_AUV::uwUFetch_AUV ( )

◆ ~uwUFetch_AUV()

uwUFetch_AUV::~uwUFetch_AUV ( )
virtual

Destructor of the class UWUFetch

Destructor of the class uwUFetch_AUV

Destructor of uwUFetch_AUV class

Member Function Documentation

◆ another_DATA_received()

void uwUFetch_AUV::another_DATA_received ( )
protectedvirtual

Verify whether AUV must to receive another DATA packet from the HN to whome It has transmitted the TRIGGER or RTS and CTS paket

Verify if another DATA packet can be received

References DATA_timer, debugMio_, getData_Rx_by_AUV(), mac_addr_HN_in_data, n_CTS_tx_by_AUV, n_DATA_rx_by_AUV, n_RTS_rx_by_AUV, n_TRIGGER_tx_by_AUV, number_data_pck_AUV_rx_exact, out_file_logging, refreshReason(), rxDATAEnabled, state_wait_DATA(), stateIdle_AUV(), txTRIGGEREnabled, updateQueueRTS(), UWUFETCH_AUV_STATUS_CHANGE_ANOTHER_DATA_PCK_RX, and UWUFETCH_AUV_STATUS_CHANGE_LAST_DATA_PCK_RX.

Referenced by DATA_rx(), Phy2MacEndRx(), and Phy2MacEndRx_without().

Here is the call graph for this function:

◆ command()

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

TCL command interpreter. It implements the following OTCL methods:

Parameters
argcNumber of arguments in argv.
argvArray of strings which are the command parameters (Note that argv[0] is the name of the object).
Returns
TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.

References debugMio_, fout, getTotal_Data_Rx_by_AUV(), getTotal_Data_Rx_corrupted_by_AUV(), getTotalCts_Tx_by_AUV(), getTotalRts_Rx_by_AUV(), getTotalRts_Rx_corrupted_by_AUV(), getTotalTrigger_Tx_by_AUV(), initialized, initInfo(), N_RUN, out_file_logging, print_transitions, and stateIdle_AUV().

Here is the call graph for this function:

◆ computeTxTime()

void uwUFetch_AUV::computeTxTime ( UWUFETCH_AUV_PACKET_TYPE  tp)
protectedvirtual

Compute the transmission time for a specifical type of packet

Parameters
tptype of packet which is necessary to calculate the transmission time including propagation delay

References MAX_PAYLOAD, T_tx_TRIGGER, Tdata, and UWUFETCH_AUV_PACKET_TYPE_TRIGGER.

Referenced by getDataTimerValue(), Mac2PhyStartTx(), and Mac2PhyStartTx_without().

◆ crLayCommand()

int uwUFetch_AUV::crLayCommand ( ClMessage *  m)
virtual

Cross-Layer messages interpreter

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

◆ CTS_tx()

void uwUFetch_AUV::CTS_tx ( )
protectedvirtual

Transmission of CTS packet

References curr_CTS_pck_tx, and Mac2PhyStartTx().

Referenced by state_CTS_tx().

Here is the call graph for this function:

◆ DATA_rx()

void uwUFetch_AUV::DATA_rx ( )
protectedvirtual

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

Save the information of the HN that has sent the DATA packet correctly to the AUV

save the data packet in the QUEUE of the AUV an pass it to the application layer

References another_DATA_received(), curr_DATA_pck_rx, debugMio_, getData_Rx_by_AUV(), HEAD_NODE_1, HEAD_NODE_2, HEAD_NODE_3, HEAD_NODE_4, mac_addr_HN_in_data, num_pck_hn_1, num_pck_hn_2, num_pck_hn_3, num_pck_hn_4, out_file_logging, print_transitions, printStateInfo(), Q_data_AUV, refreshState(), and UWUFETCH_AUV_STATUS_RECEIVE_DATA_PACKET.

Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().

Here is the call graph for this function:

◆ DataTOExpired()

void uwUFetch_AUV::DataTOExpired ( )
protectedvirtual

Timeout within received DATA packets is expired. AUV is not enabled to receive other DATA packets from HN.

References debugMio_, getData_Rx_by_AUV(), mac_addr_HN_in_data, n_CTS_tx_by_AUV, n_DATA_rx_by_AUV, n_RTS_rx_by_AUV, n_TRIGGER_tx_by_AUV, out_file_logging, refreshReason(), rxDATAEnabled, stateIdle_AUV(), txTRIGGEREnabled, updateQueueRTS(), and UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED.

Here is the call graph for this function:

◆ DataTOExpired_first()

void uwUFetch_AUV::DataTOExpired_first ( )
protectedvirtual

Timeout within received the FIRST DATA packet from HN that it has sent a CTS packet is expired. Timeout used only in the case It's not used the RTS and CTS packet for establish a connetion between HN and AUV

References DATA_timer, debugMio_, getData_Rx_by_AUV(), mac_addr_HN_in_data, n_CTS_tx_by_AUV, n_DATA_rx_by_AUV, n_RTS_rx_by_AUV, n_TRIGGER_tx_by_AUV, out_file_logging, refreshReason(), rxDATAEnabled, stateIdle_AUV(), txTRIGGEREnabled, updateQueueRTS(), and UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED.

Here is the call graph for this function:

◆ getCts_Tx_by_AUV()

int uwUFetch_AUV::getCts_Tx_by_AUV ( )
inlineprotected

Number of CTS packets transmitted by AUV to the HN

Returns
int n_CTS_tx_by_AUV

References n_CTS_tx_by_AUV.

◆ getData_Rx_by_AUV()

int uwUFetch_AUV::getData_Rx_by_AUV ( )
inlineprotected

Number of DATA packets received by AUV after the transmission of TRIGGER-RTS-CTS packets from a specifical HN

Returns
int n_DATA_rx_by_AUV

References n_DATA_rx_by_AUV.

Referenced by another_DATA_received(), DATA_rx(), DataTOExpired(), DataTOExpired_first(), Phy2MacEndRx(), Phy2MacEndRx_without(), state_wait_DATA(), state_wait_first_DATA(), and state_wait_first_DATA_without().

◆ getDataTimerValue()

double uwUFetch_AUV::getDataTimerValue ( )
protectedvirtual

Compute the length of time interval within AUV want to receive all DATA packet from specifical HN

Returns
time interval length

AUV didn't know the exactly number of DATA packets that want receive from the HN, so it consider the worst case, that is the maximum number of DATA packets that It want to receive from the HN.

References computeTxTime(), getRTT(), number_data_pck_AUV_rx_exact, RTT, T_GUARD, Tdata, and UWUFETCH_AUV_PACKET_TYPE_DATA.

Referenced by state_wait_first_DATA(), and state_wait_first_DATA_without().

Here is the call graph for this function:

◆ getRts_Rx_by_AUV()

int uwUFetch_AUV::getRts_Rx_by_AUV ( )
inlineprotected

Number of RTS packets received by AUV after the transmission of TRIGGER packet

Returns
int n_RTS_rx_by_AUV

References n_RTS_rx_by_AUV.

◆ getRTT()

double uwUFetch_AUV::getRTT ( )
protectedvirtual

Compute the Round Trip Time

Returns
Round Trip Time

References RTT.

Referenced by getDataTimerValue().

◆ getTotal_Data_Rx_by_AUV()

int uwUFetch_AUV::getTotal_Data_Rx_by_AUV ( )
inlineprotected

Total number of DATA packets received by AUV from all HNs of the netwrok during the simulation

Returns
int n_tot_DATA_rx_by_AUV

References n_tot_DATA_rx_by_AUV.

Referenced by command().

◆ getTotal_Data_Rx_corrupted_by_AUV()

int uwUFetch_AUV::getTotal_Data_Rx_corrupted_by_AUV ( )
inlineprotected

Total number of corrupted DATA packets received by the AUV from all HNs of the network

Returns
int n_tot_DATA_rx_corr_by_AUV

References n_tot_DATA_rx_corr_by_AUV.

Referenced by command().

◆ getTotalCts_Tx_by_AUV()

int uwUFetch_AUV::getTotalCts_Tx_by_AUV ( )
inlineprotected

Total number of CTS packets transmitted by AUV during the simulation

Returns
int n_tot_CTS_tx_by_AUV

References n_tot_CTS_tx_by_AUV.

Referenced by command().

◆ getTotalRts_Rx_by_AUV()

int uwUFetch_AUV::getTotalRts_Rx_by_AUV ( )
inlineprotected

Total number of RTS received by AUV during the simulation from all HNs of the network

Returns
int n_tot_RTS_rx_by_AUV

References n_tot_RTS_rx_by_AUV.

Referenced by command().

◆ getTotalRts_Rx_corrupted_by_AUV()

int uwUFetch_AUV::getTotalRts_Rx_corrupted_by_AUV ( )
inlineprotected

Total number of corrupted RTS packets received by AUV from all HNs of the network

Returns
int n_tot_RTS_rx_corr_by_AUV

References n_tot_RTS_rx_corr_by_AUV.

Referenced by command().

◆ getTotalTrigger_Tx_by_AUV()

int uwUFetch_AUV::getTotalTrigger_Tx_by_AUV ( )
inlineprotected

Total number of TRIGGER packets transmitted by the AUV during the simulation

Returns
int n_tot_TRIGGER_tx_by_AUV

References n_tot_TRIGGER_tx_by_AUV.

Referenced by command().

◆ getTrigger_Tx_by_AUV()

int uwUFetch_AUV::getTrigger_Tx_by_AUV ( )
inlineprotected

Number of TRIGGER packets transmitted during the simulation during the single cycle

Returns
int n_TRIGGER_tx_by_AUV

References n_TRIGGER_tx_by_AUV.

Referenced by Phy2MacEndRx(), and RTS_rx().

◆ incrCts_Tx_by_AUV()

void uwUFetch_AUV::incrCts_Tx_by_AUV ( )
inlineprotected

Increase of 1 the number of CTS packets transmitted by AUV.

References n_CTS_tx_by_AUV.

Referenced by Phy2MacEndTx().

◆ incrData_Rx_by_AUV()

void uwUFetch_AUV::incrData_Rx_by_AUV ( )
inlineprotected

Increase of 1 the number of DATA packets received by AUV.

References n_DATA_rx_by_AUV.

Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().

◆ incrRts_Rx_by_AUV()

void uwUFetch_AUV::incrRts_Rx_by_AUV ( )
inlineprotected

Increase of 1 the number of RTS packets received by AUV.

References n_RTS_rx_by_AUV.

Referenced by Phy2MacEndRx().

◆ incrTotal_Data_Rx_by_AUV()

void uwUFetch_AUV::incrTotal_Data_Rx_by_AUV ( )
inlineprotected

Increase of 1 the number of DATA packets received by AUV.

References n_tot_DATA_rx_by_AUV.

Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().

◆ incrTotal_Data_Rx_corrupted_by_AUV()

void uwUFetch_AUV::incrTotal_Data_Rx_corrupted_by_AUV ( )
inlineprotected

Increase of 1 the number of corrupted DATA packets received by AUV.

References n_tot_DATA_rx_corr_by_AUV.

Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().

◆ incrTotalCts_Tx_by_AUV()

void uwUFetch_AUV::incrTotalCts_Tx_by_AUV ( )
inlineprotected

Increase of 1 the number of CTS packets transmitted by AUV.

References n_tot_CTS_tx_by_AUV.

Referenced by Phy2MacEndTx().

◆ incrTotalRts_Rx_by_AUV()

void uwUFetch_AUV::incrTotalRts_Rx_by_AUV ( )
inlineprotected

Increase of 1 the number of RTS packets received by AUV.

References n_tot_RTS_rx_by_AUV.

Referenced by Phy2MacEndRx().

◆ incrTotalRts_Rx_corrupted_by_AUV()

void uwUFetch_AUV::incrTotalRts_Rx_corrupted_by_AUV ( )
inlineprotected

Increase of 1 the number of corrupted RTS packets received by AUV.

References n_tot_RTS_rx_corr_by_AUV.

Referenced by Phy2MacEndRx().

◆ incrTotalTrigger_Tx_by_AUV()

void uwUFetch_AUV::incrTotalTrigger_Tx_by_AUV ( )
inlineprotected

Increase of 1 the number of TRIGGER packets transmitted by AUV.

References n_tot_TRIGGER_tx_by_AUV.

Referenced by Phy2MacEndTx(), and Phy2MacEndTx_without().

◆ incrTrigger_Tx_by_AUV()

void uwUFetch_AUV::incrTrigger_Tx_by_AUV ( )
inlineprotected

Increment by 1 the number of TRIGGER packets transmitted by AUV during a single cycle TRIGGER-RTS-CTS-DATA

References n_TRIGGER_tx_by_AUV.

Referenced by Phy2MacEndTx(), and Phy2MacEndTx_without().

◆ initInfo()

◆ Mac2PhyStartTx()

void uwUFetch_AUV::Mac2PhyStartTx ( Packet *  p)
protectedvirtual

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

Parameters
ppointer to the packet to be transmitted

References computeTxTime(), debugMio_, out_file_logging, PT_CTS_UFETCH, PT_TRIGGER_UFETCH, T_tx_TRIGGER, tx_CTS_start_time, tx_TRIGGER_start_time, and UWUFETCH_AUV_PACKET_TYPE_TRIGGER.

Referenced by CTS_tx(), and TRIGGER_tx().

Here is the call graph for this function:

◆ Mac2PhyStartTx_without()

void uwUFetch_AUV::Mac2PhyStartTx_without ( Packet *  p)
protectedvirtual

This method must be called by the MAC to instruct the PHY to start the transmission of a packet in the case protocol doesn't use RTS and CTS packets

Parameters
ppointer to the packet to be transmitted

References computeTxTime(), debugMio_, out_file_logging, PT_TRIGGER_UFETCH, tx_TRIGGER_start_time, and UWUFETCH_AUV_PACKET_TYPE_TRIGGER.

Referenced by TRIGGER_tx().

Here is the call graph for this function:

◆ Phy2MacEndRx()

◆ Phy2MacEndRx_without()

◆ Phy2MacEndTx()

void uwUFetch_AUV::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 MAC at the time this event occurs, hence the 'const' declaration.

References debugMio_, incrCts_Tx_by_AUV(), incrTotalCts_Tx_by_AUV(), incrTotalTrigger_Tx_by_AUV(), incrTrigger_Tx_by_AUV(), mac_addr_HN_ctsed, out_file_logging, Phy2MacEndTx_without(), PT_CTS_UFETCH, PT_TRIGGER_UFETCH, refreshReason(), state_wait_first_DATA(), state_wait_RTS(), tx_CTS_finish_time, tx_TRIGGER_finish_time, txCTSEnabled, txTRIGGEREnabled, typeCommunication(), UWUFETCH_AUV_STATUS_CHANGE_CTS_TX_WAIT_DATA, and UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX_WAIT_RTS.

Here is the call graph for this function:

◆ Phy2MacEndTx_without()

void uwUFetch_AUV::Phy2MacEndTx_without ( const Packet *  p)
protectedvirtual

Handle the end-of-PHY-transmission event in the case protocol doesn't use RTS and CTS packets

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 debugMio_, incrTotalTrigger_Tx_by_AUV(), incrTrigger_Tx_by_AUV(), out_file_logging, PT_TRIGGER_UFETCH, refreshReason(), state_wait_first_DATA(), tx_TRIGGER_finish_time, txTRIGGEREnabled, and UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX_WAIT_RTS.

Referenced by Phy2MacEndTx().

Here is the call graph for this function:

◆ Phy2MacStartRx()

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

Handle the detected-start-of-PHY-reception event

Parameters
ppointer to the packet whose reception has begun.

References debugMio_, out_file_logging, Phy2MacStartRx_without(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_RTS_UFETCH, PT_TRIGGER_UFETCH, rx_DATA_start_time, rx_RTS_start_time, and typeCommunication().

Here is the call graph for this function:

◆ Phy2MacStartRx_without()

void uwUFetch_AUV::Phy2MacStartRx_without ( const Packet *  p)
protectedvirtual

Handle the detected-start-of-PHY-reception event in the case protocol doesn't use RTS and CTS packets

Parameters
ppointer to the packet whose reception has begun

References debugMio_, out_file_logging, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, and rx_DATA_start_time.

Referenced by Phy2MacStartRx().

◆ printStateInfo()

void uwUFetch_AUV::printStateInfo ( double  delay = 0)
protectedvirtual

◆ refreshReason()

virtual void uwUFetch_AUV::refreshReason ( UWUFETCH_AUV_STATUS_CHANGE  reason)
inlineprotectedvirtual

Refresh the reason for the changing of the state

Parameters
reasonThe reason of the change of the state of the protocol

References last_reason.

Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), Phy2MacEndRx(), Phy2MacEndRx_without(), Phy2MacEndTx(), Phy2MacEndTx_without(), RTS_rx(), RtsTOExpired(), state_CTS_tx(), state_TRIGGER_tx(), state_TRIGGER_tx_without(), and TriggerTOExpired().

◆ refreshState()

virtual void uwUFetch_AUV::refreshState ( UWUFETCH_AUV_STATUS  state)
inlineprotectedvirtual

Refresh the state of the protocol

Parameters
statecurrent state of the protocol

References curr_state, and prev_state.

Referenced by DATA_rx(), RTS_rx(), state_CTS_tx(), state_TRIGGER_tx(), state_TRIGGER_tx_without(), state_wait_DATA(), state_wait_first_DATA(), state_wait_first_DATA_without(), state_wait_RTS(), and stateIdle_AUV().

◆ RTS_rx()

void uwUFetch_AUV::RTS_rx ( )
protectedvirtual

◆ RtsTOExpired()

void uwUFetch_AUV::RtsTOExpired ( )
protectedvirtual

◆ state_CTS_tx()

◆ state_TRIGGER_tx()

void uwUFetch_AUV::state_TRIGGER_tx ( )
protectedvirtual

◆ state_TRIGGER_tx_without()

void uwUFetch_AUV::state_TRIGGER_tx_without ( )
protectedvirtual

◆ state_wait_DATA()

void uwUFetch_AUV::state_wait_DATA ( )
protectedvirtual

AUV is waiting the SECOND and successive DATA packets from HN

References debugMio_, getData_Rx_by_AUV(), mac_addr_HN_ctsed, out_file_logging, print_transitions, printStateInfo(), refreshState(), and UWUFETCH_AUV_STATUS_WAIT_DATA_HN.

Referenced by another_DATA_received().

Here is the call graph for this function:

◆ state_wait_first_DATA()

void uwUFetch_AUV::state_wait_first_DATA ( )
protectedvirtual

◆ state_wait_first_DATA_without()

void uwUFetch_AUV::state_wait_first_DATA_without ( )
protectedvirtual

◆ state_wait_RTS()

void uwUFetch_AUV::state_wait_RTS ( )
protectedvirtual

AUV is wait a RTS packet from HNs

References debugMio_, out_file_logging, print_transitions, printStateInfo(), refreshState(), RTS_timer, rxRTSEnabled, uwUFetch_AUV::uwUFetch_timer::schedule(), T_RTS, and UWUFETCH_AUV_STATUS_WAIT_RTS_PACKET.

Referenced by Phy2MacEndTx().

Here is the call graph for this function:

◆ stateIdle_AUV()

◆ TRIGGER_tx()

void uwUFetch_AUV::TRIGGER_tx ( )
protectedvirtual

Trasmission of TRIGGER packet

References curr_TRIGGER_pck_tx, Mac2PhyStartTx(), Mac2PhyStartTx_without(), and typeCommunication().

Referenced by state_TRIGGER_tx(), and state_TRIGGER_tx_without().

Here is the call graph for this function:

◆ TriggerTOExpired()

void uwUFetch_AUV::TriggerTOExpired ( )
protectedvirtual

Timeout trigger is expired. AUV start the procedure to communicate with HNs

References debugMio_, out_file_logging, refreshReason(), rxRTSEnabled, state_TRIGGER_tx(), txTRIGGEREnabled, and UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TO_EXPIRED.

Here is the call graph for this function:

◆ typeCommunication()

bool uwUFetch_AUV::typeCommunication ( )
protectedvirtual

Establish whether the communication between SN and AUV take place with RTS and CTS or only using TRIGGER packet

Returns
true if the connection between HN and AUV take place without RTS and CTS

References mode_comm_hn_auv.

Referenced by Phy2MacEndRx(), Phy2MacEndTx(), Phy2MacStartRx(), state_TRIGGER_tx(), state_wait_first_DATA(), and TRIGGER_tx().

◆ updateQueueRTS()

void uwUFetch_AUV::updateQueueRTS ( )
protectedvirtual

Remove the information relative to the HN from which AUV wanted and it has finished to receive DATA packets

References debugMio_, out_file_logging, Q_rts_backoff_time, Q_rts_mac_HN, and Q_rts_n_pcks_HN_want_tx_AUV.

Referenced by another_DATA_received(), DataTOExpired(), and DataTOExpired_first().

◆ waitForUser()

void uwUFetch_AUV::waitForUser ( )
protectedvirtual

Method used for debug

Member Data Documentation

◆ curr_CTS_pck_tx

Packet* uwUFetch_AUV::curr_CTS_pck_tx
protected

Pointer to the CTS packet that is being transmitted by AUV

Referenced by CTS_tx(), and state_CTS_tx().

◆ curr_DATA_pck_rx

Packet* uwUFetch_AUV::curr_DATA_pck_rx
protected

Pointer to the DATA packet that is being received by AUV

Referenced by DATA_rx(), Phy2MacEndRx(), and Phy2MacEndRx_without().

◆ curr_RTS_pck_rx

Packet* uwUFetch_AUV::curr_RTS_pck_rx
protected

Pointer to the RTS packet that is being received by AUV

Referenced by Phy2MacEndRx(), and RTS_rx().

◆ curr_state

UWUFETCH_AUV_STATUS uwUFetch_AUV::curr_state
protected

Current state in which the node is located

Referenced by printStateInfo(), and refreshState().

◆ curr_TRIGGER_pck_tx

Packet* uwUFetch_AUV::curr_TRIGGER_pck_tx
protected

Pointer to the TRIGGER packet that is being transmitted by AUV

Referenced by state_TRIGGER_tx(), state_TRIGGER_tx_without(), and TRIGGER_tx().

◆ data_timeout

double uwUFetch_AUV::data_timeout
protected

Interval time within AUV want to receive all DATA packets from the HN

Referenced by state_wait_first_DATA(), and state_wait_first_DATA_without().

◆ DATA_timer

uwUFetch_DATA_timer uwUFetch_AUV::DATA_timer
protected

Interval time in which the AUV want to receive all DATA packets from the HN

Referenced by another_DATA_received(), DataTOExpired_first(), Phy2MacEndRx_without(), state_wait_first_DATA(), and state_wait_first_DATA_without().

◆ DATA_timer_first_pck

uwUFetch_FIRST_DATA_timer uwUFetch_AUV::DATA_timer_first_pck
protected

Interval time in which the AUV want to receive the first DATA packet from the HN

Referenced by Phy2MacEndRx_without(), and state_wait_first_DATA_without().

◆ debugMio_

◆ fout

std::ofstream uwUFetch_AUV::fout
protected

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

Referenced by command(), and printStateInfo().

◆ HEAD_NODE_1

int uwUFetch_AUV::HEAD_NODE_1
protected

Id number of HN 1

Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ HEAD_NODE_2

int uwUFetch_AUV::HEAD_NODE_2
protected

Id number of HN 2

Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ HEAD_NODE_3

int uwUFetch_AUV::HEAD_NODE_3
protected

Id number of HN 3

Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ HEAD_NODE_4

int uwUFetch_AUV::HEAD_NODE_4
protected

Id number of HN 4

Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ hn_trigg

int uwUFetch_AUV::hn_trigg
protected

Index of the HN that will be triggered with the next cycle of TRIGGER-RTS-CTS

◆ index

int uwUFetch_AUV::index
protected

◆ initialized

bool uwUFetch_AUV::initialized = false
staticprotected

Indicate if the protocol has been initialized or not

Referenced by command(), and initInfo().

◆ last_hn_triggered

int uwUFetch_AUV::last_hn_triggered
protected

Index of the HN that was triggered in the previous cycle by the AUV

◆ last_reason

UWUFETCH_AUV_STATUS_CHANGE uwUFetch_AUV::last_reason
protected

Last reason because the NODE change his state

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

◆ mac_addr_HN_ctsed

int uwUFetch_AUV::mac_addr_HN_ctsed
protected

Mac address of the HN from which the AUV want to receive the DATA packets

Referenced by Phy2MacEndTx(), state_CTS_tx(), state_wait_DATA(), and state_wait_first_DATA().

◆ mac_addr_HN_in_data

int uwUFetch_AUV::mac_addr_HN_in_data
protected

MAC address of the HN from which the AUV has received the DATA packet

Referenced by another_DATA_received(), DATA_rx(), DataTOExpired(), and DataTOExpired_first().

◆ mac_addr_hn_triggered

int uwUFetch_AUV::mac_addr_hn_triggered
protected

MAC address of the HN triggered by the AUV.

Referenced by Phy2MacEndRx_without(), state_TRIGGER_tx_without(), state_wait_first_DATA(), and state_wait_first_DATA_without().

◆ MAX_PAYLOAD

double uwUFetch_AUV::MAX_PAYLOAD
protected

Maximum size of DATA PAYLOAD packet

Referenced by computeTxTime(), and uwUFetch_AUV().

◆ MAX_RTS_RX

const int uwUFetch_AUV::MAX_RTS_RX
staticprotected
Initial value:
=
100

Maximum number of RTS packets that AUV can receive

◆ mode_comm_hn_auv

int uwUFetch_AUV::mode_comm_hn_auv
protected

Indicate how the communication takes place with or without RTS-CTS packets

Referenced by typeCommunication(), and uwUFetch_AUV().

◆ n_CTS_tx_by_AUV

int uwUFetch_AUV::n_CTS_tx_by_AUV
protected

Counter of the number of CTS packets transmitted by AUV during a single cycle of simulation

Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), getCts_Tx_by_AUV(), incrCts_Tx_by_AUV(), and RtsTOExpired().

◆ n_DATA_rx_by_AUV

int uwUFetch_AUV::n_DATA_rx_by_AUV
protected

Counter of the number of DATA packets transmitted by AUV during a single cycle of simulation

Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), getData_Rx_by_AUV(), incrData_Rx_by_AUV(), Phy2MacEndRx_without(), and RtsTOExpired().

◆ n_RTS_rx_by_AUV

int uwUFetch_AUV::n_RTS_rx_by_AUV
protected

Counter of the number of RTS packets received by AUV during a single cycle of simulation

Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), getRts_Rx_by_AUV(), incrRts_Rx_by_AUV(), and RtsTOExpired().

◆ N_RUN

int uwUFetch_AUV::N_RUN
protected

Number of run in execution

Referenced by command(), and uwUFetch_AUV().

◆ n_tot_CTS_tx_by_AUV

int uwUFetch_AUV::n_tot_CTS_tx_by_AUV
protected

Counter of the number of CTS packets transmitted by AUV during an entire duration of simulation

Referenced by getTotalCts_Tx_by_AUV(), and incrTotalCts_Tx_by_AUV().

◆ n_tot_DATA_rx_by_AUV

int uwUFetch_AUV::n_tot_DATA_rx_by_AUV
protected

Counter of the number of DATA packets received by AUV during an entire duration of simulation

Referenced by getTotal_Data_Rx_by_AUV(), and incrTotal_Data_Rx_by_AUV().

◆ n_tot_DATA_rx_corr_by_AUV

int uwUFetch_AUV::n_tot_DATA_rx_corr_by_AUV
protected

Counter of the number of DATA packets corrupted received by AUV during an entire duration of simulation

Referenced by getTotal_Data_Rx_corrupted_by_AUV(), and incrTotal_Data_Rx_corrupted_by_AUV().

◆ n_tot_RTS_rx_by_AUV

int uwUFetch_AUV::n_tot_RTS_rx_by_AUV
protected

Counter of the number of RTS packets received by AUV during an entire duration of simulation

Referenced by getTotalRts_Rx_by_AUV(), and incrTotalRts_Rx_by_AUV().

◆ n_tot_RTS_rx_corr_by_AUV

int uwUFetch_AUV::n_tot_RTS_rx_corr_by_AUV
protected

Counter of the number of RTS packets corrupted received by AUV during an entire duration of simulation

Referenced by getTotalRts_Rx_corrupted_by_AUV(), and incrTotalRts_Rx_corrupted_by_AUV().

◆ n_tot_TRIGGER_tx_by_AUV

int uwUFetch_AUV::n_tot_TRIGGER_tx_by_AUV
protected

Counter of the number of TRIGGER packets transmitted by AUV during an entire duration of simulation

Referenced by getTotalTrigger_Tx_by_AUV(), and incrTotalTrigger_Tx_by_AUV().

◆ n_TRIGGER_tx_by_AUV

int uwUFetch_AUV::n_TRIGGER_tx_by_AUV
protected

Counter of the number of TRIGGER packets transmitted by AUV during a single cycle of simulation

Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), getTrigger_Tx_by_AUV(), incrTrigger_Tx_by_AUV(), Phy2MacEndRx_without(), and RtsTOExpired().

◆ NUM_HN_NET

int uwUFetch_AUV::NUM_HN_NET
protected

Number of Head Nodes in the network

Referenced by state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ NUM_MAX_DATA_AUV_WANT_RX

int uwUFetch_AUV::NUM_MAX_DATA_AUV_WANT_RX
protected

Maximum number of data packet that AUV want to receive from the HN in a single cycle of TRIGGER-RTS-CTS-DATA

Referenced by state_CTS_tx(), state_TRIGGER_tx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ num_pck_hn_1

int uwUFetch_AUV::num_pck_hn_1
protected

Counter of the correct DATA packets received by HN 1 from SNs

Referenced by DATA_rx().

◆ num_pck_hn_2

int uwUFetch_AUV::num_pck_hn_2
protected

Counter of the correct DATA packets received by HN 2 from SNs

Referenced by DATA_rx().

◆ num_pck_hn_3

int uwUFetch_AUV::num_pck_hn_3
protected

Counter of the correct DATA packets received by HN 3 from SNs

Referenced by DATA_rx().

◆ num_pck_hn_4

int uwUFetch_AUV::num_pck_hn_4
protected

Counter of the correct DATA packets received by HN 4 from SNs

Referenced by DATA_rx().

◆ number_data_pck_AUV_rx_exact

int uwUFetch_AUV::number_data_pck_AUV_rx_exact
protected

Number of DATA packets that AUV want exactly received from the HN

Referenced by another_DATA_received(), getDataTimerValue(), and state_CTS_tx().

◆ out_file_logging

◆ packetType

std::map< uwUFetch_AUV::UWUFETCH_AUV_PACKET_TYPE, std::string > uwUFetch_AUV::packetType
staticprotected

Map the UWUFETCH_AUV_PACKET_TYPE to the description of packet type

Referenced by initInfo().

◆ prev_state

UWUFETCH_AUV_STATUS uwUFetch_AUV::prev_state
protected

Previous state in which the node it was located

Referenced by printStateInfo(), and refreshState().

◆ print_transitions

bool uwUFetch_AUV::print_transitions
protected

◆ Q_data_AUV

std::queue<Packet *> uwUFetch_AUV::Q_data_AUV
protected

Queue of DATA packets stored by the AUV and received from HNs

Referenced by DATA_rx().

◆ Q_rts_backoff_time

std::queue<double> uwUFetch_AUV::Q_rts_backoff_time
protected

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

Referenced by RTS_rx(), and updateQueueRTS().

◆ Q_rts_mac_HN

std::queue<int> uwUFetch_AUV::Q_rts_mac_HN
protected

Queue of HN MAC address from which AUV has received correctly the RTS packet

Referenced by RTS_rx(), RtsTOExpired(), state_CTS_tx(), and updateQueueRTS().

◆ Q_rts_n_pcks_HN_want_tx_AUV

std::queue<int> uwUFetch_AUV::Q_rts_n_pcks_HN_want_tx_AUV
protected

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

Referenced by RTS_rx(), state_CTS_tx(), and updateQueueRTS().

◆ RTS_timer

uwUFetch_RTS_timer uwUFetch_AUV::RTS_timer
protected

Interval time in which the AUV wait a RTS packets from the HNs

Referenced by RTS_rx(), and state_wait_RTS().

◆ RTT

double uwUFetch_AUV::RTT
protected

Round Trip Time

Referenced by getDataTimerValue(), and getRTT().

◆ rx_DATA_finish_time

double uwUFetch_AUV::rx_DATA_finish_time
protected

Indicates when AUV end the reception of DATA packet

Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().

◆ rx_DATA_start_time

double uwUFetch_AUV::rx_DATA_start_time
protected

Indicates when AUV start the reception of DATA packet

Referenced by Phy2MacStartRx(), and Phy2MacStartRx_without().

◆ rx_RTS_finish_time

double uwUFetch_AUV::rx_RTS_finish_time
protected

Indicates when AUV end the reception of RTS packet

Referenced by Phy2MacEndRx().

◆ rx_RTS_start_time

double uwUFetch_AUV::rx_RTS_start_time
protected

Indicates when AUV start the reception of RTS packet

Referenced by Phy2MacStartRx().

◆ rxDATAEnabled

bool uwUFetch_AUV::rxDATAEnabled
protected

◆ rxRTSEnabled

bool uwUFetch_AUV::rxRTSEnabled
protected

true if AUV is enabled to receive a RTS packet

Referenced by Phy2MacEndRx(), RTS_rx(), RtsTOExpired(), state_wait_RTS(), and TriggerTOExpired().

◆ statusChange

std::map< uwUFetch_AUV::UWUFETCH_AUV_STATUS_CHANGE, std::string > uwUFetch_AUV::statusChange
staticprotected

Map the UWUFETCH_AUV_STATUS_CHANGE to the description the reason of changing state

Referenced by initInfo(), and printStateInfo().

◆ statusInfo

std::map< uwUFetch_AUV::UWUFETCH_AUV_STATUS, std::string > uwUFetch_AUV::statusInfo
staticprotected

Map the UWUFETCH_AUV_STATUS to the description of each state

Referenced by initInfo(), and printStateInfo().

◆ statusTimer

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

Map the UWUFETCH_TIMER_STATUS to the description of the timers

Referenced by initInfo().

◆ T_GUARD

double uwUFetch_AUV::T_GUARD
protected

Guard time interval used between two consecutive transmissions of data packets

Referenced by getDataTimerValue(), and uwUFetch_AUV().

◆ T_MAX_RTS

double uwUFetch_AUV::T_MAX_RTS
protected

Upper bound of the interval in which HN choice the back-off time to tx RTS pck

Referenced by state_TRIGGER_tx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ T_MIN_RTS

double uwUFetch_AUV::T_MIN_RTS
protected

Lower bound of the interval in which HN choice the back-off time to tx RTS pck

Referenced by state_TRIGGER_tx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().

◆ T_RTS

double uwUFetch_AUV::T_RTS
protected

Interval time in which the AUV want to receive an RTS packet in answer to the trigger

Referenced by state_wait_RTS(), and uwUFetch_AUV().

◆ T_START_PROC_TRIGGER

double uwUFetch_AUV::T_START_PROC_TRIGGER
protected

Time before that the AUV start the procedure to transmit a TRIGGER packet

Referenced by stateIdle_AUV(), and uwUFetch_AUV().

◆ T_tx_TRIGGER

double uwUFetch_AUV::T_tx_TRIGGER
protected

Time required to transimt a single TRIGGER packet

Referenced by computeTxTime(), and Mac2PhyStartTx().

◆ Tcts

double uwUFetch_AUV::Tcts
protected

Time needed to transmit a CTS packet. It contain also the propagation delay

◆ Tdata

double uwUFetch_AUV::Tdata
protected

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

Referenced by computeTxTime(), and getDataTimerValue().

◆ Trigger_timer

uwUFetch_TRIGGER_timer uwUFetch_AUV::Trigger_timer
protected

Interval time. After that the AUV start the transmission of the TRIGGER packet

Referenced by RTS_rx(), and stateIdle_AUV().

◆ Trts

double uwUFetch_AUV::Trts
protected

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

◆ tx_CTS_finish_time

double uwUFetch_AUV::tx_CTS_finish_time
protected

Indicates when AUV end the transmission of CTS packet

Referenced by Phy2MacEndTx().

◆ tx_CTS_start_time

double uwUFetch_AUV::tx_CTS_start_time
protected

Indicates when AUV start a transmission of CTS packet

Referenced by Mac2PhyStartTx().

◆ tx_TRIGGER_finish_time

double uwUFetch_AUV::tx_TRIGGER_finish_time
protected

Indicates when AUV end the transmission of TRIGGER packet

Referenced by Phy2MacEndTx(), and Phy2MacEndTx_without().

◆ tx_TRIGGER_start_time

double uwUFetch_AUV::tx_TRIGGER_start_time
protected

Indicates when AUV start a transmission of TRIGGER packet

Referenced by Mac2PhyStartTx(), and Mac2PhyStartTx_without().

◆ txCTSEnabled

bool uwUFetch_AUV::txCTSEnabled
protected

true if AUV is enabled to transmit a CTS packet

Referenced by Phy2MacEndTx(), RTS_rx(), RtsTOExpired(), and state_CTS_tx().

◆ txTRIGGEREnabled

bool uwUFetch_AUV::txTRIGGEREnabled
protected

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