|
DESERT 4.0.0
|
#include <uwUFetch_AUV.h>


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) |
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 |
Class that represent the UFetch mac layer for AUV node
|
protected |
|
protected |
< States in which the AUV node may be during Its execution
|
protected |
|
protected |
| uwUFetch_AUV::uwUFetch_AUV | ( | ) |
Constructor of the class UWUFetch
Constructor of the class uwUFetch_AUV
References debugMio_, HEAD_NODE_1, HEAD_NODE_2, HEAD_NODE_3, HEAD_NODE_4, MAX_PAYLOAD, mode_comm_hn_auv, N_RUN, NUM_HN_NET, NUM_MAX_DATA_AUV_WANT_RX, T_GUARD, T_MAX_RTS, T_MIN_RTS, T_RTS, and T_START_PROC_TRIGGER.
|
virtual |
Destructor of the class UWUFetch
Destructor of the class uwUFetch_AUV
Destructor of uwUFetch_AUV class
|
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().

|
virtual |
TCL command interpreter. It implements the following OTCL methods:
| 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). |
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().

|
protectedvirtual |
Compute the transmission time for a specifical type of packet
| tp | type 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().
|
virtual |
Cross-Layer messages interpreter
| ClMessage* | an instance of ClMessage that represent the message received |
|
protectedvirtual |
Transmission of CTS packet
References curr_CTS_pck_tx, and Mac2PhyStartTx().
Referenced by state_CTS_tx().

|
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().

|
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.

|
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.

|
inlineprotected |
Number of CTS packets transmitted by AUV to the HN
References n_CTS_tx_by_AUV.
|
inlineprotected |
Number of DATA packets received by AUV after the transmission of TRIGGER-RTS-CTS packets from a specifical HN
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().
|
protectedvirtual |
Compute the length of time interval within AUV want to receive all DATA packet from specifical HN
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().

|
inlineprotected |
Number of RTS packets received by AUV after the transmission of TRIGGER packet
References n_RTS_rx_by_AUV.
|
protectedvirtual |
Compute the Round Trip Time
References RTT.
Referenced by getDataTimerValue().
|
inlineprotected |
Total number of DATA packets received by AUV from all HNs of the netwrok during the simulation
References n_tot_DATA_rx_by_AUV.
Referenced by command().
|
inlineprotected |
Total number of corrupted DATA packets received by the AUV from all HNs of the network
References n_tot_DATA_rx_corr_by_AUV.
Referenced by command().
|
inlineprotected |
Total number of CTS packets transmitted by AUV during the simulation
References n_tot_CTS_tx_by_AUV.
Referenced by command().
|
inlineprotected |
Total number of RTS received by AUV during the simulation from all HNs of the network
References n_tot_RTS_rx_by_AUV.
Referenced by command().
|
inlineprotected |
Total number of corrupted RTS packets received by AUV from all HNs of the network
References n_tot_RTS_rx_corr_by_AUV.
Referenced by command().
|
inlineprotected |
Total number of TRIGGER packets transmitted by the AUV during the simulation
References n_tot_TRIGGER_tx_by_AUV.
Referenced by command().
|
inlineprotected |
Number of TRIGGER packets transmitted during the simulation during the single cycle
References n_TRIGGER_tx_by_AUV.
Referenced by Phy2MacEndRx(), and RTS_rx().
|
inlineprotected |
Increase of 1 the number of CTS packets transmitted by AUV.
References n_CTS_tx_by_AUV.
Referenced by Phy2MacEndTx().
|
inlineprotected |
Increase of 1 the number of DATA packets received by AUV.
References n_DATA_rx_by_AUV.
Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().
|
inlineprotected |
Increase of 1 the number of RTS packets received by AUV.
References n_RTS_rx_by_AUV.
Referenced by Phy2MacEndRx().
|
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().
|
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().
|
inlineprotected |
Increase of 1 the number of CTS packets transmitted by AUV.
References n_tot_CTS_tx_by_AUV.
Referenced by Phy2MacEndTx().
|
inlineprotected |
Increase of 1 the number of RTS packets received by AUV.
References n_tot_RTS_rx_by_AUV.
Referenced by Phy2MacEndRx().
|
inlineprotected |
Increase of 1 the number of corrupted RTS packets received by AUV.
References n_tot_RTS_rx_corr_by_AUV.
Referenced by Phy2MacEndRx().
|
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().
|
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().
|
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, UWUFETCH_AUV_PACKET_TYPE_CTS, UWUFETCH_AUV_PACKET_TYPE_DATA, UWUFETCH_AUV_PACKET_TYPE_RTS, UWUFETCH_AUV_PACKET_TYPE_TRIGGER, UWUFETCH_AUV_STATUS_CHANGE_ANOTHER_DATA_PCK_RX, UWUFETCH_AUV_STATUS_CHANGE_CTS_INITIALIZED_TX_CTS, UWUFETCH_AUV_STATUS_CHANGE_CTS_TX_WAIT_DATA, UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_FINISHED_TO_RX, UWUFETCH_AUV_STATUS_CHANGE_LAST_DATA_PCK_RX, UWUFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE, UWUFETCH_AUV_STATUS_CHANGE_RTS_FINISHED_TO_RX, UWUFETCH_AUV_STATUS_CHANGE_RTS_FINSHED_TO_STORE, UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_0_RTS_RX, UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_AT_LEAST_ONE_RTS_RX, UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED, UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_INITIALIZE_TX_TRIGGER, UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TO_EXPIRED, UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_TX_WAIT_RTS, UWUFETCH_AUV_STATUS_IDLE, UWUFETCH_AUV_STATUS_RECEIVE_DATA_PACKET, UWUFETCH_AUV_STATUS_RECEIVE_RTS_PACKET, UWUFETCH_AUV_STATUS_TRANSMIT_CTS_PACKET, UWUFETCH_AUV_STATUS_TRANSMIT_TRIGGER, UWUFETCH_AUV_STATUS_WAIT_DATA_HN, UWUFETCH_AUV_STATUS_WAIT_RTS_PACKET, UWUFETCH_TIMER_STATUS_EXPIRED, UWUFETCH_TIMER_STATUS_FROZEN, UWUFETCH_TIMER_STATUS_IDLE, and UWUFETCH_TIMER_STATUS_RUNNING.
Referenced by command().
|
protectedvirtual |
This method must be called by the MAC to instruct the PHY to start the transmission of a packet
| p | pointer 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().

|
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
| p | pointer 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().

|
protectedvirtual |
Handle the end-of-PHY-reception event
| p | pointer to the packet whose reception has ended. |
References another_DATA_received(), curr_DATA_pck_rx, curr_RTS_pck_rx, DATA_rx(), debugMio_, getData_Rx_by_AUV(), getTrigger_Tx_by_AUV(), incrData_Rx_by_AUV(), incrRts_Rx_by_AUV(), incrTotal_Data_Rx_by_AUV(), incrTotal_Data_Rx_corrupted_by_AUV(), incrTotalRts_Rx_by_AUV(), incrTotalRts_Rx_corrupted_by_AUV(), out_file_logging, Phy2MacEndRx_without(), PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_CTS_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_RTS_UFETCH, PT_TRIGGER_UFETCH, refreshReason(), RTS_rx(), rx_DATA_finish_time, rx_RTS_finish_time, rxDATAEnabled, rxRTSEnabled, typeCommunication(), UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_FINISHED_TO_RX, UWUFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE, and UWUFETCH_AUV_STATUS_CHANGE_RTS_FINISHED_TO_RX.

