#include <uwUFetch_AUV.h>
|
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
} |
|
Class that represent the UFetch mac layer for AUV node.
Definition at line 84 of file uwUFetch_AUV.h.
◆ 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 | |
Definition at line 158 of file uwUFetch_AUV.h.
◆ 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 | |
Definition at line 120 of file uwUFetch_AUV.h.
◆ 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 | |
Definition at line 131 of file uwUFetch_AUV.h.
◆ UWUFETCH_TIMER_STATUS
Enumerator |
---|
UWUFETCH_TIMER_STATUS_IDLE | |
UWUFETCH_TIMER_STATUS_RUNNING | |
UWUFETCH_TIMER_STATUS_FROZEN | |
UWUFETCH_TIMER_STATUS_EXPIRED | |
Definition at line 166 of file uwUFetch_AUV.h.
◆ uwUFetch_AUV()
uwUFetch_AUV::uwUFetch_AUV |
( |
| ) |
|
◆ ~uwUFetch_AUV()
uwUFetch_AUV::~uwUFetch_AUV |
( |
| ) |
|
|
virtual |
◆ 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
Definition at line 1947 of file uwUFetch_AUV.cpp.
◆ command()
int uwUFetch_AUV::command |
( |
int |
argc, |
|
|
const char *const * |
argv |
|
) |
| |
|
virtual |
TCL command interpreter.
It implements the following OTCL methods:
- Parameters
-
argc | Number of arguments in argv. |
argv | Array 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.
Definition at line 234 of file uwUFetch_AUV.cpp.
◆ computeTxTime()
Compute the transmission time for a specifical type of packet.
- Parameters
-
tp | type of packet which is necessary to calculate the transmission time including propagation delay |
Definition at line 1898 of file uwUFetch_AUV.cpp.
◆ 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.
Definition at line 301 of file uwUFetch_AUV.cpp.
◆ CTS_tx()
void uwUFetch_AUV::CTS_tx |
( |
| ) |
|
|
protectedvirtual |
◆ 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
Definition at line 1679 of file uwUFetch_AUV.cpp.
◆ DataTOExpired()
void uwUFetch_AUV::DataTOExpired |
( |
| ) |
|
|
protectedvirtual |
Timeout within received DATA packets is expired.
AUV is not enabled to receive other DATA packets from HN.
Definition at line 1813 of file uwUFetch_AUV.cpp.
◆ 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
Definition at line 1517 of file uwUFetch_AUV_mod_1.cpp.
◆ 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
Definition at line 885 of file uwUFetch_AUV.h.
◆ 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
Definition at line 926 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1869 of file uwUFetch_AUV.cpp.
◆ 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
Definition at line 823 of file uwUFetch_AUV.h.
◆ getRTT()
double uwUFetch_AUV::getRTT |
( |
| ) |
|
|
protectedvirtual |
Compute the Round Trip Time.
- Returns
- Round Trip Time
Definition at line 1917 of file uwUFetch_AUV.cpp.
◆ 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
Definition at line 947 of file uwUFetch_AUV.h.
◆ 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
Definition at line 968 of file uwUFetch_AUV.h.
◆ 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
Definition at line 905 of file uwUFetch_AUV.h.
◆ 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
Definition at line 844 of file uwUFetch_AUV.h.
◆ 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
Definition at line 865 of file uwUFetch_AUV.h.
◆ 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
Definition at line 802 of file uwUFetch_AUV.h.
◆ 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
Definition at line 781 of file uwUFetch_AUV.h.
◆ incrCts_Tx_by_AUV()
void uwUFetch_AUV::incrCts_Tx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of CTS packets transmitted by AUV.
Definition at line 874 of file uwUFetch_AUV.h.
◆ incrData_Rx_by_AUV()
void uwUFetch_AUV::incrData_Rx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of DATA packets received by AUV.
Definition at line 914 of file uwUFetch_AUV.h.
◆ incrRts_Rx_by_AUV()
void uwUFetch_AUV::incrRts_Rx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of RTS packets received by AUV.
Definition at line 811 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 935 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 956 of file uwUFetch_AUV.h.
◆ incrTotalCts_Tx_by_AUV()
void uwUFetch_AUV::incrTotalCts_Tx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of CTS packets transmitted by AUV.
Definition at line 894 of file uwUFetch_AUV.h.
◆ incrTotalRts_Rx_by_AUV()
void uwUFetch_AUV::incrTotalRts_Rx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of RTS packets received by AUV.
Definition at line 832 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 853 of file uwUFetch_AUV.h.
◆ incrTotalTrigger_Tx_by_AUV()
void uwUFetch_AUV::incrTotalTrigger_Tx_by_AUV |
( |
| ) |
|
|
inlineprotected |
Increase of 1 the number of TRIGGER packets transmitted by AUV.
Definition at line 790 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 769 of file uwUFetch_AUV.h.
◆ initInfo()
void uwUFetch_AUV::initInfo |
( |
| ) |
|
|
protectedvirtual |
Initialize the protocol at the beginning of the simulation.
This method is called by a command in TCL.
Definition at line 2069 of file uwUFetch_AUV.cpp.
◆ 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
-
p | pointer to the packet to be transmitted |
Definition at line 320 of file uwUFetch_AUV.cpp.
◆ 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
-
p | pointer to the packet to be transmitted |
Definition at line 51 of file uwUFetch_AUV_mod_2.cpp.
◆ Phy2MacEndRx()
void uwUFetch_AUV::Phy2MacEndRx |
( |
Packet * |
p | ) |
|
|
protectedvirtual |
Handle the end-of-PHY-reception event.
- Parameters
-
p | pointer to the packet whose reception has ended. |
Definition at line 613 of file uwUFetch_AUV.cpp.
◆ Phy2MacEndRx_without()
void uwUFetch_AUV::Phy2MacEndRx_without |
( |
Packet * |
p | ) |
|
|
protectedvirtual |
Handle the end-of-PHY-reception event in the case protocol doesn't use RTS and CTS packets.
- Parameters
-
p | pointer to the packet whose reception has ended. |
Definition at line 204 of file uwUFetch_AUV_mod_2.cpp.
◆ Phy2MacEndTx()
void uwUFetch_AUV::Phy2MacEndTx |
( |
const Packet * |
p | ) |
|
|
protectedvirtual |
Handle the end-of-PHY-transmission event.
- Parameters
-
p | pointer 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. |
Definition at line 387 of file uwUFetch_AUV.cpp.
◆ 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
-
p | pointer 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. |
Definition at line 89 of file uwUFetch_AUV_mod_2.cpp.
◆ Phy2MacStartRx()
void uwUFetch_AUV::Phy2MacStartRx |
( |
const Packet * |
p | ) |
|
|
protectedvirtual |
Handle the detected-start-of-PHY-reception event.
- Parameters
-
p | pointer to the packet whose reception has begun. |
Definition at line 475 of file uwUFetch_AUV.cpp.
◆ 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
-
p | pointer to the packet whose reception has begun |
Definition at line 132 of file uwUFetch_AUV_mod_2.cpp.
◆ printStateInfo()
void uwUFetch_AUV::printStateInfo |
( |
double |
delay = 0 | ) |
|
|
protectedvirtual |
Prints a file with every state change for debug purposes.
- Parameters
-
Definition at line 2060 of file uwUFetch_AUV.cpp.
◆ refreshReason()
Refresh the reason for the changing of the state.
- Parameters
-
reason | The reason of the change of the state of the protocol |
Definition at line 602 of file uwUFetch_AUV.h.
◆ refreshState()
Refresh the state of the protocol.
- Parameters
-
state | current state of the protocol |
Definition at line 613 of file uwUFetch_AUV.h.
◆ RTS_rx()
void uwUFetch_AUV::RTS_rx |
( |
| ) |
|
|
protectedvirtual |
AUV has received RTS packet.
Extract all information cointed into It
Save the information of the HN that has sent the RTS packet correctly to the AUV
Definition at line 1336 of file uwUFetch_AUV.cpp.
◆ RtsTOExpired()
void uwUFetch_AUV::RtsTOExpired |
( |
| ) |
|
|
protectedvirtual |
Timeout within AUV is enabled to receive RTS packet is expired.
Definition at line 1441 of file uwUFetch_AUV.cpp.
◆ state_CTS_tx()
void uwUFetch_AUV::state_CTS_tx |
( |
| ) |
|
|
protectedvirtual |
Initialization of CTS packet that will be forwarded to the specifical HN.
Definition at line 1506 of file uwUFetch_AUV.cpp.
◆ state_TRIGGER_tx()
void uwUFetch_AUV::state_TRIGGER_tx |
( |
| ) |
|
|
protectedvirtual |
Initialization of TRIGGER packet that will be forwarded in broadcast to the HNs.
Case in which UFetch protocol use RTS and CTS packets
Definition at line 1145 of file uwUFetch_AUV.cpp.
◆ state_TRIGGER_tx_without()
void uwUFetch_AUV::state_TRIGGER_tx_without |
( |
| ) |
|
|
protectedvirtual |
Initialization of TRIGGER packet that will be forwarded in broadcast to the HNs.
Case in which UFetch protocol doesn't use RTS and CTS packets
Definition at line 613 of file uwUFetch_AUV_mod_2.cpp.
◆ state_wait_DATA()
void uwUFetch_AUV::state_wait_DATA |
( |
| ) |
|
|
protectedvirtual |
AUV is waiting the SECOND and successive DATA packets from HN.
Definition at line 1772 of file uwUFetch_AUV.cpp.
◆ state_wait_first_DATA()
void uwUFetch_AUV::state_wait_first_DATA |
( |
| ) |
|
|
protectedvirtual |
AUV is waiting the FIRST DATA packet from the HN to whom It has sent a RTS and CTS packet.
Definition at line 1617 of file uwUFetch_AUV.cpp.
◆ state_wait_first_DATA_without()
void uwUFetch_AUV::state_wait_first_DATA_without |
( |
| ) |
|
|
protectedvirtual |
AUV is waiting the FIRST DATA packet from the HN to whom It has sent only RTS packet.
Definition at line 838 of file uwUFetch_AUV_mod_2.cpp.
◆ state_wait_RTS()
void uwUFetch_AUV::state_wait_RTS |
( |
| ) |
|
|
protectedvirtual |
◆ stateIdle_AUV()
void uwUFetch_AUV::stateIdle_AUV |
( |
| ) |
|
|
protectedvirtual |
◆ TRIGGER_tx()
void uwUFetch_AUV::TRIGGER_tx |
( |
| ) |
|
|
protectedvirtual |
◆ TriggerTOExpired()
void uwUFetch_AUV::TriggerTOExpired |
( |
| ) |
|
|
protectedvirtual |
Timeout trigger is expired.
AUV start the procedure to communicate with HNs
Definition at line 1119 of file uwUFetch_AUV.cpp.
◆ 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
Definition at line 1859 of file uwUFetch_AUV.cpp.
◆ 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.
Definition at line 1926 of file uwUFetch_AUV.cpp.
◆ waitForUser()
void uwUFetch_AUV::waitForUser |
( |
| ) |
|
|
protectedvirtual |
◆ curr_CTS_pck_tx
Packet* uwUFetch_AUV::curr_CTS_pck_tx |
|
protected |
Pointer to the CTS packet that is being transmitted by AUV.
Definition at line 1124 of file uwUFetch_AUV.h.
◆ curr_DATA_pck_rx
Packet* uwUFetch_AUV::curr_DATA_pck_rx |
|
protected |
Pointer to the DATA packet that is being received by AUV.
Definition at line 1126 of file uwUFetch_AUV.h.
◆ curr_RTS_pck_rx
Packet* uwUFetch_AUV::curr_RTS_pck_rx |
|
protected |
Pointer to the RTS packet that is being received by AUV.
Definition at line 1122 of file uwUFetch_AUV.h.
◆ curr_state
Current state in which the node is located.
Definition at line 1147 of file uwUFetch_AUV.h.
◆ curr_TRIGGER_pck_tx
Packet* uwUFetch_AUV::curr_TRIGGER_pck_tx |
|
protected |
Pointer to the TRIGGER packet that is being transmitted by AUV.
Definition at line 1120 of file uwUFetch_AUV.h.
◆ data_timeout
double uwUFetch_AUV::data_timeout |
|
protected |
Interval time within AUV want to receive all DATA packets from the HN.
Definition at line 1061 of file uwUFetch_AUV.h.
◆ DATA_timer
Interval time in which the AUV want to receive all DATA packets from the HN.
Definition at line 996 of file uwUFetch_AUV.h.
◆ DATA_timer_first_pck
Interval time in which the AUV want to receive the first DATA packet from the HN.
Definition at line 999 of file uwUFetch_AUV.h.
◆ debugMio_
int uwUFetch_AUV::debugMio_ |
|
protected |
Used if we want to create the logging file.
Definition at line 1010 of file uwUFetch_AUV.h.
◆ fout
std::ofstream uwUFetch_AUV::fout |
|
protected |
Variable that handle the file in which the protocol write the state transition for debug purposes.
Definition at line 1167 of file uwUFetch_AUV.h.
◆ HEAD_NODE_1
int uwUFetch_AUV::HEAD_NODE_1 |
|
protected |
◆ HEAD_NODE_2
int uwUFetch_AUV::HEAD_NODE_2 |
|
protected |
◆ HEAD_NODE_3
int uwUFetch_AUV::HEAD_NODE_3 |
|
protected |
◆ HEAD_NODE_4
int uwUFetch_AUV::HEAD_NODE_4 |
|
protected |
◆ hn_trigg
int uwUFetch_AUV::hn_trigg |
|
protected |
Index of the HN that will be triggered with the next cycle of TRIGGER-RTS-CTS.
Definition at line 1077 of file uwUFetch_AUV.h.
◆ index
◆ initialized
bool uwUFetch_AUV::initialized = false |
|
staticprotected |
Indicate if the protocol has been initialized or not.
Definition at line 1174 of file uwUFetch_AUV.h.
◆ last_hn_triggered
int uwUFetch_AUV::last_hn_triggered |
|
protected |
Index of the HN that was triggered in the previous cycle by the AUV.
Definition at line 1075 of file uwUFetch_AUV.h.
◆ last_reason
Last reason because the NODE change his state.
Definition at line 1145 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1059 of file uwUFetch_AUV.h.
◆ 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
Definition at line 1073 of file uwUFetch_AUV.h.
◆ mac_addr_hn_triggered
int uwUFetch_AUV::mac_addr_hn_triggered |
|
protected |
MAC address of the HN triggered by the AUV.
Definition at line 1081 of file uwUFetch_AUV.h.
◆ MAX_PAYLOAD
double uwUFetch_AUV::MAX_PAYLOAD |
|
protected |
◆ MAX_RTS_RX
const int uwUFetch_AUV::MAX_RTS_RX |
|
staticprotected |
Initial value:
Maximum number of RTS packets that AUV can receive.
Definition at line 1180 of file uwUFetch_AUV.h.
◆ mode_comm_hn_auv
int uwUFetch_AUV::mode_comm_hn_auv |
|
protected |
Indicate how the communication takes place with or without RTS-CTS packets.
Definition at line 985 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1112 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1115 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1110 of file uwUFetch_AUV.h.
◆ N_RUN
◆ 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.
Definition at line 1043 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1046 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1050 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1037 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1040 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1034 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1107 of file uwUFetch_AUV.h.
◆ NUM_HN_NET
int uwUFetch_AUV::NUM_HN_NET |
|
protected |
◆ 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.
Definition at line 1005 of file uwUFetch_AUV.h.
◆ num_pck_hn_1
int uwUFetch_AUV::num_pck_hn_1 |
|
protected |
Counter of the correct DATA packets received by HN 1 from SNs.
Definition at line 1084 of file uwUFetch_AUV.h.
◆ num_pck_hn_2
int uwUFetch_AUV::num_pck_hn_2 |
|
protected |
Counter of the correct DATA packets received by HN 2 from SNs.
Definition at line 1087 of file uwUFetch_AUV.h.
◆ num_pck_hn_3
int uwUFetch_AUV::num_pck_hn_3 |
|
protected |
Counter of the correct DATA packets received by HN 3 from SNs.
Definition at line 1090 of file uwUFetch_AUV.h.
◆ num_pck_hn_4
int uwUFetch_AUV::num_pck_hn_4 |
|
protected |
Counter of the correct DATA packets received by HN 4 from SNs.
Definition at line 1093 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1055 of file uwUFetch_AUV.h.
◆ out_file_logging
std::ofstream uwUFetch_AUV::out_file_logging |
|
protected |
Variable that handle the file in which the protocol write the statistics.
Definition at line 1171 of file uwUFetch_AUV.h.
◆ packetType
Map the UWUFETCH_AUV_PACKET_TYPE to the description of packet type.
Definition at line 1159 of file uwUFetch_AUV.h.
◆ prev_state
Previous state in which the node it was located.
Definition at line 1149 of file uwUFetch_AUV.h.
◆ print_transitions
bool uwUFetch_AUV::print_transitions |
|
protected |
true if the writing of state transitions in the file is enabled.
Definition at line 1177 of file uwUFetch_AUV.h.
◆ Q_data_AUV
std::queue<Packet *> uwUFetch_AUV::Q_data_AUV |
|
protected |
Queue of DATA packets stored by the AUV and received from HNs.
Definition at line 1130 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1138 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1132 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1134 of file uwUFetch_AUV.h.
◆ RTS_timer
Interval time in which the AUV wait a RTS packets from the HNs.
Definition at line 994 of file uwUFetch_AUV.h.
◆ RTT
◆ rx_DATA_finish_time
double uwUFetch_AUV::rx_DATA_finish_time |
|
protected |
Indicates when AUV end the reception of DATA packet.
Definition at line 1031 of file uwUFetch_AUV.h.
◆ rx_DATA_start_time
double uwUFetch_AUV::rx_DATA_start_time |
|
protected |
Indicates when AUV start the reception of DATA packet.
Definition at line 1029 of file uwUFetch_AUV.h.
◆ rx_RTS_finish_time
double uwUFetch_AUV::rx_RTS_finish_time |
|
protected |
Indicates when AUV end the reception of RTS packet.
Definition at line 1023 of file uwUFetch_AUV.h.
◆ rx_RTS_start_time
double uwUFetch_AUV::rx_RTS_start_time |
|
protected |
Indicates when AUV start the reception of RTS packet.
Definition at line 1021 of file uwUFetch_AUV.h.
◆ rxDATAEnabled
bool uwUFetch_AUV::rxDATAEnabled |
|
protected |
true if AUV is enabled to receive a DATA packet
Definition at line 1103 of file uwUFetch_AUV.h.
◆ rxRTSEnabled
bool uwUFetch_AUV::rxRTSEnabled |
|
protected |
true if AUV is enabled to receive a RTS packet
Definition at line 1099 of file uwUFetch_AUV.h.
◆ statusChange
Map the UWUFETCH_AUV_STATUS_CHANGE to the description the reason of changing state.
Definition at line 1155 of file uwUFetch_AUV.h.
◆ statusInfo
Map the UWUFETCH_AUV_STATUS to the description of each state.
Definition at line 1152 of file uwUFetch_AUV.h.
◆ statusTimer
Map the UWUFETCH_TIMER_STATUS to the description of the timers.
Definition at line 1162 of file uwUFetch_AUV.h.
◆ T_GUARD
double uwUFetch_AUV::T_GUARD |
|
protected |
Guard time interval used between two consecutive transmissions of data packets.
Definition at line 981 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 979 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 977 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 983 of file uwUFetch_AUV.h.
◆ 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.
Definition at line 1008 of file uwUFetch_AUV.h.
◆ T_tx_TRIGGER
double uwUFetch_AUV::T_tx_TRIGGER |
|
protected |
Time required to transimt a single TRIGGER packet.
Definition at line 1063 of file uwUFetch_AUV.h.
◆ Tcts
double uwUFetch_AUV::Tcts |
|
protected |
Time needed to transmit a CTS packet.
It contain also the propagation delay
Definition at line 1067 of file uwUFetch_AUV.h.
◆ Tdata
double uwUFetch_AUV::Tdata |
|
protected |
Time needed to transmit a DATA packet.
It contain also the propagation delay
Definition at line 1070 of file uwUFetch_AUV.h.
◆ Trigger_timer
Interval time.
After that the AUV start the transmission of the TRIGGER packet
Definition at line 991 of file uwUFetch_AUV.h.
◆ Trts
double uwUFetch_AUV::Trts |
|
protected |
Time needed to transmit a RTS packet.
It contain also the propagation delay
Definition at line 1065 of file uwUFetch_AUV.h.
◆ tx_CTS_finish_time
double uwUFetch_AUV::tx_CTS_finish_time |
|
protected |
Indicates when AUV end the transmission of CTS packet.
Definition at line 1027 of file uwUFetch_AUV.h.
◆ tx_CTS_start_time
double uwUFetch_AUV::tx_CTS_start_time |
|
protected |
Indicates when AUV start a transmission of CTS packet.
Definition at line 1025 of file uwUFetch_AUV.h.
◆ tx_TRIGGER_finish_time
double uwUFetch_AUV::tx_TRIGGER_finish_time |
|
protected |
Indicates when AUV end the transmission of TRIGGER packet.
Definition at line 1018 of file uwUFetch_AUV.h.
◆ tx_TRIGGER_start_time
double uwUFetch_AUV::tx_TRIGGER_start_time |
|
protected |
Indicates when AUV start a transmission of TRIGGER packet.
Definition at line 1016 of file uwUFetch_AUV.h.
◆ txCTSEnabled
bool uwUFetch_AUV::txCTSEnabled |
|
protected |
true if AUV is enabled to transmit a CTS packet
Definition at line 1101 of file uwUFetch_AUV.h.
◆ txTRIGGEREnabled
bool uwUFetch_AUV::txTRIGGEREnabled |
|
protected |
true if AUV is enabled to transmit a TRIGGER packet
Definition at line 1097 of file uwUFetch_AUV.h.
The documentation for this class was generated from the following files: