|
DESERT 4.0.0
|
#include <uwpolling_AUV.h>


Classes | |
| class | AckTimer |
| class | DataTimer |
| class | PollTimer |
| class | ProbeTimer |
| class | Uwpolling_AUV_Timer |
Public Member Functions | |
| Uwpolling_AUV () | |
| virtual | ~Uwpolling_AUV () |
| virtual int | command (int argc, const char *const *argv) |
| virtual int | crLayCommand (ClMessage *m) |
Protected Member Functions | |
| double | getMaxBackoffTime () |
| virtual double | linearInterpolator (double x, double x1, double x2, double y1, double y2) |
| virtual void | Mac2PhyStartTx (Packet *p) |
| virtual void | Phy2MacEndTx (const Packet *p) |
| virtual void | Phy2MacStartRx (const Packet *p) |
| virtual void | Phy2MacEndRx (Packet *p) |
| void | incrTriggerTx () |
| void | incrProbeRx () |
| void | incrAckRx () |
| void | incrWrongNodeDataSent () |
| void | incrDroppedProbePkts () |
| void | incrDroppedAckPkts () |
| void | incrDroppedProbeWrongState () |
| void | incrPollTx () |
| int | getTriggerTx () |
| int | getProbeRx () |
| int | getAckRx () |
| int | getWrongNodeDataSent () |
| int | getPollSent () |
| int | getDroppedProbePkts () |
| int | getDroppedAckPkts () |
| int | getDroppedProbeWrongState () |
| virtual void | refreshReason (UWPOLLING_AUV_REASON reason) |
| virtual void | refreshState (UWPOLLING_AUV_STATUS state) |
| virtual void | stateRxProbe () |
| virtual void | stateRxData () |
| virtual void | stateWaitProbe () |
| virtual void | stateWaitData () |
| virtual void | stateIdle () |
| virtual void | stateTxTrigger () |
| virtual void | stateTxPoll () |
| virtual void | DataTOExpired () |
| virtual void | ProbeTOExpired () |
| virtual void | initInfo () |
| virtual void | TxTrigger () |
| virtual void | TxPoll () |
| virtual void | SortNode2Poll () |
| virtual void | ChangeNodePolled () |
| virtual double | GetDataTimerValue () |
| virtual void | computeTxTime (UWPOLLING_PKT_TYPE pkt) |
| virtual void | UpdateRTT () |
| virtual void | stop_count_time () |
| double | GetTotalReceivingTime () |
| virtual void | waitForUser () |
| unsigned long int | getEpoch () |
| virtual void | recvFromUpperLayers (Packet *p) |
| virtual void | stateTx () |
| virtual void | stateTxData () |
| virtual void | txData () |
| virtual void | stateWaitAck () |
| virtual void | ackTOExpired () |
| virtual void | stateAckRx () |
| virtual void | handleAck () |
| virtual void | handleNoAck () |
| virtual void | handleProbeAck () |
| virtual void | addNode2List () |
| virtual void | addSink2List () |
| virtual uint16_t | getPollTime () |
| virtual uint | getRxPkts (int mac_addr) |
| bool | initBackoffLUT () |
Static Protected Attributes | |
| static std::map< UWPOLLING_PKT_TYPE, std::string > | pkt_type_info |
| static std::map< UWPOLLING_AUV_STATUS, std::string > | status_info |
| static std::map< UWPOLLING_AUV_REASON, std::string > | reason_info |
| static bool | initialized = false |
Class used to represent the UWPOLLING MAC layer of the AUV
|
protected |
|
protected |
< Variable that rapresent the status of the protocol machine state
|
protected |
|
protected |
| Uwpolling_AUV::Uwpolling_AUV | ( | ) |
Constructor of the Uwpolling_AUV class
References ack_enabled, DATA_POLL_guard_time_, full_knowledge, max_buffer_size, max_payload, max_polled_node, max_tx_pkts, modem_data_bit_rate, n_run, print_stats_, probe_counters, probe_cicle_counters::resetCounters(), sea_trial_, T_ack_timer, T_guard, T_max, T_min, T_probe, and T_probe_guard.

|
virtual |
Destructor of the Uwpolling_AUV class
|
protectedvirtual |
ACK TIMER is Expired. In this method the reception of ACK is disabled and the protocol is moved to StateIdle
References acked, ChangeNodePolled(), and enableAckRx.

|
protectedvirtual |
Add a node to the list of probbed nodes
References curr_probe_packet, probbed_node::id_node, hdr_PROBE::id_node(), probbed_node::is_sink_, list_probbed_node, probbed_node::mac_address, probbed_node::n_pkts, hdr_PROBE::n_pkts(), probbed_node::policy_weight, polling_index, probe_rtt, rx_pkts_map, probbed_node::time_stamp, probbed_node::Tmeasured, and hdr_PROBE::ts().
Referenced by stateRxProbe().