|
protectedvirtual |
Handle the end-of-PHY-reception event in the case protocol doesn't use RTS and CTS packets
| p | pointer to the packet whose reception has ended. |
References another_DATA_received(), curr_DATA_pck_rx, DATA_rx(), DATA_timer, DATA_timer_first_pck, debugMio_, getData_Rx_by_AUV(), incrData_Rx_by_AUV(), incrTotal_Data_Rx_by_AUV(), incrTotal_Data_Rx_corrupted_by_AUV(), mac_addr_hn_triggered, n_DATA_rx_by_AUV, n_TRIGGER_tx_by_AUV, out_file_logging, PT_BEACON_UFETCH, PT_CBEACON_UFETCH, PT_POLL_UFETCH, PT_PROBE_UFETCH, PT_TRIGGER_UFETCH, refreshReason(), rx_DATA_finish_time, rxDATAEnabled, hdr_uwcbr::sn(), stateIdle_AUV(), txTRIGGEREnabled, UWUFETCH_AUV_STATUS_CHANGE_DATA_PCK_FINISHED_TO_RX, UWUFETCH_AUV_STATUS_CHANGE_PACKET_FOR_ANOTHER_NODE, and UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
Handle the end-of-PHY-transmission event
| 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. |
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.

|
protectedvirtual |
Handle the end-of-PHY-transmission event in the case protocol doesn't use RTS and CTS packets
| 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. |
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().

|
protectedvirtual |
Handle the detected-start-of-PHY-reception event
| p | pointer 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().

|
protectedvirtual |
Handle the detected-start-of-PHY-reception event in the case protocol doesn't use RTS and CTS packets
| p | pointer 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().
|
protectedvirtual |
Prints a file with every state change for debug purposes.
| double | delay |
References curr_state, fout, last_reason, prev_state, statusChange, and statusInfo.
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().
|
inlineprotectedvirtual |
Refresh the reason for the changing of the state
| reason | The 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().
|
inlineprotectedvirtual |
Refresh the state of the protocol
| state | current 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().
|
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
References hdr_RTS_UFETCH::backoff_time_RTS(), curr_RTS_pck_rx, debugMio_, getTrigger_Tx_by_AUV(), hdr_RTS_UFETCH::num_DATA_pcks(), out_file_logging, print_transitions, printStateInfo(), Q_rts_backoff_time, Q_rts_mac_HN, Q_rts_n_pcks_HN_want_tx_AUV, refreshReason(), refreshState(), RTS_timer, rxRTSEnabled, state_CTS_tx(), Trigger_timer, txCTSEnabled, UWUFETCH_AUV_STATUS_CHANGE_RTS_FINSHED_TO_STORE, and UWUFETCH_AUV_STATUS_RECEIVE_RTS_PACKET.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
Timeout within AUV is enabled to receive RTS packet is expired
References debugMio_, n_CTS_tx_by_AUV, n_DATA_rx_by_AUV, n_RTS_rx_by_AUV, n_TRIGGER_tx_by_AUV, out_file_logging, Q_rts_mac_HN, refreshReason(), rxRTSEnabled, state_CTS_tx(), stateIdle_AUV(), txCTSEnabled, txTRIGGEREnabled, UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_0_RTS_RX, and UWUFETCH_AUV_STATUS_CHANGE_RTS_TO_EXPIRED_AT_LEAST_ONE_RTS_RX.

|
protectedvirtual |
Initialization of CTS packet that will be forwarded to the specifical HN.
References CTS_tx(), curr_CTS_pck_tx, debugMio_, mac_addr_HN_ctsed, hdr_CTS_UFETCH::mac_addr_HN_ctsed(), hdr_CTS_UFETCH::num_DATA_pcks_MAX_rx(), NUM_MAX_DATA_AUV_WANT_RX, number_data_pck_AUV_rx_exact, out_file_logging, print_transitions, printStateInfo(), PT_CTS_UFETCH, Q_rts_mac_HN, Q_rts_n_pcks_HN_want_tx_AUV, refreshReason(), refreshState(), txCTSEnabled, UWUFETCH_AUV_STATUS_CHANGE_CTS_INITIALIZED_TX_CTS, and UWUFETCH_AUV_STATUS_TRANSMIT_CTS_PACKET.
Referenced by RTS_rx(), and RtsTOExpired().

