|
DESERT 4.0.0
|
#include <uw-ofdm-aloha.h>


Classes | |
| class | AckTimer |
| class | BackOffTimer |
| class | UWOFDMAlohaTimer |
Public Member Functions | |
| UWOFDMAloha () | |
| virtual | ~UWOFDMAloha () |
| virtual int | command (int argc, const char *const *argv) |
| void | init_macofdm_node (int subCarNum, double subCarSize, int ctrl_subCar, string modulation) |
Protected Member Functions | |
| virtual void | recvFromUpperLayers (Packet *p) |
| virtual void | Mac2PhyStartTx (Packet *p) |
| virtual void | Phy2MacEndTx (const Packet *p) |
| virtual void | Phy2MacStartRx (const Packet *p) |
| virtual void | Phy2MacEndRx (Packet *p) |
| virtual double | computeTxTime (UWOFDMALOHA_PKT_TYPE type) |
| virtual void | initPkt (Packet *p, UWOFDMALOHA_PKT_TYPE pkt_type, int dest_addr=0) |
| virtual double | getBackoffTime () |
| virtual void | txData () |
| virtual void | txAck (int dest_addr) |
| virtual void | stateIdle () |
| virtual void | stateRxIdle () |
| virtual void | stateTxData () |
| virtual void | stateTxAck (int dest_addr) |
| virtual void | stateWaitAck () |
| virtual void | stateRxWaitAck () |
| virtual void | stateBackoff () |
| virtual void | stateRxBackoff () |
| virtual void | stateCheckAckExpired () |
| virtual void | stateCheckBackoffExpired () |
| virtual void | stateRxData (Packet *p) |
| virtual void | stateRxAck (Packet *p) |
| virtual void | exitBackoff () |
| virtual void | printStateInfo (double delay=0) |
| virtual void | initInfo () |
| virtual void | refreshState (UWOFDMALOHA_STATUS state) |
| virtual void | refreshReason (UWOFDMALOHA_REASON_STATUS reason) |
| virtual void | incrCurrTxRounds () |
| virtual void | resetCurrTxRounds () |
| virtual void | updateRTT (double rtt) |
| virtual double | getRTT () |
| virtual void | updateAckTimeout (double rtt) |
| virtual void | updateLastDataIdRx (int id) |
| int | getPktSeqNum (Packet *p) |
| void | putPktInQueue (Packet *p) |
| void | eraseItemFromPktQueue (int seq_num) |
| void | putAckTimerInMap (int seq_num) |
| void | eraseItemFrommapAckTimer (int seq_num) |
| virtual int | getRemainingPkts () |
| virtual void | incrUpperDataRx () |
| int | getUpLayersDataPktsRx () |
| void | displayCarriers (Packet *p) |
| void | addInvalidCarriers (int c) |
Static Protected Attributes | |
| static bool | initialized = false |
| static const double | prop_speed = 1500.0 |
| static map< UWOFDMALOHA_STATUS, string > | status_info |
| static map< UWOFDMALOHA_REASON_STATUS, string > | reason_info |
| static map< UWOFDMALOHA_PKT_TYPE, string > | pkt_type_info |
|
protected |
Enumeration class of UWOFDMAloha acknowledgement mode. First enumerator is given value 1. This protocol supports both acknowledgement and non-acknowledgement technique. If Acknowledgement is set, it uses Stop-And-Wait ARQ technique.
| Enumerator | |
|---|---|
| UWOFDMALOHA_ACK_MODE | |
| UWOFDMALOHA_NO_ACK_MODE | |
|
protected |
Enumeration class of UWOFDMAloha packet type. First enumerator is given value
| Enumerator | |
|---|---|
| UWOFDMALOHA_ACK_PKT | |
| UWOFDMALOHA_DATA_PKT | |
| UWOFDMALOHA_DATAMAX_PKT | |
|
protected |
Enumeration class which tells the nodes the reason why it is in this state. First enumerator is given value 1.
|
protected |
Enumeration class of UWOFDMAloha status. First enumerator is given value 1.
|
protected |
Enumeration class of UWOFDMAloha timer status. First enumerator is given value
| Enumerator | |
|---|---|
| UWOFDMALOHA_IDLE | |
| UWOFDMALOHA_RUNNING | |
| UWOFDMALOHA_FROZEN | |
| UWOFDMALOHA_EXPIRED | |
| UWOFDMAloha::UWOFDMAloha | ( | ) |
Constructor of UWOFDMAloha Class
References ACK_size, ACK_timeout, alpha_, backoff_tuner, buffer_pkts, has_buffer_queue, HDR_size, max_backoff_counter, max_payload, max_tx_tries, uwofdmaloha_debug, and wait_constant.
Referenced by UWOFDMAloha::AckTimer::expire().
|
virtual |
Destructor of UWOFDMAloha Class
|
inlineprotected |
|
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 ack_mode, addInvalidCarriers(), disturbanceNode, fout, getUpLayersDataPktsRx(), init_macofdm_node(), initialized, initInfo(), mapPacket, print_transitions, UWOFDMALOHA_ACK_MODE, and UWOFDMALOHA_NO_ACK_MODE.