|
protectedvirtual |
Add a sink node to the list of probbed nodes
References curr_probe_packet, probbed_node::id_ack, hdr_PROBE_SINK::id_ack(), probbed_node::id_node, hdr_PROBE_SINK::id_sink(), probbed_node::is_sink_, probbed_node::mac_address, probbed_node::policy_weight, polling_index, probbed_sink, probe_rtt, sink_inserted, and probbed_node::Tmeasured.
Referenced by stateRxProbe().

|
protectedvirtual |
The first element of the list of nodes is trimmed and the next node is polled.
References getEpoch(), list_probbed_node, polling_index, refreshReason(), RxDataEnabled, stateIdle(), stateTx(), TxEnabled, and UWPOLLING_AUV_REASON_LAST_POLLED_NODE.
Referenced by ackTOExpired(), DataTOExpired(), Phy2MacEndTx(), stateAckRx(), stateRxData(), and stateTx().

|
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 backoff_LUT_file, getDroppedProbePkts(), getDroppedProbeWrongState(), getPollSent(), getProbeRx(), getRxPkts(), GetTotalReceivingTime(), getTriggerTx(), getWrongNodeDataSent(), initBackoffLUT(), initialized, initInfo(), lut_token_separator, stateIdle(), and stop_count_time().

|
protectedvirtual |
Compute the Transmission Time for various type of packet using a CrossLayer Message to ask the PHY to compute the transmission time
| UWPOLLING_PKT_TYPE | the type of the packet |
References max_payload, polling_index, Tdata, Tpoll, Tprobe, Ttrigger, UWPOLLING_DATA_PKT, UWPOLLING_POLL_PKT, UWPOLLING_PROBE_PKT, and UWPOLLING_TRIGGER_PKT.
Referenced by GetDataTimerValue(), getPollTime(), and stateTx().
|
virtual |
Cross-Layer messages interpreter
| ClMessage* | an instance of ClMessage that represent the message received |
|
protectedvirtual |
DATA TIMER is Expired. In this method the reception of DATA is disabled.
References ChangeNodePolled(), refreshReason(), RxDataEnabled, and UWPOLLING_AUV_REASON_RX_DATA_TO.

|
inlineprotected |
Returns the number of ACK received during the simulation
References n_ack_rx.
|
protectedvirtual |
Calculation of DATA TIMER value based on the number of packet that a node need to transmit, the packet time and the RTT between the node and the AUV
References computeTxTime(), curr_RTT, getEpoch(), max_payload, modem_data_bit_rate, N_expected_pkt, sea_trial_, T_guard, Tdata, UpdateRTT(), and UWPOLLING_DATA_PKT.
Referenced by stateWaitData().

|
inlineprotected |
Return the number of PROBE packets discarded because of wrong CRC
References n_dropped_ack_pkts.
|
inlineprotected |
Return the number of PROBE packets discarded because of wrong CRC
References N_dropped_probe_pkts.
Referenced by command().
|
inlineprotected |
Return the number of PROBE packets discarded because sent after the maximum time allowed
References N_dropped_probe_wrong_state.
Referenced by command().
|
inlineprotected |
Calculate the epoch of the event. Used in sea-trial mode
Referenced by ChangeNodePolled(), GetDataTimerValue(), getMaxBackoffTime(), handleAck(), handleNoAck(), handleProbeAck(), initInfo(), Phy2MacEndRx(), Phy2MacEndTx(), Phy2MacStartRx(), ProbeTOExpired(), recvFromUpperLayers(), SortNode2Poll(), stateAckRx(), stateIdle(), stateRxData(), stateRxProbe(), stateTx(), stateTxPoll(), stateTxTrigger(), stateWaitAck(), stateWaitData(), stateWaitProbe(), txData(), TxPoll(), TxTrigger(), and UpdateRTT().
|
protected |
Reference to the backoff_time variable
References backoff_LUT, enable_adaptive_backoff, full_knowledge, getEpoch(), ClMsgUwPhyGetLostPkts::getLostPkts(), probe_cicle_counters::getNumberOfNeighbors(), last_probe_lost, linearInterpolator(), probe_cicle_counters::n_probe_detected, probe_cicle_counters::n_probe_received, probe_counters, T_max, T_probe, and T_probe_guard.
Referenced by stateTxTrigger().