|
protectedvirtual |
Initialization of TRIGGER packet that will be forwarded in broadcast to the HNs. Case in which UFetch protocol use RTS and CTS packets
References curr_TRIGGER_pck_tx, debugMio_, hdr_TRIGGER_UFETCH::max_pck_want_rx(), NUM_MAX_DATA_AUV_WANT_RX, out_file_logging, print_transitions, printStateInfo(), PT_TRIGGER_UFETCH, refreshReason(), refreshState(), state_TRIGGER_tx_without(), hdr_TRIGGER_UFETCH::t_max(), T_MAX_RTS, hdr_TRIGGER_UFETCH::t_min(), T_MIN_RTS, TRIGGER_tx(), typeCommunication(), UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_INITIALIZE_TX_TRIGGER, and UWUFETCH_AUV_STATUS_TRANSMIT_TRIGGER.
Referenced by stateIdle_AUV(), and TriggerTOExpired().

|
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
References curr_TRIGGER_pck_tx, debugMio_, HEAD_NODE_1, HEAD_NODE_2, HEAD_NODE_3, HEAD_NODE_4, index, mac_addr_hn_triggered, hdr_TRIGGER_UFETCH::max_pck_want_rx(), NUM_HN_NET, NUM_MAX_DATA_AUV_WANT_RX, out_file_logging, print_transitions, printStateInfo(), PT_TRIGGER_UFETCH, refreshReason(), refreshState(), hdr_TRIGGER_UFETCH::t_max(), T_MAX_RTS, hdr_TRIGGER_UFETCH::t_min(), T_MIN_RTS, TRIGGER_tx(), UWUFETCH_AUV_STATUS_CHANGE_TRIGGER_INITIALIZE_TX_TRIGGER, and UWUFETCH_AUV_STATUS_TRANSMIT_TRIGGER.
Referenced by state_TRIGGER_tx().

|
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().

|
protectedvirtual |
AUV is waiting the FIRST DATA packet from the HN to whom It has sent a RTS and CTS packet
References data_timeout, DATA_timer, debugMio_, getData_Rx_by_AUV(), getDataTimerValue(), mac_addr_HN_ctsed, mac_addr_hn_triggered, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxDATAEnabled, uwUFetch_AUV::uwUFetch_timer::schedule(), state_wait_first_DATA_without(), typeCommunication(), and UWUFETCH_AUV_STATUS_WAIT_DATA_HN.
Referenced by Phy2MacEndTx(), and Phy2MacEndTx_without().

|
protectedvirtual |
AUV is waiting the FIRST DATA packet from the HN to whom It has sent only RTS packet
References data_timeout, DATA_timer, DATA_timer_first_pck, debugMio_, getData_Rx_by_AUV(), getDataTimerValue(), mac_addr_hn_triggered, out_file_logging, print_transitions, printStateInfo(), refreshState(), rxDATAEnabled, uwUFetch_AUV::uwUFetch_timer::schedule(), and UWUFETCH_AUV_STATUS_WAIT_DATA_HN.
Referenced by state_wait_first_DATA().

|
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().

|
protectedvirtual |
Idle state. Each variables are resetted
References debugMio_, last_reason, out_file_logging, print_transitions, printStateInfo(), refreshState(), uwUFetch_AUV::uwUFetch_timer::schedule(), state_TRIGGER_tx(), T_START_PROC_TRIGGER, Trigger_timer, txTRIGGEREnabled, UWUFETCH_AUV_STATUS_CHANGE_TO_WAIT_DATA_EXPIRED, and UWUFETCH_AUV_STATUS_IDLE.
Referenced by another_DATA_received(), command(), DataTOExpired(), DataTOExpired_first(), Phy2MacEndRx_without(), and RtsTOExpired().

|
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().

|
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.