|
protectedvirtual |
Compute the transmission time of a packet. It uses a cross-layer message to calculate the duration of that packet.
| type | is a UWOFDMALOHA_PKT_TYPE |
References ACK_size, HDR_size, mapPacket, max_payload, UWOFDMALOHA_ACK_PKT, and UWOFDMALOHA_DATA_PKT.
|
inlineprotected |
Prints the carriers as a sequence of 0s and 1s
References hdr_OFDM::carriers, and mac_ncarriers.
Referenced by initPkt(), and stateBackoff().
|
inlineprotected |
Erase an item from acknowledgement stored container.
| seq_num | which is an integer data type. |
References mapAckTimer.
Referenced by stateRxAck().
|
inlineprotected |
It erases the packet from the container.
| seq_num | which is an integer data type. |
References mapPacket, and uwofdmaloha_debug.
Referenced by stateRxAck(), stateTxData(), and txData().
|
protectedvirtual |
It stops the backoff timer.
References backoff_timer, and UWOFDMAloha::UWOFDMAlohaTimer::stop().
Referenced by stateCheckBackoffExpired().

|
protectedvirtual |
This function calculates the backoff duration and return the backoff time.It employs the exponential backoff algorithm.
References ACK_timeout, backoff_timer, backoff_tuner, UWOFDMAloha::UWOFDMAlohaTimer::getCounter(), UWOFDMAloha::UWOFDMAlohaTimer::incrCounter(), max_backoff_counter, and uwofdmaloha_debug.
Referenced by stateBackoff().