|
inlineprotected |
|
protectedvirtual |
Estimate the time needed by the AUV to POLL all the remaining node in the probbed node list
References computeTxTime(), list_probbed_node, max_payload, max_tx_pkts, modem_data_bit_rate, sea_trial_, T_guard, Tdata, temp_buffer, tx_buffer, and UWPOLLING_DATA_PKT.
Referenced by stateTxPoll().

|
inlineprotected |
Returns the number of PROBE received during the simulation
References n_probe_rx.
Referenced by command().
|
protectedvirtual |
Get the packets received from the node with the given mac address
References rx_pkts_map.
Referenced by command().
|
inlineprotected |
Permits to retrieve the total time in which the AUV has received DATA packets.
References total_time.
Referenced by command().
|
inlineprotected |
Returns the number of TRIGGER sent during the simulation
References n_trigger_tx.
Referenced by command().
|
inlineprotected |
Returns the number of Data Packet sent by Nodes not polled (used for debug purposes)
References wrong_node_data_sent.
Referenced by command().
|
protectedvirtual |
Handle a received ack, reinserting in the buffer the packet not received by the sink.
References curr_ack_packet, getEpoch(), hdr_ACK_SINK::id_ack(), hdr_AUV_MULE::pkt_uid(), temp_buffer, and tx_buffer.
Referenced by stateAckRx().

|
protectedvirtual |
Handle case with no ack received. Reinsert packets in the tx buffer
References getEpoch(), temp_buffer, and tx_buffer.
Referenced by stateTx().

|
protectedvirtual |
Handle the ack received in the probe packet tx by the sink.
References curr_probe_packet, getEpoch(), hdr_PROBE_SINK::id_ack(), hdr_AUV_MULE::pkt_uid(), temp_buffer, and tx_buffer.
Referenced by stateRxProbe().

