ns3::WifiRemoteStation Class Reference
hold per-remote-station state.
More...
#include <wifi-remote-station-manager.h>
Inherited by ns3::AarfcdWifiRemoteStation, ns3::AmrrWifiRemoteStation, ns3::ArfWifiRemoteStation, ns3::CaraWifiRemoteStation, ns3::ConstantRateWifiRemoteStation, ns3::IdealWifiRemoteStation, ns3::OnoeWifiRemoteStation, and ns3::RraaWifiRemoteStation.
List of all members.
|
Public Member Functions |
void | Reset (void) |
void | AddSupportedMode (WifiMode mode) |
void | PrepareForQueue (Ptr< const Packet > packet, uint32_t fullPacketSize) |
WifiMode | GetDataMode (Ptr< const Packet > packet, uint32_t fullPacketSize) |
WifiMode | GetRtsMode (Ptr< const Packet > packet) |
void | ReportRtsFailed (void) |
void | ReportDataFailed (void) |
void | ReportRtsOk (double ctsSnr, WifiMode ctsMode, double rtsSnr) |
void | ReportDataOk (double ackSnr, WifiMode ackMode, double dataSnr) |
void | ReportFinalRtsFailed (void) |
void | ReportFinalDataFailed (void) |
void | ReportRxOk (double rxSnr, WifiMode txMode) |
virtual bool | NeedRts (Ptr< const Packet > packet) |
virtual bool | NeedRtsRetransmission (Ptr< const Packet > packet) |
virtual bool | NeedDataRetransmission (Ptr< const Packet > packet) |
virtual bool | NeedFragmentation (Ptr< const Packet > packet) |
virtual uint32_t | GetFragmentSize (Ptr< const Packet > packet, uint32_t fragmentNumber) |
virtual uint32_t | GetFragmentOffset (Ptr< const Packet > packet, uint32_t fragmentNumber) |
virtual bool | IsLastFragment (Ptr< const Packet > packet, uint32_t fragmentNumber) |
WifiMode | GetCtsMode (WifiMode rtsMode) |
WifiMode | GetAckMode (WifiMode dataMode) |
Detailed Description
hold per-remote-station state.
The state in this class is used to keep track of association status if we are in an infrastructure network and to perform the selection of tx parameters on a per-packet basis.
Member Function Documentation
void ns3::WifiRemoteStation::AddSupportedMode |
( |
WifiMode |
mode |
) |
|
Invoked in a STA or AP to store the set of modes supported by a destination which is also supported locally. The set of supported modes includes the BSSBasicRateSet.
- Parameters:
-
| dataMode | the transmission mode used to send an ACK we just received |
- Returns:
- the transmission mode to use for the ACK to complete the data/ACK handshake.
- Parameters:
-
| rtsMode | the transmission mode used to send an RTS we just received |
- Returns:
- the transmission mode to use for the CTS to complete the RTS/CTS handshake.
WifiMode ns3::WifiRemoteStation::GetDataMode |
( |
Ptr< const Packet > |
packet, |
|
|
uint32_t |
fullPacketSize | |
|
) |
| | |
- Parameters:
-
| packet | the packet to send |
| fullPacketSize | the size of the packet after its 802.11 MAC header has been added. |
- Returns:
- the transmission mode to use to send this packet
virtual uint32_t ns3::WifiRemoteStation::GetFragmentOffset |
( |
Ptr< const Packet > |
packet, |
|
|
uint32_t |
fragmentNumber | |
|
) |
| | [virtual] |
- Parameters:
-
| packet | the packet to send |
| fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
- Returns:
- the offset within the original packet where this fragment starts.
virtual uint32_t ns3::WifiRemoteStation::GetFragmentSize |
( |
Ptr< const Packet > |
packet, |
|
|
uint32_t |
fragmentNumber | |
|
) |
| | [virtual] |
- Parameters:
-
| packet | the packet to send |
| fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
- Returns:
- the size of the corresponding fragment.
- Parameters:
-
| packet | the packet to send |
- Returns:
- the transmission mode to use to send the RTS prior to the transmission of the data packet itself.
virtual bool ns3::WifiRemoteStation::IsLastFragment |
( |
Ptr< const Packet > |
packet, |
|
|
uint32_t |
fragmentNumber | |
|
) |
| | [virtual] |
- Parameters:
-
| packet | the packet to send |
| fragmentNumber | the fragment index of the next fragment to send (starts at zero). |
- Returns:
- true if this is the last fragment, false otherwise.
virtual bool ns3::WifiRemoteStation::NeedDataRetransmission |
( |
Ptr< const Packet > |
packet |
) |
[virtual] |
- Parameters:
-
| packet | the packet to send |
- Returns:
- true if we want to resend a packet after a failed transmission attempt, false otherwise.
virtual bool ns3::WifiRemoteStation::NeedFragmentation |
( |
Ptr< const Packet > |
packet |
) |
[virtual] |
- Parameters:
-
| packet | the packet to send |
- Returns:
- true if this packet should be fragmented, false otherwise.
virtual bool ns3::WifiRemoteStation::NeedRts |
( |
Ptr< const Packet > |
packet |
) |
[virtual] |
- Parameters:
-
| packet | the packet to send |
- Returns:
- true if we want to use an RTS/CTS handshake for this packet before sending it, false otherwise.
virtual bool ns3::WifiRemoteStation::NeedRtsRetransmission |
( |
Ptr< const Packet > |
packet |
) |
[virtual] |
- Parameters:
-
| packet | the packet to send |
- Returns:
- true if we want to restart a failed RTS/CTS handshake, false otherwise.
void ns3::WifiRemoteStation::PrepareForQueue |
( |
Ptr< const Packet > |
packet, |
|
|
uint32_t |
fullPacketSize | |
|
) |
| | |
- Parameters:
-
| packet | the packet to queue |
| fullPacketSize | the size of the packet after its 802.11 MAC header has been added. |
This method is typically invoked just before queuing a packet for transmission. It is a no-op unless the IsLowLatency attribute of the attached
ns3::WifiRemoteStationManager is set to false, in which case, the tx parameters of the packet are calculated and stored in the packet as a tag. These tx parameters are later retrieved from GetDadaMode and GetRtsMode.
void ns3::WifiRemoteStation::ReportDataFailed |
( |
void |
|
) |
|
Should be invoked whenever the AckTimeout associated to a transmission attempt expires.
void ns3::WifiRemoteStation::ReportDataOk |
( |
double |
ackSnr, |
|
|
WifiMode |
ackMode, |
|
|
double |
dataSnr | |
|
) |
| | |
Should be invoked whenever we receive the Ack associated to a data packet we just sent.
void ns3::WifiRemoteStation::ReportFinalDataFailed |
( |
void |
|
) |
|
Should be invoked after calling ReportDataFailed if NeedDataRetransmission returns false
void ns3::WifiRemoteStation::ReportFinalRtsFailed |
( |
void |
|
) |
|
Should be invoked after calling ReportRtsFailed if NeedRtsRetransmission returns false
void ns3::WifiRemoteStation::ReportRtsFailed |
( |
void |
|
) |
|
Should be invoked whenever the RtsTimeout associated to a transmission attempt expires.
void ns3::WifiRemoteStation::ReportRtsOk |
( |
double |
ctsSnr, |
|
|
WifiMode |
ctsMode, |
|
|
double |
rtsSnr | |
|
) |
| | |
Should be invoked whenever we receive the Cts associated to an RTS we just sent.
void ns3::WifiRemoteStation::ReportRxOk |
( |
double |
rxSnr, |
|
|
WifiMode |
txMode | |
|
) |
| | |
- Parameters:
-
| rxSnr | the snr of the packet received |
| txMode | the transmission mode used for the packet received. |
Should be invoked whenever a packet is successfully received.
void ns3::WifiRemoteStation::Reset |
( |
void |
|
) |
|
Invoked in an AP upon disassociation of a specific STA.
The documentation for this class was generated from the following file:
- src/devices/wifi/wifi-remote-station-manager.h