|
inlineprotected |
This method is used to get the sequence number from a packet.
| packet | pointer |
Referenced by initPkt(), Mac2PhyStartTx(), Phy2MacEndRx(), Phy2MacStartRx(), putPktInQueue(), stateRxAck(), stateRxData(), stateTxData(), and txData().
|
inlineprotectedvirtual |
Number of packets which MAC layer receives form upper layer(s) but were not transmitted.
References mapPacket.
|
inlineprotectedvirtual |
This method is used to get the average RTT over all the receives RTT.
References rttsamples, and sumrtt.
|
inlineprotected |
Referenced by command().
|
inlineprotectedvirtual |
Increments the current transmission round of a packet. It keeps track of the number of retransmition of a packet.
References curr_tx_rounds.
Referenced by stateTxData(), and txData().
|
inlineprotectedvirtual |
Increment the number of Data packet receive for the upper layer.
Referenced by recvFromUpperLayers().
| void UWOFDMAloha::init_macofdm_node | ( | int | subCarNum, |
| double | subCarSize, | ||
| int | ctrl_subCar, | ||
| string | modulation | ||
| ) |
Initialize subCarriers parameters inside a node, default all carriers are used
| subCarNum | number of subcarriers used in the system |
| carSize | size of carriers |
| ctrl_subCar | number of control subcarriers if used |
| modulation | modulation used in the subcarriers |
References ctrl_car, mac_carMod, mac_carrierSize, mac_carVec, mac_ncarriers, and nouse_carriers.
Referenced by command().
|
protectedvirtual |
This function is used to initialize the UWOFDMAloha protocol.
References initialized, pkt_type_info, print_transitions, reason_info, status_info, UWOFDMALOHA_ACK_PKT, UWOFDMALOHA_DATA_PKT, UWOFDMALOHA_DATAMAX_PKT, UWOFDMALOHA_REASON_ACK_RX, UWOFDMALOHA_REASON_ACK_TIMEOUT, UWOFDMALOHA_REASON_ACK_TX, UWOFDMALOHA_REASON_BACKOFF_PENDING, UWOFDMALOHA_REASON_BACKOFF_TIMEOUT, UWOFDMALOHA_REASON_DATA_EMPTY, UWOFDMALOHA_REASON_DATA_PENDING, UWOFDMALOHA_REASON_DATA_RX, UWOFDMALOHA_REASON_DATA_TX, UWOFDMALOHA_REASON_MAX_TX_TRIES, UWOFDMALOHA_REASON_PKT_ERROR, UWOFDMALOHA_REASON_PKT_NOT_FOR_ME, UWOFDMALOHA_REASON_START_RX, UWOFDMALOHA_REASON_WAIT_ACK_PENDING, UWOFDMALOHA_STATE_ACK_RX, UWOFDMALOHA_STATE_BACKOFF, UWOFDMALOHA_STATE_CHK_ACK_TIMEOUT, UWOFDMALOHA_STATE_CHK_BACKOFF_TIMEOUT, UWOFDMALOHA_STATE_DATA_RX, UWOFDMALOHA_STATE_IDLE, UWOFDMALOHA_STATE_MULTIPLE_RX_IN_PROGRESS, UWOFDMALOHA_STATE_RX_BACKOFF, UWOFDMALOHA_STATE_RX_IDLE, UWOFDMALOHA_STATE_RX_IN_PROGRESS, UWOFDMALOHA_STATE_RX_WAIT_ACK, UWOFDMALOHA_STATE_TX_ACK, UWOFDMALOHA_STATE_TX_DATA, UWOFDMALOHA_STATE_WAIT_ACK, and UWOFDMALOHA_STATE_WRONG_PKT_RX.
Referenced by command().
|
protectedvirtual |
This method, initialize the packet. If the packet is received from the upper layer, it adds the header (if any). In case of UWOFDMAloha with ARQ technique, it set the fields of ACK packet.
| Packet | pointer P. The packet can be Data packet or ACK packet. |
| pkt_type | is an UWOFDMALOHA_PKT_TYPE. Packet can be either Data packet or ACK packet. |
| dest_addr | is a integer data type. It is initialized as 0. |
References ACK_size, hdr_OFDM::carMod, hdr_OFDM::carrierNum, hdr_OFDM::carriers, hdr_OFDM::carrierSize, displayCarriers(), disturbanceNode, getPktSeqNum(), HDR_size, mac_carMod, mac_carrierSize, mac_carVec, mac_ncarriers, hdr_OFDM::nativeOFDM, PT_MMAC_ACK, recv_data_id, UWOFDMALOHA_ACK_PKT, UWOFDMALOHA_DATA_PKT, and uwofdmaloha_debug.
Referenced by recvFromUpperLayers(), and txAck().

|
protectedvirtual |
It informs that a packet transmission started.
| Packet | pointer |
References getPktSeqNum(), and uwofdmaloha_debug.
Referenced by txAck(), and txData().

|
protectedvirtual |
PHY layer informs the MAC layer that the reception of the packet is over.
| Packet | pointer. |
References ack_mode, curr_state, getPktSeqNum(), n_receptions, prop_speed, refreshReason(), stateRxAck(), stateRxData(), status_info, uwofdmaloha_debug, UWOFDMALOHA_NO_ACK_MODE, UWOFDMALOHA_REASON_ACK_RX, UWOFDMALOHA_REASON_DATA_RX, UWOFDMALOHA_REASON_PKT_ERROR, UWOFDMALOHA_REASON_PKT_NOT_FOR_ME, UWOFDMALOHA_STATE_IDLE, UWOFDMALOHA_STATE_WAIT_ACK, and waitforpktnum.