|
inlineprotected |
Increases the number of Ack packets received. Used for statistical purposes
References n_ack_rx.
Referenced by Phy2MacEndRx().
|
inlineprotected |
Increases the number of wrong ACK packet received. Used for statistical purposes
References n_dropped_ack_pkts.
Referenced by Phy2MacEndRx().
|
inlineprotected |
Increases the number of wrong PROBE packet received. Used for statistical purposes
References N_dropped_probe_pkts.
Referenced by Phy2MacEndRx().
|
inlineprotected |
Increase the number of PROBEs packets dropped because the AUV was not in the RX_PROBE state. This probes are sent from sensors after the maximum time allowed for PROBE transmission.
References N_dropped_probe_wrong_state.
Referenced by stateRxProbe().
|
inlineprotected |
|
inlineprotected |
Increases the number of PROBE packets received. Used for statistical purposes
References n_probe_rx.
Referenced by stateRxProbe().
|
inlineprotected |
Increases the number of TRIGGER packets sent. Used for statistical purposes
| Packet* |
References n_trigger_tx.
Referenced by TxTrigger().
|
inlineprotected |
Increases the number of DATA packets received from node that are not POLLED anymore (i.e. they transmit a data packet when the DataTimer is expired. Used for statistical purposes.
References wrong_node_data_sent.
Referenced by stateRxData().
|
protected |
Initialize the backoff LUT. Erase it an re initialize it if already populated return false if file not found
References backoff_LUT, backoff_LUT_file, enable_adaptive_backoff, and lut_token_separator.
Referenced by command().
|
protectedvirtual |
Prints a file with every state change for debug purposes.
| double | delay Initializes the protocol at the beginning of the simulation. This method is called by a command in tcl. |
| double | delay |
References getEpoch(), initialized, n_run, out_file_stats, pkt_type_info, print_stats_, reason_info, sea_trial_, status_info, UWPOLLING_AUV_REASON_DATA_RX, UWPOLLING_AUV_REASON_LAST_PACKET_RECEIVED, UWPOLLING_AUV_REASON_LAST_POLLED_NODE, UWPOLLING_AUV_REASON_MAX_PROBE_RECEIVED, UWPOLLING_AUV_REASON_PACKET_ERROR, UWPOLLING_AUV_REASON_PROBE_RECEIVED, UWPOLLING_AUV_REASON_PROBE_TO_EXPIRED, UWPOLLING_AUV_REASON_RX_DATA_TO, UWPOLLING_AUV_REASON_TX_POLL, UWPOLLING_AUV_REASON_TX_TRIGGER, UWPOLLING_AUV_STATUS_IDLE, UWPOLLING_AUV_STATUS_RX_DATA, UWPOLLING_AUV_STATUS_RX_PROBES, UWPOLLING_AUV_STATUS_TX_DATA, UWPOLLING_AUV_STATUS_TX_POLL, UWPOLLING_AUV_STATUS_TX_TRIGGER, UWPOLLING_AUV_STATUS_WAIT_ACK, UWPOLLING_AUV_STATUS_WAIT_DATA, UWPOLLING_AUV_STATUS_WAIT_PROBE, UWPOLLING_DATA_PKT, UWPOLLING_POLL_PKT, UWPOLLING_PROBE_PKT, and UWPOLLING_TRIGGER_PKT.
Referenced by command().

|
protectedvirtual |
Calculate the linear interpolation between two 2-D points
| x | x-coordinate of which we need to finde the value. |
| x1 | x-coordinate of the first point |
| x2 | x-coordinate of the second point |
| y1 | y-coordinate of the first point |
| y2 | y-coordinate of the second point |
References q.
Referenced by getMaxBackoffTime().
|
protectedvirtual |
Pass the packet to the PHY layer
| Event* | Pointer to an object of type Packet that rapresent the Packet to transmit |
Referenced by txData(), TxPoll(), and TxTrigger().
|
protectedvirtual |
Method called when the Phy Layer finish to receive a Packet
| const | Packet* Pointer to an object of type Packet that rapresent the packet received |
References ack_enabled, begin, curr_ack_packet, curr_data_packet, curr_probe_packet, getEpoch(), incrAckRx(), incrDroppedAckPkts(), incrDroppedProbePkts(), probe_cicle_counters::incrementCounters(), initial_time, probe_cicle_counters::n_probe_detected, out_file_stats, pkt_time, print_stats_, probe_counters, probe_rtt, PT_ACK_SINK, PT_POLL, PT_PROBE, PT_PROBE_SINK, PT_TRIGGER, refreshReason(), sea_trial_, stateAckRx(), stateRxData(), stateRxProbe(), UWPOLLING_AUV_REASON_DATA_RX, UWPOLLING_AUV_REASON_PACKET_ERROR, and UWPOLLING_AUV_REASON_PROBE_RECEIVED.

|
protectedvirtual |
Method called when the PHY layer finish to transmit the packet.
| Packet* | Pointer to an object of type Packet that rapresent the Packet transmitted |
References ack_enabled, ChangeNodePolled(), getEpoch(), n_pkts_to_tx, n_tx_pkts, PT_POLL, PT_TRIGGER, refreshReason(), stateTxData(), stateWaitAck(), stateWaitData(), stateWaitProbe(), and UWPOLLING_AUV_REASON_TX_TRIGGER.

|
protectedvirtual |
Method called when the Phy Layer start to receive a Packet
| const | Packet* Pointer to an object of type Packet that rapresent the Packet that is in reception |
References getEpoch(), PT_ACK_SINK, PT_PROBE, and PT_PROBE_SINK.

|
protectedvirtual |
PROBE TIMER is Expired. In this method the reception of PROBE is disabled
References getEpoch(), polling_index, refreshReason(), RxProbeEnabled, stateIdle(), stateTx(), TxEnabled, and UWPOLLING_AUV_REASON_PROBE_TO_EXPIRED.

|
protectedvirtual |
Handle a packet coming from upper layers
| p | pointer to the packet |
References getEpoch(), max_buffer_size, out_file_stats, hdr_AUV_MULE::pkt_uid(), print_stats_, sea_trial_, hdr_uwcbr::sn_, temp_buffer, tx_buffer, and uid_tx_pkt.

|
inlineprotectedvirtual |
Refresh the reason for the changing of the state
| UWPOLLING_AUV_REASON | The reason of the change of the state |
References last_reason, and reason.
Referenced by ChangeNodePolled(), DataTOExpired(), Phy2MacEndRx(), Phy2MacEndTx(), ProbeTOExpired(), stateRxData(), stateRxProbe(), and stateTxTrigger().
|
inlineprotectedvirtual |
Refresh the state of the protocol
| UWPOLLING_AUV_STATUS | current state of the protcol |
References curr_state, and prev_state.
Referenced by stateAckRx(), stateIdle(), stateRxData(), stateRxProbe(), stateTxData(), stateTxPoll(), stateTxTrigger(), stateWaitAck(), stateWaitData(), and stateWaitProbe().
|
protectedvirtual |
Method in which the node that has sent correctly the PROBE packet is sorted in order to give the priority to the nodes that has the most recent data packet.
ELEMENTS SHOULD BE ORDERED, ONLY NEED TO INSERT SINK IN THE RIGHT POSITION
References curr_is_sink, curr_node_id, curr_polled_node_address, curr_Tmeasured, getEpoch(), list_probbed_node, max_tx_pkts, N_expected_pkt, probbed_sink, sink_inserted, temp_buffer, and tx_buffer.
Referenced by stateTx().

|
protectedvirtual |
Handle the recption of an ACK from the sink
References ack_timer, acked, ChangeNodePolled(), curr_ack_packet, enableAckRx, getEpoch(), handleAck(), refreshState(), and UWPOLLING_AUV_STATUS_RX_ACK.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
IDLE state. Each variable is resetted
References data_timer, getEpoch(), n_tx_pkts, polling_index, probe_timer, refreshState(), stateTxTrigger(), TxEnabled, and UWPOLLING_AUV_STATUS_IDLE.
Referenced by ChangeNodePolled(), command(), ProbeTOExpired(), and stateTxPoll().

|
protectedvirtual |
State of the protocol in which there's a reception of a DATA packet
References ChangeNodePolled(), curr_data_packet, curr_polled_node_address, curr_state, DATA_POLL_guard_time_, data_timer, getEpoch(), incrWrongNodeDataSent(), N_expected_pkt, out_file_stats, packet_index, poll_timer, print_stats_, refreshReason(), refreshState(), rx_pkts_map, RxDataEnabled, Uwpolling_AUV::Uwpolling_AUV_Timer::schedule(), sea_trial_, hdr_uwcbr::sn_, status_info, UWPOLLING_AUV_REASON_LAST_PACKET_RECEIVED, and UWPOLLING_AUV_STATUS_RX_DATA.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
State of the protocol in which there's a reception of a PROBE packet
| UWPOLLING_AUV_STATUS | state |
References acked, addNode2List(), addSink2List(), curr_probe_packet, curr_state, getEpoch(), handleProbeAck(), hdr_PROBE_SINK::id_ack_, hdr_PROBE::id_node_, hdr_PROBE_SINK::id_sink_, incrDroppedProbeWrongState(), incrProbeRx(), max_polled_node, hdr_PROBE::n_pkts_, out_file_stats, polling_index, print_stats_, probe_timer, hdr_PROBE::PROBE_uid_, hdr_PROBE_SINK::PROBE_uid_, PT_PROBE, PT_PROBE_SINK, refreshReason(), refreshState(), RxProbeEnabled, sea_trial_, stateTx(), status_info, TxEnabled, UWPOLLING_AUV_REASON_MAX_PROBE_RECEIVED, and UWPOLLING_AUV_STATUS_RX_PROBES.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
Handle the transmission after poll reception. Decide if transmit data to the sink or to trnasmit poll to other nodes in the list
References ack_enabled, ack_timer, acked, ChangeNodePolled(), computeTxTime(), curr_is_sink, curr_Tmeasured, getEpoch(), handleNoAck(), last_pkt_uid, max_payload, max_tx_pkts, modem_data_bit_rate, n_pkts_to_tx, hdr_AUV_MULE::pkt_uid(), Uwpolling_AUV::Uwpolling_AUV_Timer::schedule(), sea_trial_, SortNode2Poll(), stateTxData(), stateTxPoll(), T_ack_timer, T_guard, Tdata, tx_buffer, TxEnabled, and UWPOLLING_DATA_PKT.
Referenced by ChangeNodePolled(), ProbeTOExpired(), and stateRxProbe().

|
protectedvirtual |
Handle the data transmission after poll reception.
References curr_tx_data_packet, last_pkt_uid, hdr_AUV_MULE::last_pkt_uid(), n_tx_pkts, refreshState(), temp_buffer, tx_buffer, txData(), TxEnabled, and UWPOLLING_AUV_STATUS_TX_DATA.
Referenced by Phy2MacEndTx(), and stateTx().

|
protectedvirtual |
State of the protocol in which a POLL packet is initialized
References curr_node_id, curr_poll_packet, curr_state, getEpoch(), getPollTime(), hdr_POLL::id_, out_file_stats, hdr_POLL::POLL_time(), POLL_uid, hdr_POLL::POLL_uid_, polling_index, print_stats_, PT_POLL, refreshState(), sea_trial_, stateIdle(), status_info, TxEnabled, TxPoll(), and UWPOLLING_AUV_STATUS_TX_POLL.
Referenced by stateTx().

|
protectedvirtual |
State of the protocol in which a TRIGGER packet is initialized.
References curr_trigger_packet, getEpoch(), getMaxBackoffTime(), out_file_stats, print_stats_, probe_counters, PT_TRIGGER, refreshReason(), refreshState(), probe_cicle_counters::resetCounters(), sea_trial_, hdr_TRIGGER::t_fin(), hdr_TRIGGER::t_in(), T_max, T_min, TRIGGER_uid, hdr_TRIGGER::TRIGGER_uid_, TxTrigger(), UWPOLLING_AUV_REASON_TX_TRIGGER, and UWPOLLING_AUV_STATUS_TX_TRIGGER.
Referenced by stateIdle().

|
protectedvirtual |
State of the protcol in which the ACK timer is set up
References enableAckRx, getEpoch(), refreshState(), TxEnabled, and UWPOLLING_AUV_STATUS_WAIT_ACK.
Referenced by Phy2MacEndTx().

|
protectedvirtual |
State of the protocol in which the DATA timer is set up
References data_timer, GetDataTimerValue(), getEpoch(), packet_index, refreshState(), RxDataEnabled, Uwpolling_AUV::Uwpolling_AUV_Timer::schedule(), and UWPOLLING_AUV_STATUS_WAIT_DATA.
Referenced by Phy2MacEndTx().

|
protectedvirtual |
State of the protocol in which the PROBE timer is set up.
References getEpoch(), probe_timer, refreshState(), RxProbeEnabled, Uwpolling_AUV::Uwpolling_AUV_Timer::schedule(), T_probe, and UWPOLLING_AUV_STATUS_WAIT_PROBE.
Referenced by Phy2MacEndTx().

|
protectedvirtual |
Informs the protocol to stop counting the time in which the AUV receive DATA packets from the nodes It is used to compute the throughput at MAC layer.
References initial_time, pkt_time, stop_time, and total_time.
Referenced by command().
|
protectedvirtual |
Transmit data transmission after poll reception.
References curr_tx_data_packet, getEpoch(), and Mac2PhyStartTx().
Referenced by stateTxData().

|
protectedvirtual |
Transmisssion of the POLL packet
References curr_poll_packet, getEpoch(), incrPollTx(), and Mac2PhyStartTx().
Referenced by stateTxPoll().

|
protectedvirtual |
Transmission of the TRIGGER packet
References curr_trigger_packet, getEpoch(), incrTriggerTx(), and Mac2PhyStartTx().
Referenced by stateTxTrigger().

|
protectedvirtual |
Update the RTT between a node and the AUV based on the time elapsed between the transmisison of the TRIGGER and the reception of the PROBE
References curr_RTT, curr_Tmeasured, and getEpoch().
Referenced by GetDataTimerValue().

|
protectedvirtual |
Used for debug purposes. (Permit to have a "step by step" behaviour of the protocol)
|
protected |
True if ack is enabled, false if disabled, default true
Referenced by Phy2MacEndRx(), Phy2MacEndTx(), stateTx(), and Uwpolling_AUV().
|
protected |
ACK Timer
Referenced by stateAckRx(), and stateTx().
|
protected |
True if an ack has been received
Referenced by ackTOExpired(), stateAckRx(), stateRxProbe(), and stateTx().
|
protected |
Map with the backoff LUT
Referenced by getMaxBackoffTime(), and initBackoffLUT().
|
protected |
File name of the backoff LUT
Referenced by command(), and initBackoffLUT().
|
protected |
indicate the first PROBE received
Referenced by Phy2MacEndRx().
|
protected |
Pointer to the current ACK packet
Referenced by handleAck(), Phy2MacEndRx(), and stateAckRx().
|
protected |
Pointer to the current DATA packet
Referenced by Phy2MacEndRx(), and stateRxData().
|
protected |
True if the current node of the list is a sink.
Referenced by SortNode2Poll(), and stateTx().
|
protected |
ID of the node polled
Referenced by SortNode2Poll(), and stateTxPoll().
|
protected |
Pointer to the current POLL packet
Referenced by stateTxPoll(), and TxPoll().
|
protected |
MAC address of the node polled
Referenced by SortNode2Poll(), and stateRxData().
|
protected |
Pointer to the current PROBE packet
Referenced by addNode2List(), addSink2List(), handleProbeAck(), Phy2MacEndRx(), and stateRxProbe().
|
protected |
Round Trip time of the node polled
Referenced by GetDataTimerValue(), and UpdateRTT().
|
protected |
Referenced by refreshState(), stateRxData(), stateRxProbe(), and stateTxPoll().
|
protected |
Time elapsed between the transmission of the TRIGGER and the reception of the PROBE packet by the polled node
Referenced by SortNode2Poll(), stateTx(), and UpdateRTT().
|
protected |
true if the sink has been inserted in the list Pointer to the current TRIGGER packet
Referenced by stateTxTrigger(), and TxTrigger().
|
protected |
Pointer to the current DATA packet
Referenced by stateTxData(), and txData().
|
protected |
Guard time between the reception of the last data and the transmission of the following POLL
Referenced by stateRxData(), and Uwpolling_AUV().
|
protected |
Data timer
Referenced by stateIdle(), stateRxData(), and stateWaitData().
|
protected |
Distance between the AUV and the current node
|
protected |
Set to true if backoff is chosen adaptively
Referenced by getMaxBackoffTime(), and initBackoffLUT().
|
protected |
True if the ack reception is enabled
Referenced by ackTOExpired(), stateAckRx(), and stateWaitAck().
|
protected |
Variable that handle the file in which the protocol write the state transition for debug purposes
|
protected |
Set to a number != 0 means we have full_knowledge about the estimate of neighbors
Referenced by getMaxBackoffTime(), and Uwpolling_AUV().
|
protected |
Timestamp in which the AUV receive the first data packet
Referenced by Phy2MacEndRx(), and stop_count_time().
|
staticprotected |
Map the UWPOLLING_AUV_REASON to the description of each reason Indicate if the protocol has been initialized or not
Referenced by command(), and initInfo().
|
protected |
ID of the last packet transmitted in the round
Referenced by stateTx(), and stateTxData().
|
protected |
Referenced by getMaxBackoffTime().
|
protected |
Current and previous reason for the change of the state
Referenced by refreshReason().
|
protected |
list of nodes that have sent correctly the PROBE
Referenced by addNode2List(), ChangeNodePolled(), getPollTime(), and SortNode2Poll().
|
protected |
LUT token separator
Referenced by command(), and initBackoffLUT().
|
protected |
Temp buffer where packets are insert waiting for an ACK Max size for the transmission buffer
Referenced by recvFromUpperLayers(), and Uwpolling_AUV().
|
protected |
Duration of ACK_TIMER Dimension of the DATA payload
Referenced by computeTxTime(), GetDataTimerValue(), getPollTime(), stateTx(), and Uwpolling_AUV().
|
protected |
Maximum number of node that the AUV can poll each time.
Referenced by stateRxProbe(), and Uwpolling_AUV().
|
protected |
Max number of packets can be transmitted by the AUV during a TxData session
Referenced by getPollTime(), SortNode2Poll(), stateTx(), and Uwpolling_AUV().
|
protected |
Bit rate of the modem used
Referenced by GetDataTimerValue(), getPollTime(), stateTx(), and Uwpolling_AUV().
|
protected |
Number of ack packets received
Referenced by getAckRx(), and incrAckRx().
|
protected |
Number of ACK dropped pkts
Referenced by getDroppedAckPkts(), and incrDroppedAckPkts().
|
protected |
Number of PROBE dropped because of CRC error
Referenced by getDroppedProbePkts(), and incrDroppedProbePkts().
|
protected |
Number of PROBE dropped because the AUV was not in RX_PROBE mode
Referenced by getDroppedProbeWrongState(), and incrDroppedProbeWrongState().
|
protected |
Number of packets that the node polled wish to transmit to the AUV
Referenced by GetDataTimerValue(), SortNode2Poll(), and stateRxData().
|
protected |
Number of packets to transmit during a TxData session
Referenced by Phy2MacEndTx(), and stateTx().
|
protected |
Number of POLL packets sent
Referenced by getPollSent(), and incrPollTx().
|
protected |
Number of PROBE packets received
Referenced by getProbeRx(), and incrProbeRx().
|
protected |
Referenced by initInfo(), and Uwpolling_AUV().
|
protected |
Number of TRIGGER packets sent
Referenced by getTriggerTx(), and incrTriggerTx().
|
protected |
Number of packets transmitted by the AUV during a TxData session
Referenced by Phy2MacEndTx(), stateIdle(), and stateTxData().
|
protected |
Variable that handle the file in which the protocol write the statistics
Referenced by initInfo(), Phy2MacEndRx(), recvFromUpperLayers(), stateRxData(), stateRxProbe(), stateTxPoll(), and stateTxTrigger().
|
protected |
Variable that indicate the number of the packet that has been just received by the AUV
Referenced by stateRxData(), and stateWaitData().
|
protected |
Time needed to transmit a data packet
Referenced by Phy2MacEndRx(), and stop_count_time().
|
staticprotected |
Map the UWPOLLING_PKT_TYPE to the description of each type of packet
Referenced by initInfo().
|
protected |
POLL Timer
Referenced by stateRxData().
|
protected |
POLL Unique ID
Referenced by stateTxPoll().
|
protected |
Index of the node that the AUV is polling
Referenced by addNode2List(), addSink2List(), ChangeNodePolled(), computeTxTime(), ProbeTOExpired(), stateIdle(), stateRxProbe(), and stateTxPoll().
|
protected |
Current and previous state variable
Referenced by refreshState().
|
protected |
Print protocol's statistics of the protocol
Referenced by initInfo(), Phy2MacEndRx(), recvFromUpperLayers(), stateRxData(), stateRxProbe(), stateTxPoll(), stateTxTrigger(), and Uwpolling_AUV().
|
protected |
Element with sink probe data
Referenced by addSink2List(), and SortNode2Poll().
|
protected |
Number of probe detected in a round (i.e., prehamble received)
Referenced by getMaxBackoffTime(), Phy2MacEndRx(), stateTxTrigger(), and Uwpolling_AUV().
|
protected |
RTT calculation between AUV and NODE based on the time of PROBE transmission and reception
Referenced by addNode2List(), addSink2List(), and Phy2MacEndRx().
|
protected |
PROBE Timer
Referenced by stateIdle(), stateRxProbe(), and stateWaitProbe().
|
protected |
Referenced by refreshReason().
|
staticprotected |
Map the UWPOLLING_AUV_STATUS to the description of each state
Referenced by initInfo().
|
protected |
Map (mac_addr,rx_pkts) with the received packets for each node
Referenced by addNode2List(), getRxPkts(), and stateRxData().
|
protected |
true if the AUV is enabled to receive DATA packets, false otherwise
Referenced by ChangeNodePolled(), DataTOExpired(), stateRxData(), and stateWaitData().
|
protected |
true if the AUV is enabled to receive PROBE packets, false otherwise
Referenced by ProbeTOExpired(), stateRxProbe(), and stateWaitProbe().
|
protected |
Sea Trial flag: To activate if the protocol is going to be tested at the sea
Referenced by GetDataTimerValue(), getPollTime(), initInfo(), Phy2MacEndRx(), recvFromUpperLayers(), stateRxData(), stateRxProbe(), stateTx(), stateTxPoll(), stateTxTrigger(), and Uwpolling_AUV().
|
protected |
Referenced by addSink2List(), and SortNode2Poll().
|
staticprotected |
Referenced by initInfo(), stateRxData(), stateRxProbe(), and stateTxPoll().
|
protected |
Time stamp in which the AUV finish to receive data packets
Referenced by stop_count_time().
|
protected |
Referenced by stateTx(), and Uwpolling_AUV().
|
protected |
Guard time added to the calculation of the RTT
Referenced by GetDataTimerValue(), getPollTime(), stateTx(), and Uwpolling_AUV().
|
protected |
Maximum value in which the node can choose his backoff time
Referenced by getMaxBackoffTime(), stateTxTrigger(), and Uwpolling_AUV().
|
protected |
Minimum value in which the node can choose his backoff time
Referenced by stateTxTrigger(), and Uwpolling_AUV().
|
protected |
Duration of PROBE TIMER
Referenced by getMaxBackoffTime(), stateWaitProbe(), and Uwpolling_AUV().
|
protected |
Guard time for PROBE packet: T_probe=T_max+T_probe_guard
Referenced by getMaxBackoffTime(), and Uwpolling_AUV().
|
protected |
Time needed to transmit a DATA packet
Referenced by computeTxTime(), GetDataTimerValue(), getPollTime(), and stateTx().
|
protected |
Referenced by getPollTime(), handleAck(), handleNoAck(), handleProbeAck(), recvFromUpperLayers(), SortNode2Poll(), and stateTxData().
|
protected |
Total time in which the AUV has received data packets
Referenced by GetTotalReceivingTime(), and stop_count_time().
|
protected |
Time needed to transmit a POLL packet
Referenced by computeTxTime().
|
protected |
Time needed to transmit a PROBE packet
Referenced by computeTxTime().
|
protected |
TRIGGER Unique ID
Referenced by stateTxTrigger().
|
protected |
Time needed to transmit a TRIGGER packet
Referenced by computeTxTime().
|
protected |
Queue of DATA in number of packets
Referenced by getPollTime(), handleAck(), handleNoAck(), handleProbeAck(), recvFromUpperLayers(), SortNode2Poll(), stateTx(), and stateTxData().
|
protected |
true if the AUV is enabled to receive POLL packets, false otherwise
Referenced by ChangeNodePolled(), ProbeTOExpired(), stateIdle(), stateRxProbe(), stateTx(), stateTxData(), stateTxPoll(), and stateWaitAck().
|
protected |
Unique ID of the transmitted packets
Referenced by recvFromUpperLayers().
|
protected |
Number of data sent by a node that isn't polled anymore
Referenced by getWrongNodeDataSent(), and incrWrongNodeDataSent().