|
protectedvirtual |
Establish whether the communication between SN and AUV take place with RTS and CTS or only using TRIGGER packet
References mode_comm_hn_auv.
Referenced by Phy2MacEndRx(), Phy2MacEndTx(), Phy2MacStartRx(), state_TRIGGER_tx(), state_wait_first_DATA(), and TRIGGER_tx().
|
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().
|
protectedvirtual |
Method used for debug
|
protected |
Pointer to the CTS packet that is being transmitted by AUV
Referenced by CTS_tx(), and state_CTS_tx().
|
protected |
Pointer to the DATA packet that is being received by AUV
Referenced by DATA_rx(), Phy2MacEndRx(), and Phy2MacEndRx_without().
|
protected |
Pointer to the RTS packet that is being received by AUV
Referenced by Phy2MacEndRx(), and RTS_rx().
|
protected |
Current state in which the node is located
Referenced by printStateInfo(), and refreshState().
|
protected |
Pointer to the TRIGGER packet that is being transmitted by AUV
Referenced by state_TRIGGER_tx(), state_TRIGGER_tx_without(), and TRIGGER_tx().
|
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().
|
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().
|
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().
|
protected |
Used if we want to create the logging file
Referenced by another_DATA_received(), command(), DATA_rx(), DataTOExpired(), DataTOExpired_first(), Mac2PhyStartTx(), Mac2PhyStartTx_without(), Phy2MacEndRx(), Phy2MacEndRx_without(), Phy2MacEndTx(), Phy2MacEndTx_without(), Phy2MacStartRx(), Phy2MacStartRx_without(), RTS_rx(), RtsTOExpired(), 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(), stateIdle_AUV(), TriggerTOExpired(), updateQueueRTS(), and uwUFetch_AUV().
|
protected |
Variable that handle the file in which the protocol write the state transition for debug purposes
Referenced by command(), and printStateInfo().
|
protected |
Id number of HN 1
Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().
|
protected |
Id number of HN 2
Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().
|
protected |
Id number of HN 3
Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().
|
protected |
Id number of HN 4
Referenced by DATA_rx(), state_TRIGGER_tx_without(), and uwUFetch_AUV().
|
protected |
Index of the HN that will be triggered with the next cycle of TRIGGER-RTS-CTS
|
protected |
Referenced by state_TRIGGER_tx_without().
|
staticprotected |
Indicate if the protocol has been initialized or not
Referenced by command(), and initInfo().
|
protected |
Index of the HN that was triggered in the previous cycle by the AUV
|
protected |
Last reason because the NODE change his state
Referenced by printStateInfo(), refreshReason(), and stateIdle_AUV().
|
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().
|
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().
|
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().
|
protected |
Maximum size of DATA PAYLOAD packet
Referenced by computeTxTime(), and uwUFetch_AUV().
|
staticprotected |
Maximum number of RTS packets that AUV can receive
|
protected |
Indicate how the communication takes place with or without RTS-CTS packets
Referenced by typeCommunication(), and uwUFetch_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().
|
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().
|
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().
|
protected |
Number of run in execution
Referenced by command(), and uwUFetch_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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
protected |
Number of Head Nodes in the network
Referenced by state_TRIGGER_tx_without(), and uwUFetch_AUV().
|
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().
|
protected |
Counter of the correct DATA packets received by HN 1 from SNs
Referenced by DATA_rx().
|
protected |
Counter of the correct DATA packets received by HN 2 from SNs
Referenced by DATA_rx().
|
protected |
Counter of the correct DATA packets received by HN 3 from SNs
Referenced by DATA_rx().
|
protected |
Counter of the correct DATA packets received by HN 4 from SNs
Referenced by DATA_rx().
|
protected |
Number of DATA packets that AUV want exactly received from the HN
Referenced by another_DATA_received(), getDataTimerValue(), and state_CTS_tx().
|
protected |
Variable that handle the file in which the protocol write the statistics
Referenced by another_DATA_received(), command(), DATA_rx(), DataTOExpired(), DataTOExpired_first(), Mac2PhyStartTx(), Mac2PhyStartTx_without(), Phy2MacEndRx(), Phy2MacEndRx_without(), Phy2MacEndTx(), Phy2MacEndTx_without(), Phy2MacStartRx(), Phy2MacStartRx_without(), RTS_rx(), RtsTOExpired(), 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(), stateIdle_AUV(), TriggerTOExpired(), and updateQueueRTS().
|
staticprotected |
Map the UWUFETCH_AUV_PACKET_TYPE to the description of packet type
Referenced by initInfo().
|
protected |
Previous state in which the node it was located
Referenced by printStateInfo(), and refreshState().
|
protected |
true if the writing of state transitions in the file is enabled.
Referenced by command(), DATA_rx(), initInfo(), 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().
|
protected |
Queue of DATA packets stored by the AUV and received from HNs
Referenced by DATA_rx().
|
protected |
Queue that stored the backoff time choice by the single HN before to transmit RTS packet
Referenced by RTS_rx(), and updateQueueRTS().
|
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().
|
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().
|
protected |
Interval time in which the AUV wait a RTS packets from the HNs
Referenced by RTS_rx(), and state_wait_RTS().
|
protected |
Round Trip Time
Referenced by getDataTimerValue(), and getRTT().
|
protected |
Indicates when AUV end the reception of DATA packet
Referenced by Phy2MacEndRx(), and Phy2MacEndRx_without().
|
protected |
Indicates when AUV start the reception of DATA packet
Referenced by Phy2MacStartRx(), and Phy2MacStartRx_without().
|
protected |
Indicates when AUV end the reception of RTS packet
Referenced by Phy2MacEndRx().
|
protected |
Indicates when AUV start the reception of RTS packet
Referenced by Phy2MacStartRx().
|
protected |
true if AUV is enabled to receive a DATA packet
Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), Phy2MacEndRx(), Phy2MacEndRx_without(), state_wait_first_DATA(), and state_wait_first_DATA_without().
|
protected |
true if AUV is enabled to receive a RTS packet
Referenced by Phy2MacEndRx(), RTS_rx(), RtsTOExpired(), state_wait_RTS(), and TriggerTOExpired().
|
staticprotected |
Map the UWUFETCH_AUV_STATUS_CHANGE to the description the reason of changing state
Referenced by initInfo(), and printStateInfo().
|
staticprotected |
Map the UWUFETCH_AUV_STATUS to the description of each state
Referenced by initInfo(), and printStateInfo().
|
staticprotected |
Map the UWUFETCH_TIMER_STATUS to the description of the timers
Referenced by initInfo().
|
protected |
Guard time interval used between two consecutive transmissions of data packets
Referenced by getDataTimerValue(), and uwUFetch_AUV().
|
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().
|
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().
|
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().
|
protected |
Time before that the AUV start the procedure to transmit a TRIGGER packet
Referenced by stateIdle_AUV(), and uwUFetch_AUV().
|
protected |
Time required to transimt a single TRIGGER packet
Referenced by computeTxTime(), and Mac2PhyStartTx().
|
protected |
Time needed to transmit a CTS packet. It contain also the propagation delay
|
protected |
Time needed to transmit a DATA packet. It contain also the propagation delay
Referenced by computeTxTime(), and getDataTimerValue().
|
protected |
Interval time. After that the AUV start the transmission of the TRIGGER packet
Referenced by RTS_rx(), and stateIdle_AUV().
|
protected |
Time needed to transmit a RTS packet. It contain also the propagation delay
|
protected |
Indicates when AUV end the transmission of CTS packet
Referenced by Phy2MacEndTx().
|
protected |
Indicates when AUV start a transmission of CTS packet
Referenced by Mac2PhyStartTx().
|
protected |
Indicates when AUV end the transmission of TRIGGER packet
Referenced by Phy2MacEndTx(), and Phy2MacEndTx_without().
|
protected |
Indicates when AUV start a transmission of TRIGGER packet
Referenced by Mac2PhyStartTx(), and Mac2PhyStartTx_without().
|
protected |
true if AUV is enabled to transmit a CTS packet
Referenced by Phy2MacEndTx(), RTS_rx(), RtsTOExpired(), and state_CTS_tx().
|
protected |
true if AUV is enabled to transmit a TRIGGER packet
Referenced by another_DATA_received(), DataTOExpired(), DataTOExpired_first(), Phy2MacEndRx_without(), Phy2MacEndTx(), Phy2MacEndTx_without(), RtsTOExpired(), stateIdle_AUV(), and TriggerTOExpired().