|
protectedvirtual |
It infroms that a packet transmission end.
| Packet | pointer |
References ack_mode, curr_state, last_reason, prev_state, reason_info, refreshReason(), stateIdle(), stateWaitAck(), status_info, UWOFDMALOHA_ACK_MODE, uwofdmaloha_debug, UWOFDMALOHA_REASON_ACK_TX, UWOFDMALOHA_REASON_DATA_TX, UWOFDMALOHA_STATE_IDLE, UWOFDMALOHA_STATE_TX_ACK, UWOFDMALOHA_STATE_TX_DATA, and UWOFDMALOHA_STATE_WAIT_ACK.

|
protectedvirtual |
PHY layer informs the MAC layer that it is receiving a packet. @Param Packet pointer (constant)
References getPktSeqNum(), n_receptions, and uwofdmaloha_debug.

|
protectedvirtual |
This methods print the state information of the nodes.
| delay | is a double data type. |
References curr_state, fout, last_reason, prev_state, reason_info, status_info, uwofdmaloha_debug, and UWOFDMALOHA_STATE_BACKOFF.
Referenced by stateBackoff(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateIdle(), stateRxBackoff(), stateRxIdle(), stateRxWaitAck(), stateTxAck(), stateTxData(), and stateWaitAck().
|
inlineprotected |
Put acknowledgement timer in the container.
| seq_num | which is an integer data type. |
References ack_timer, and mapAckTimer.
Referenced by stateTxData().
|
inlineprotected |
A node receives packet(s) from upper layer and store them in the container.
| packet | pointer |
References getPktSeqNum(), mapPacket, and uwofdmaloha_debug.
Referenced by recvFromUpperLayers().

|
protectedvirtual |
This function receives the packet from upper layer and save it in the queue.
| Packet | pointer |
References buffer_pkts, curr_state, has_buffer_queue, incrUpperDataRx(), initPkt(), mapPacket, n_receptions, pkt_rcv_queue, prev_prev_state, prev_state, putPktInQueue(), refreshReason(), stateTxData(), status_info, UWOFDMALOHA_DATA_PKT, uwofdmaloha_debug, UWOFDMALOHA_REASON_DATA_PENDING, and UWOFDMALOHA_STATE_IDLE.

|
inlineprotectedvirtual |
To know the reason why a node is in this current state.
| reason | is an UWOFDMALOHA_REASON_STATUS type. |
References last_reason.
Referenced by Phy2MacEndRx(), Phy2MacEndTx(), recvFromUpperLayers(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateRxAck(), stateRxData(), and stateTxData().
|
inlineprotectedvirtual |
Refreshes the states of the node. The node save the information of three states, they are: previous to previous state, previous state and current state of the node.
| state | which is an UWOFDMALOHA_STATUS type. |
References curr_state, prev_prev_state, and prev_state.
Referenced by stateBackoff(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateIdle(), stateRxAck(), stateRxBackoff(), stateRxData(), stateRxIdle(), stateRxWaitAck(), stateTxAck(), stateTxData(), and stateWaitAck().
|
inlineprotectedvirtual |
If a node is going to transmit a new packet, it resets the tx counter.
References curr_tx_rounds.
Referenced by stateTxData().
|
protectedvirtual |
If ACK packet is not received within the acknowledgement expire time.
References backoff_timer, displayCarriers(), getBackoffTime(), UWOFDMAloha::UWOFDMAlohaTimer::getDuration(), UWOFDMAloha::UWOFDMAlohaTimer::isFrozen(), mapPacket, print_transitions, printStateInfo(), refreshState(), UWOFDMAloha::UWOFDMAlohaTimer::schedule(), UWOFDMAloha::UWOFDMAlohaTimer::unFreeze(), uwofdmaloha_debug, and UWOFDMALOHA_STATE_BACKOFF.
Referenced by stateCheckAckExpired(), and stateCheckBackoffExpired().

|
protectedvirtual |
It checks whether the ack timer is already expired while it was busy with other activities.
References curr_state, mapAckTimer, print_transitions, printStateInfo(), refreshReason(), refreshState(), stateBackoff(), stateIdle(), status_info, uwofdmaloha_debug, UWOFDMALOHA_REASON_ACK_TIMEOUT, UWOFDMALOHA_REASON_WAIT_ACK_PENDING, UWOFDMALOHA_STATE_CHK_ACK_TIMEOUT, and UWOFDMALOHA_STATE_WAIT_ACK.
Referenced by stateTxData().

|
protectedvirtual |
It checks whether the backoff timer is already expired while it was busy with other activities.
References backoff_timer, curr_state, exitBackoff(), UWOFDMAloha::UWOFDMAlohaTimer::isActive(), UWOFDMAloha::UWOFDMAlohaTimer::isExpired(), print_transitions, printStateInfo(), refreshReason(), refreshState(), stateBackoff(), stateIdle(), status_info, uwofdmaloha_debug, UWOFDMALOHA_REASON_BACKOFF_PENDING, UWOFDMALOHA_REASON_BACKOFF_TIMEOUT, and UWOFDMALOHA_STATE_CHK_BACKOFF_TIMEOUT.

|
protectedvirtual |
Node is in Idle state. It only changes its state if it has packet(s) to transmit or it receives a packet.
References backoff_timer, mapAckTimer, mapPacket, n_receptions, pkt_rcv_queue, print_transitions, printStateInfo(), refreshState(), stateTxData(), UWOFDMAloha::UWOFDMAlohaTimer::stop(), uwofdmaloha_debug, and UWOFDMALOHA_STATE_IDLE.
Referenced by Phy2MacEndTx(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateRxAck(), stateRxData(), and stateTxData().

|
protectedvirtual |
The node comes to this state if it receives an ACK packet. After receiving an ACK packet it changes it states according to the previously stored status information.
References eraseItemFrommapAckTimer(), eraseItemFromPktQueue(), getPktSeqNum(), mapAckTimer, refreshReason(), refreshState(), start_tx_time, stateIdle(), updateAckTimeout(), uwofdmaloha_debug, UWOFDMALOHA_REASON_ACK_RX, and UWOFDMALOHA_STATE_ACK_RX.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
If a node start receiving a packet when it is in backoff state. The node first freeze (or another word, hold) the backoff timer and start receiving the packet.
References backoff_timer, UWOFDMAloha::UWOFDMAlohaTimer::freeze(), print_transitions, printStateInfo(), refreshState(), and UWOFDMALOHA_STATE_RX_BACKOFF.

|
protectedvirtual |
It process the packet which is received. After receiving a packet it changes it states according to the previously stored status information.
| <i>Data</i> | packet pointer |
References ack_mode, ack_timer, getPktSeqNum(), HDR_size, recv_data_id, refreshReason(), refreshState(), stateIdle(), stateTxAck(), UWOFDMAloha::UWOFDMAlohaTimer::stop(), UWOFDMALOHA_ACK_MODE, uwofdmaloha_debug, UWOFDMALOHA_REASON_DATA_RX, and UWOFDMALOHA_STATE_DATA_RX.
Referenced by Phy2MacEndRx().

|
protectedvirtual |
If a node start receiving a packet in Idle state.
References print_transitions, printStateInfo(), refreshState(), and UWOFDMALOHA_STATE_RX_IDLE.

|
protectedvirtual |
If a node receives any packet while it was waiting for ACK packet, it moves to this state. The packet it is receiving can be a Data packet from another node or ACK packet.
References print_transitions, printStateInfo(), refreshState(), and UWOFDMALOHA_STATE_RX_WAIT_ACK.

|
protectedvirtual |
If the protocl uses ARQ technique, in that case, after receiving a Data packet the node sends an ACK packet.
References print_transitions, printStateInfo(), refreshState(), txAck(), uwofdmaloha_debug, and UWOFDMALOHA_STATE_TX_ACK.
Referenced by stateRxData().

|
protectedvirtual |
If a node has packet to transmits. In such case, it moves from Idle state to data transmits state.
References backoff_timer, hdr_OFDM::carMod, curr_data_pkt, curr_tx_rounds, eraseItemFromPktQueue(), getPktSeqNum(), UWOFDMAloha::UWOFDMAlohaTimer::incrCounter(), incrCurrTxRounds(), last_sent_data_id, mac_ncarriers, mapAckTimer, mapPacket, max_tx_tries, print_transitions, printStateInfo(), putAckTimerInMap(), refreshReason(), refreshState(), UWOFDMAloha::UWOFDMAlohaTimer::resetCounter(), resetCurrTxRounds(), start_tx_time, stateCheckAckExpired(), stateIdle(), txData(), uwofdmaloha_debug, UWOFDMALOHA_REASON_MAX_TX_TRIES, UWOFDMALOHA_STATE_TX_DATA, and waitforpktnum.
Referenced by recvFromUpperLayers(), and stateIdle().

|
protectedvirtual |
After transmitting a Data packet, a node waits for the ACK packet.
References ACK_timeout, mapAckTimer, print_transitions, printStateInfo(), refreshState(), uwofdmaloha_debug, UWOFDMALOHA_STATE_WAIT_ACK, and wait_constant.
Referenced by Phy2MacEndTx().

|
protectedvirtual |
This methods transmits ACK packet from MAC layer to PHY layer.
| dest_addr | which is an integer data type. |
References initPkt(), Mac2PhyStartTx(), UWOFDMALOHA_ACK_PKT, and uwofdmaloha_debug.
Referenced by stateTxAck().

|
protectedvirtual |
This method transmits Data packets from MAC layer to PHY layer.
References ack_mode, curr_data_pkt, eraseItemFromPktQueue(), getPktSeqNum(), incrCurrTxRounds(), Mac2PhyStartTx(), uwofdmaloha_debug, UWOFDMALOHA_NO_ACK_MODE, and waitforpktnum.
Referenced by stateTxData().

|
protectedvirtual |
Like updateRTT() function.
References ACK_timeout, updateRTT(), and uwofdmaloha_debug.
Referenced by stateRxAck().

|
inlineprotectedvirtual |
It updates the sequence number of the last data packet rx.
| id | is an integer data type. |
References last_data_id_rx.
|
protectedvirtual |
Update the Round Trip Time (RTT) which is necessary to compute the acknowledgement duration as well as backoff duration.
| rtt | is a double data type. |
References ACK_timeout, alpha_, rttsamples, srtt, sumrtt, and sumrtt2.
Referenced by updateAckTimeout().
|
protected |
Enum variable. It tells the node whether to use ARQ technique or not.
Referenced by command(), Phy2MacEndRx(), Phy2MacEndTx(), stateRxData(), and txData().
|
protected |
Size of the ACK, if the node uses ARQ technique
Referenced by computeTxTime(), initPkt(), and UWOFDMAloha().
|
protected |
ACK timeout for the initial packet
Referenced by getBackoffTime(), stateWaitAck(), updateAckTimeout(), updateRTT(), and UWOFDMAloha().
|
protected |
An object of the AckTimer class
Referenced by putAckTimerInMap(), and stateRxData().
|
protected |
|
protected |
|
protected |
This variable is used to tune the RTT
Referenced by updateRTT(), and UWOFDMAloha().
|
protected |
An object of the backoff timer class
Referenced by exitBackoff(), getBackoffTime(), stateBackoff(), stateCheckBackoffExpired(), stateIdle(), stateRxBackoff(), and stateTxData().
|
protected |
Tunes the backoff duration.
Referenced by getBackoffTime(), and UWOFDMAloha().
|
protected |
Number of packets a node can store in the container
Referenced by recvFromUpperLayers(), and UWOFDMAloha().
|
protected |
Referenced by init_macofdm_node().
|
protected |
Pointer of the latest selected data packet.
Referenced by stateTxData(), and txData().
|
protected |
Enum variable. It stores the current state of a node
Referenced by Phy2MacEndRx(), Phy2MacEndTx(), printStateInfo(), recvFromUpperLayers(), refreshState(), stateCheckAckExpired(), and stateCheckBackoffExpired().
|
protected |
How many times a packet is transmitted
Referenced by incrCurrTxRounds(), resetCurrTxRounds(), and stateTxData().
|
protected |
An object of ofstream class
Referenced by command(), and printStateInfo().
|
protected |
Whether the node has buffer to store data or not
Referenced by recvFromUpperLayers(), and UWOFDMAloha().
|
protected |
Size of the HDR if any
Referenced by computeTxTime(), initPkt(), stateRxData(), and UWOFDMAloha().
|
staticprotected |
It checks whether UWOFDMAloha protocol is initialized or not. If FALSE means, not initialized and if TRUE means it is initialized
Referenced by command(), and initInfo().
|
protected |
The sequence number of last received packet
Referenced by updateLastDataIdRx().
|
protected |
Enum variable which stores the last reason why a node changes its state
Referenced by Phy2MacEndTx(), printStateInfo(), and refreshReason().
|
protected |
sequence number of the last sent packet
Referenced by stateTxData().
|
protected |
--— OFDM PARAMS
Referenced by init_macofdm_node(), and initPkt().
|
protected |
Referenced by init_macofdm_node(), and initPkt().
|
protected |
Referenced by init_macofdm_node(), and initPkt().
|
protected |
Referenced by displayCarriers(), init_macofdm_node(), initPkt(), and stateTxData().
Container where acknowledgement timer(s) is stored
Referenced by eraseItemFrommapAckTimer(), putAckTimerInMap(), stateCheckAckExpired(), stateIdle(), stateRxAck(), stateTxData(), and stateWaitAck().
|
protected |
Container where Data packets are stored
Referenced by command(), computeTxTime(), eraseItemFromPktQueue(), getRemainingPkts(), putPktInQueue(), recvFromUpperLayers(), stateBackoff(), stateIdle(), and stateTxData().
|
protected |
Maximum number of backoff it will consider while it increases the backoff exponentially
Referenced by getBackoffTime(), and UWOFDMAloha().
|
protected |
Maximum number of payload in a packet.
Referenced by computeTxTime(), and UWOFDMAloha().
|
protected |
Maximum number of retransmissions attempt.
Referenced by stateTxData(), and UWOFDMAloha().
|
protected |
Referenced by Phy2MacEndRx(), Phy2MacStartRx(), recvFromUpperLayers(), and stateIdle().
|
protected |
Referenced by addInvalidCarriers(), and init_macofdm_node().
|
protected |
Referenced by recvFromUpperLayers(), and stateIdle().
|
staticprotected |
Container which stores all the packet type information of UWOFDMAloha
Referenced by initInfo().
|
protected |
Enum variable. It stores the previous to previous state of a node
Referenced by recvFromUpperLayers(), and refreshState().
|
protected |
Enum variable. It stores the previous state of a node
Referenced by Phy2MacEndTx(), printStateInfo(), recvFromUpperLayers(), and refreshState().
|
protected |
Whether to print the state of the nodes
Referenced by command(), initInfo(), stateBackoff(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateIdle(), stateRxBackoff(), stateRxIdle(), stateRxWaitAck(), stateTxAck(), stateTxData(), and stateWaitAck().
|
staticprotected |
Speed of the sound signal
Referenced by Phy2MacEndRx().
|
staticprotected |
Container which stores all the reason information
Referenced by initInfo(), Phy2MacEndTx(), and printStateInfo().
|
protected |
The sequence number of the packet which is received
Referenced by initPkt(), and stateRxData().
|
protected |
Number of RTT samples
Referenced by getRTT(), and updateRTT().
|
protected |
Smoothed Round Trip Time, calculated as for TCP
Referenced by updateRTT().
|
protected |
Time when a packet start transmitting
Referenced by stateRxAck(), and stateTxData().
|
staticprotected |
Container which stores all the status information
Referenced by initInfo(), Phy2MacEndRx(), Phy2MacEndTx(), printStateInfo(), recvFromUpperLayers(), stateCheckAckExpired(), and stateCheckBackoffExpired().
|
protected |
Sum of RTT samples
Referenced by getRTT(), and updateRTT().
|
protected |
Sum of (RTT^2)
Referenced by updateRTT().
|
protected |
Sequence number of the packet which is transmitted
|
protected |
Debuging Flag
Referenced by eraseItemFromPktQueue(), getBackoffTime(), initPkt(), Mac2PhyStartTx(), Phy2MacEndRx(), Phy2MacEndTx(), Phy2MacStartRx(), printStateInfo(), putPktInQueue(), recvFromUpperLayers(), stateBackoff(), stateCheckAckExpired(), stateCheckBackoffExpired(), stateIdle(), stateRxAck(), stateRxData(), stateTxAck(), stateTxData(), stateWaitAck(), txAck(), txData(), updateAckTimeout(), and UWOFDMAloha().
|
protected |
This fixed time is used to componsate different time variations.
Referenced by stateWaitAck(), and UWOFDMAloha().
|
protected |
Referenced by Phy2MacEndRx(), stateTxData(), and txData().