A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
wifi-bianchi.cc File Reference
#include "ns3/ampdu-subframe-header.h"
#include "ns3/application-container.h"
#include "ns3/boolean.h"
#include "ns3/command-line.h"
#include "ns3/config.h"
#include "ns3/double.h"
#include "ns3/gnuplot.h"
#include "ns3/integer.h"
#include "ns3/log.h"
#include "ns3/mobility-helper.h"
#include "ns3/node-list.h"
#include "ns3/packet-socket-client.h"
#include "ns3/packet-socket-helper.h"
#include "ns3/packet-socket-server.h"
#include "ns3/propagation-delay-model.h"
#include "ns3/propagation-loss-model.h"
#include "ns3/queue-size.h"
#include "ns3/rng-seed-manager.h"
#include "ns3/ssid.h"
#include "ns3/string.h"
#include "ns3/uinteger.h"
#include "ns3/wifi-mac-header.h"
#include "ns3/wifi-mac.h"
#include "ns3/wifi-net-device.h"
#include "ns3/yans-wifi-helper.h"
#include <fstream>
+ Include dependency graph for wifi-bianchi.cc:

Go to the source code of this file.

Classes

class  Experiment
 WiFi adhoc experiment class. More...
 

Macros

#define PI   3.1415926535
 Avoid std::numbers::pi because it's C++20.
 

Functions

void AssociationLog (std::string context, Mac48Address address)
 Association log trace.
 
void BackoffTrace (std::string context, uint32_t newVal, uint8_t)
 Backoff trace.
 
Mac48Address ContextToMac (std::string context)
 Parse context strings of the form "/NodeList/x/DeviceList/x/..." and fetch the Mac address.
 
uint32_t ContextToNodeId (std::string context)
 Parse context strings of the form "/NodeList/x/DeviceList/x/..." to extract the NodeId integer.
 
void CwTrace (std::string context, uint32_t cw, uint8_t)
 Contention window trace.
 
void DisassociationLog (std::string context, Mac48Address address)
 Deassociation log trace.
 
uint64_t GetCount (const std::map< Mac48Address, uint64_t > &counter, Mac48Address addr)
 Get the Counter associated with a MAC address.
 
void IncrementCounter (std::map< Mac48Address, uint64_t > &counter, Mac48Address addr, uint64_t increment=1)
 Incremement the counter for a given address.
 
void MacRxTrace (std::string context, Ptr< const Packet > p)
 MAC RX trace.
 
void MacTxTrace (std::string context, Ptr< const Packet > p)
 MAC TX trace.
 
void PhyRxDoneTrace (std::string context, Ptr< const Packet > p)
 PHY RX end trace.
 
void PhyRxDropTrace (std::string context, Ptr< const Packet > p, WifiPhyRxfailureReason reason)
 PHY Drop trace.
 
void PhyRxErrorTrace (std::string context, Ptr< const Packet > p, double snr)
 PHY RX error trace.
 
void PhyRxOkTrace (std::string context, Ptr< const Packet > p, double snr, WifiMode mode, WifiPreamble preamble)
 PHY successful RX trace.
 
void PhyRxPayloadTrace (std::string context, WifiTxVector txVector, Time psduDuration)
 PHY Rx trace.
 
void PhyRxTrace (std::string context, Ptr< const Packet > p, RxPowerWattPerChannelBand power)
 PHY Rx trace.
 
void PhyTxDoneTrace (std::string context, Ptr< const Packet > p)
 PHY TX end trace.
 
void PhyTxTrace (std::string context, Ptr< const Packet > p, double txPowerW)
 PHY TX trace.
 
void RestartCalc ()
 Reset the stats.
 
void SocketSendTrace (std::string context, Ptr< const Packet > p, const Address &addr)
 Socket send trace.
 
void TracePacketReception (std::string context, Ptr< const Packet > p, uint16_t channelFreqMhz, WifiTxVector txVector, MpduInfo aMpdu, SignalNoiseDbm signalNoise, uint16_t staId)
 Trace a packet reception.
 

Variables

std::set< uint32_tassociated
 Contains the IDs of the STAs that successfully associated to the access point (in infrastructure mode only)
 
std::ofstream backoffTraceFile
 File that traces backoff over time.
 
std::map< std::string, std::map< unsigned int, double > > bianchiResultsDifs
 Table of the expected values for DIFS.
 
std::map< std::string, std::map< unsigned int, double > > bianchiResultsEifs
 Table of the expected values for EIFS.
 
std::map< Mac48Address, uint64_t > bytesReceived
 Map that stores the total bytes received per STA (and addressed to that STA)
 
std::ofstream cwTraceFile
 File that traces CW over time.
 
std::ofstream macRxTraceFile
 File that traces MAC receptions over time.
 
std::ofstream macTxTraceFile
 File that traces MAC transmissions over time.
 
uint8_t maxMpdus = 0
 The maximum number of MPDUs in A-MPDUs (0 to disable MPDU aggregation)
 
std::map< Mac48Address, uint64_t > packetsReceived
 Map that stores the total packets received per STA (and addressed to that STA)
 
std::map< Mac48Address, uint64_t > packetsTransmitted
 Map that stores the total packets transmitted per STA.
 
std::map< Mac48Address, uint64_t > phyHeaderFailed
 Map that stores the total number of unsuccessfuly received PHY headers per STA.
 
std::ofstream phyTxTraceFile
 File that traces PHY transmissions over time.
 
uint32_t pktSize = 1500
 packet size used for the simulation (in bytes)
 
std::map< Mac48Address, uint64_t > psduFailed
 Map that stores the total number of unsuccessfuly received PSDUS (for which the PHY header was successfully received) per STA (including PSDUs not addressed to that STA)
 
std::map< Mac48Address, uint64_t > psduSucceeded
 Map that stores the total number of successfully received PSDUs per STA (including PSDUs not addressed to that STA)
 
std::map< Mac48Address, uint64_t > rxEventAbortedByTx
 Map that stores the number of reception events aborted per STA because the PHY has started to transmit.
 
std::map< Mac48Address, uint64_t > rxEventWhileDecodingPreamble
 Map that stores the number of reception events per STA that occurred while PHY was already decoding a preamble.
 
std::map< Mac48Address, uint64_t > rxEventWhileRxing
 Map that stores the number of reception events per STA that occurred while PHY was already receiving a PPDU.
 
std::map< Mac48Address, uint64_t > rxEventWhileTxing
 Map that stores the number of reception events per STA that occurred while PHY was already transmitting a PPDU.
 
std::ofstream socketSendTraceFile
 File that traces packets transmitted by the application over time.
 
std::map< Mac48Address, TimetimeFirstReceived
 Map that stores the time at which the first packet was received per STA (and the packet is addressed to that STA)
 
std::map< Mac48Address, TimetimeFirstTransmitted
 Map that stores the time at which the first packet was transmitted per STA.
 
std::map< Mac48Address, TimetimeLastReceived
 Map that stores the time at which the last packet was received per STA (and the packet is addressed to that STA)
 
std::map< Mac48Address, TimetimeLastTransmitted
 Map that stores the time at which the last packet was transmitted per STA.
 
bool tracing = false
 Flag to enable/disable generation of tracing files.
 

Detailed Description

Usage

$ ./ns3 run "wifi-bianchi [Program Options]"

Program Options

--verbose
Logging level (0: no log - 1: simulation script logs - 2: all logs) [0]
--tracing
Generate trace files [false]
--pktSize
The packet size in bytes [1500]
--trials
The maximal number of runs per network size [1]
--duration
Time duration for each trial in seconds [100]
--pcap
Enable/disable PCAP tracing [false]
--infra
True to use infrastructure mode, false to use ring adhoc mode [false]
--workDir
The working directory used to store generated files [./]
--phyMode
Set the constant PHY mode string used to transmit frames [OfdmRate54Mbps]
--standard
Set the standard (11a, 11b, 11g, 11n, 11ac, 11ax) [11a]
--nMinStas
Minimum number of stations to start with [5]
--nMaxStas
Maximum number of stations to start with [50]
--nStepSize
Number of stations to add at each step [5]
--plotBianchiModel
First bit corresponds to the DIFS model, second bit to the EIFS model [1]
--validate
Enable/disable validation of the ns-3 simulations against the Bianchi model [false]
--maxRelativeError
The maximum relative error tolerated between ns-3 results and the Bianchi model (used for regression, i.e. when the validate flag is set) [0.015]
--frequency
Set the operating frequency band in GHz: 2.4, 5 or 6 [5]
--channelWidth
Set the constant channel width in MHz (only for 11n/ac/ax) [20]
--guardIntervalNs
Set the the guard interval in nanoseconds (800 or 400 for 11n/ac, 800 or 1600 or 3200 for 11 ax) [800]
--maxMpdus
Set the maximum number of MPDUs in A-MPDUs (0 to disable MPDU aggregation) [ ]
--distance
Set the distance in meters between the AP and the STAs [0.001]
--apTxPower
Set the transmit power of the AP in dBm (if infrastructure only) [16]
--staTxPower
Set the transmit power of each STA in dBm (or all STAs if adhoc) [16]
--pktInterval
Set the socket packet interval in microseconds [1000]

Definition in file wifi-bianchi.cc.

Macro Definition Documentation

◆ PI

#define PI   3.1415926535

Avoid std::numbers::pi because it's C++20.

Definition at line 58 of file wifi-bianchi.cc.

Function Documentation

◆ AssociationLog()

void AssociationLog ( std::string  context,
Mac48Address  address 
)

Association log trace.

Parameters
contextThe context.
addressThe MAC address.

Definition at line 2340 of file wifi-bianchi.cc.

References associated, ContextToNodeId(), ns3::Simulator::Now(), NS_FATAL_ERROR, and NS_LOG_DEBUG.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BackoffTrace()

void BackoffTrace ( std::string  context,
uint32_t  newVal,
uint8_t   
)

Backoff trace.

Parameters
contextThe context.
newValThe backoff value.

Definition at line 2053 of file wifi-bianchi.cc.

References backoffTraceFile, ContextToNodeId(), ns3::Time::GetSeconds(), ns3::Simulator::Now(), NS_LOG_INFO, and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ContextToMac()

Mac48Address ContextToMac ( std::string  context)

Parse context strings of the form "/NodeList/x/DeviceList/x/..." and fetch the Mac address.

Parameters
contextThe context to parse.
Returns
the device MAC address

Definition at line 1927 of file wifi-bianchi.cc.

References ns3::Mac48Address::ConvertFrom(), and ns3::NodeList::GetNode().

Referenced by PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyTxTrace(), and TracePacketReception().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ContextToNodeId()

uint32_t ContextToNodeId ( std::string  context)

Parse context strings of the form "/NodeList/x/DeviceList/x/..." to extract the NodeId integer.

Parameters
contextThe context to parse.
Returns
the NodeId

Definition at line 1913 of file wifi-bianchi.cc.

Referenced by AssociationLog(), BackoffTrace(), CwTrace(), DisassociationLog(), MacRxTrace(), MacTxTrace(), PhyRxDoneTrace(), PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyRxPayloadTrace(), PhyRxTrace(), PhyTxDoneTrace(), PhyTxTrace(), and SocketSendTrace().

+ Here is the caller graph for this function:

◆ CwTrace()

void CwTrace ( std::string  context,
uint32_t  cw,
uint8_t   
)

Contention window trace.

Parameters
contextThe context.
cwThe contention window.

Definition at line 2035 of file wifi-bianchi.cc.

References ContextToNodeId(), cwTraceFile, ns3::Time::GetSeconds(), ns3::Simulator::Now(), NS_LOG_INFO, and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DisassociationLog()

void DisassociationLog ( std::string  context,
Mac48Address  address 
)

Deassociation log trace.

Parameters
contextThe context.
addressThe MAC address.

Definition at line 2362 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Simulator::Now(), NS_FATAL_ERROR, and NS_LOG_DEBUG.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCount()

uint64_t GetCount ( const std::map< Mac48Address, uint64_t > &  counter,
Mac48Address  addr 
)

Get the Counter associated with a MAC address.

Parameters
counterThe map of counters to inspect.
addrThe MAC address.
Returns
the value of the counter,

Definition at line 2675 of file wifi-bianchi.cc.

◆ IncrementCounter()

void IncrementCounter ( std::map< Mac48Address, uint64_t > &  counter,
Mac48Address  addr,
uint64_t  increment = 1 
)

Incremement the counter for a given address.

Parameters
[out]counterThe counter to increment.
addrThe address to incremement the counter for.
incrementThe incremement (1 if omitted).

Definition at line 1955 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyTxTrace(), and TracePacketReception().

+ Here is the caller graph for this function:

◆ MacRxTrace()

void MacRxTrace ( std::string  context,
Ptr< const Packet p 
)

MAC RX trace.

Parameters
contextThe context.
pThe packet.

Definition at line 2307 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Time::GetSeconds(), macRxTraceFile, ns3::Simulator::Now(), and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ MacTxTrace()

void MacTxTrace ( std::string  context,
Ptr< const Packet p 
)

MAC TX trace.

Parameters
contextThe context.
pThe packet.

Definition at line 2291 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Time::GetSeconds(), macTxTraceFile, ns3::Simulator::Now(), and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxDoneTrace()

void PhyRxDoneTrace ( std::string  context,
Ptr< const Packet p 
)

PHY RX end trace.

Parameters
contextThe context.
pThe packet.

Definition at line 2183 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Simulator::Now(), and NS_LOG_INFO.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxDropTrace()

void PhyRxDropTrace ( std::string  context,
Ptr< const Packet p,
WifiPhyRxfailureReason  reason 
)

PHY Drop trace.

Parameters
contextThe context.
pThe packet.
reasonThe drop reason.

Definition at line 2101 of file wifi-bianchi.cc.

References ns3::BUSY_DECODING_PREAMBLE, ns3::CHANNEL_SWITCHING, ContextToMac(), ContextToNodeId(), ns3::FRAME_CAPTURE_PACKET_SWITCH, ns3::HT_SIG_FAILURE, IncrementCounter(), ns3::L_SIG_FAILURE, ns3::Simulator::Now(), NS_FATAL_ERROR, NS_LOG_INFO, ns3::OBSS_PD_CCA_RESET, phyHeaderFailed, pktSize, ns3::PREAMBLE_DETECT_FAILURE, ns3::PREAMBLE_DETECTION_PACKET_SWITCH, ns3::RECEPTION_ABORTED_BY_TX, rxEventAbortedByTx, rxEventWhileDecodingPreamble, rxEventWhileRxing, rxEventWhileTxing, ns3::RXING, ns3::SIG_A_FAILURE, ns3::SIG_B_FAILURE, ns3::SLEEPING, ns3::TXING, ns3::UNKNOWN, and ns3::UNSUPPORTED_SETTINGS.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxErrorTrace()

void PhyRxErrorTrace ( std::string  context,
Ptr< const Packet p,
double  snr 
)

PHY RX error trace.

Parameters
contextThe context.
pThe packet.
snrThe SNR.

Definition at line 2236 of file wifi-bianchi.cc.

References ContextToMac(), ContextToNodeId(), IncrementCounter(), ns3::Simulator::Now(), NS_LOG_INFO, pktSize, and psduFailed.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxOkTrace()

void PhyRxOkTrace ( std::string  context,
Ptr< const Packet p,
double  snr,
WifiMode  mode,
WifiPreamble  preamble 
)

PHY successful RX trace.

Parameters
contextThe context.
pThe packet.
snrThe SNR.
modeThe WiFi mode.
preambleThe preamble.

Definition at line 2199 of file wifi-bianchi.cc.

References ContextToMac(), ContextToNodeId(), IncrementCounter(), maxMpdus, ns3::Simulator::Now(), NS_FATAL_ERROR, NS_LOG_INFO, NS_LOG_WARN, pktSize, psduSucceeded, and ns3::Time::S.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxPayloadTrace()

void PhyRxPayloadTrace ( std::string  context,
WifiTxVector  txVector,
Time  psduDuration 
)

PHY Rx trace.

Parameters
contextThe context.
txVectorThe TX vector.
psduDurationThe PDSU diration.

Definition at line 2086 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Simulator::Now(), and NS_LOG_INFO.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyRxTrace()

void PhyRxTrace ( std::string  context,
Ptr< const Packet p,
RxPowerWattPerChannelBand  power 
)

PHY Rx trace.

Parameters
contextThe context.
pThe packet.
powerThe Rx power.

Definition at line 2072 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Simulator::Now(), and NS_LOG_INFO.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyTxDoneTrace()

void PhyTxDoneTrace ( std::string  context,
Ptr< const Packet p 
)

PHY TX end trace.

Parameters
contextThe context.
pThe packet.

Definition at line 2278 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Simulator::Now(), and NS_LOG_INFO.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PhyTxTrace()

void PhyTxTrace ( std::string  context,
Ptr< const Packet p,
double  txPowerW 
)

PHY TX trace.

Parameters
contextThe context.
pThe packet.
txPowerWThe TX power.

Definition at line 2255 of file wifi-bianchi.cc.

References ContextToMac(), ContextToNodeId(), ns3::Time::GetSeconds(), IncrementCounter(), ns3::Simulator::Now(), NS_LOG_INFO, packetsTransmitted, phyTxTraceFile, pktSize, and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RestartCalc()

void RestartCalc ( )

Reset the stats.

Definition at line 2373 of file wifi-bianchi.cc.

References bytesReceived, packetsReceived, packetsTransmitted, phyHeaderFailed, psduFailed, psduSucceeded, rxEventAbortedByTx, rxEventWhileDecodingPreamble, rxEventWhileRxing, rxEventWhileTxing, timeFirstReceived, and timeLastReceived.

Referenced by Experiment::Run().

+ Here is the caller graph for this function:

◆ SocketSendTrace()

void SocketSendTrace ( std::string  context,
Ptr< const Packet p,
const Address addr 
)

Socket send trace.

Parameters
contextThe context.
pThe packet.
addrdestination address.

Definition at line 2324 of file wifi-bianchi.cc.

References ContextToNodeId(), ns3::Time::GetSeconds(), ns3::Simulator::Now(), socketSendTraceFile, and tracing.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ TracePacketReception()

void TracePacketReception ( std::string  context,
Ptr< const Packet p,
uint16_t  channelFreqMhz,
WifiTxVector  txVector,
MpduInfo  aMpdu,
SignalNoiseDbm  signalNoise,
uint16_t  staId 
)

Trace a packet reception.

Parameters
contextThe context.
pThe packet.
channelFreqMhzThe channel frequqncy.
txVectorThe TX vector.
aMpduThe AMPDU.
signalNoiseThe signal and noise dBm.
staIdThe STA ID.

Definition at line 1982 of file wifi-bianchi.cc.

References bytesReceived, ContextToMac(), ns3::WifiMacHeader::GetAddr1(), ns3::WifiMacHeader::GetAddr2(), ns3::AmpduSubframeHeader::GetLength(), IncrementCounter(), ns3::WifiTxVector::IsAggregation(), ns3::Simulator::Now(), packetsReceived, pktSize, timeFirstReceived, and timeLastReceived.

Referenced by Experiment::Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ associated

std::set<uint32_t> associated

Contains the IDs of the STAs that successfully associated to the access point (in infrastructure mode only)

Definition at line 111 of file wifi-bianchi.cc.

Referenced by AssociationLog().

◆ backoffTraceFile

std::ofstream backoffTraceFile

File that traces backoff over time.

Definition at line 65 of file wifi-bianchi.cc.

Referenced by BackoffTrace(), and Experiment::Run().

◆ bianchiResultsDifs

std::map<std::string , std::map<unsigned int , double > > bianchiResultsDifs

Table of the expected values for DIFS.

Definition at line 1015 of file wifi-bianchi.cc.

◆ bianchiResultsEifs

std::map<std::string , std::map<unsigned int , double > > bianchiResultsEifs

Table of the expected values for EIFS.

Definition at line 121 of file wifi-bianchi.cc.

◆ bytesReceived

std::map<Mac48Address, uint64_t> bytesReceived

Map that stores the total bytes received per STA (and addressed to that STA)

Definition at line 75 of file wifi-bianchi.cc.

Referenced by RestartCalc(), and TracePacketReception().

◆ cwTraceFile

std::ofstream cwTraceFile

File that traces CW over time.

Definition at line 64 of file wifi-bianchi.cc.

Referenced by CwTrace(), and Experiment::Run().

◆ macRxTraceFile

std::ofstream macRxTraceFile

File that traces MAC receptions over time.

Definition at line 68 of file wifi-bianchi.cc.

Referenced by MacRxTrace(), and Experiment::Run().

◆ macTxTraceFile

std::ofstream macTxTraceFile

File that traces MAC transmissions over time.

Definition at line 67 of file wifi-bianchi.cc.

Referenced by MacTxTrace(), and Experiment::Run().

◆ maxMpdus

uint8_t maxMpdus = 0

The maximum number of MPDUs in A-MPDUs (0 to disable MPDU aggregation)

Definition at line 116 of file wifi-bianchi.cc.

Referenced by PhyRxOkTrace(), and Experiment::Run().

◆ packetsReceived

std::map<Mac48Address, uint64_t> packetsReceived

Map that stores the total packets received per STA (and addressed to that STA)

Definition at line 72 of file wifi-bianchi.cc.

Referenced by RestartCalc(), and TracePacketReception().

◆ packetsTransmitted

std::map<Mac48Address, uint64_t> packetsTransmitted

Map that stores the total packets transmitted per STA.

Definition at line 77 of file wifi-bianchi.cc.

Referenced by PhyTxTrace(), and RestartCalc().

◆ phyHeaderFailed

std::map<Mac48Address, uint64_t> phyHeaderFailed

Map that stores the total number of unsuccessfuly received PHY headers per STA.

Definition at line 85 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), and RestartCalc().

◆ phyTxTraceFile

std::ofstream phyTxTraceFile

File that traces PHY transmissions over time.

Definition at line 66 of file wifi-bianchi.cc.

Referenced by PhyTxTrace(), and Experiment::Run().

◆ pktSize

uint32_t pktSize = 1500

packet size used for the simulation (in bytes)

Definition at line 115 of file wifi-bianchi.cc.

Referenced by ns3::TcpRxBuffer::Add(), CreateBulkFlow(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::TbfQueueDisc::DoDequeue(), ns3::SubscriberStationNetDevice::DoReceive(), SpectrumIdealPhyTestCase::DoRun(), CobaltQueueDiscBasicEnqueueDequeue::DoRun(), CobaltQueueDiscMarkTest::DoRun(), CobaltQueueDiscCeThresholdTest::DoRun(), CobaltQueueDiscEnhancedBlueTest::DoRun(), CoDelQueueDiscBasicEnqueueDequeue::DoRun(), CoDelQueueDiscBasicOverflow::DoRun(), CoDelQueueDiscBasicDrop::DoRun(), CoDelQueueDiscBasicMark::DoRun(), FifoQueueDiscTestCase::DoRunFifoTest(), ns3::SixLowPanNetDevice::DoSend(), ns3::TcpRxBuffer::Extract(), ns3::TapBridge::Filter(), GenerateTraffic(), Experiment::GenerateTraffic(), MultiLinkOperationsTestBase::GetApplication(), EmlsrOperationsTestBase::GetApplication(), TestInterBssConstantObssPdAlgo::NotifyPhyRxDrop(), TestInterBssConstantObssPdAlgo::NotifyPhyRxEnd(), TestInterBssConstantObssPdAlgo::NotifyPhyTxBegin(), PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyTxTrace(), Experiment::Run(), AredQueueDiscTestCase::RunAredDiscTest(), CobaltQueueDiscDropTest::RunDropTest(), FifoQueueDiscTestCase::RunFifoTest(), PieQueueDiscTestCase::RunPieTest(), RedQueueDiscTestCase::RunRedTest(), TbfQueueDiscTestCase::RunTbfTest(), SendPacket(), ns3::TcpGeneralTest::SendPacket(), ns3::Ipv4RawSocketImpl::SendTo(), ns3::Ipv6RawSocketImpl::SendTo(), ns3::PacketSocket::SendTo(), ns3::TcpGeneralTest::SetAppPktSize(), TracePacketReception(), and ns3::TcpTxBuffer::Update().

◆ psduFailed

std::map<Mac48Address, uint64_t> psduFailed

Map that stores the total number of unsuccessfuly received PSDUS (for which the PHY header was successfully received) per STA (including PSDUs not addressed to that STA)

Definition at line 79 of file wifi-bianchi.cc.

Referenced by PhyRxErrorTrace(), and RestartCalc().

◆ psduSucceeded

std::map<Mac48Address, uint64_t> psduSucceeded

Map that stores the total number of successfully received PSDUs per STA (including PSDUs not addressed to that STA)

Definition at line 83 of file wifi-bianchi.cc.

Referenced by PhyRxOkTrace(), and RestartCalc().

◆ rxEventAbortedByTx

std::map<Mac48Address, uint64_t> rxEventAbortedByTx

Map that stores the number of reception events aborted per STA because the PHY has started to transmit.

Definition at line 97 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), and RestartCalc().

◆ rxEventWhileDecodingPreamble

std::map<Mac48Address, uint64_t> rxEventWhileDecodingPreamble

Map that stores the number of reception events per STA that occurred while PHY was already decoding a preamble.

Definition at line 94 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), and RestartCalc().

◆ rxEventWhileRxing

std::map<Mac48Address, uint64_t> rxEventWhileRxing

Map that stores the number of reception events per STA that occurred while PHY was already receiving a PPDU.

Definition at line 91 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), and RestartCalc().

◆ rxEventWhileTxing

std::map<Mac48Address, uint64_t> rxEventWhileTxing

Map that stores the number of reception events per STA that occurred while PHY was already transmitting a PPDU.

Definition at line 88 of file wifi-bianchi.cc.

Referenced by PhyRxDropTrace(), and RestartCalc().

◆ socketSendTraceFile

std::ofstream socketSendTraceFile

File that traces packets transmitted by the application over time.

Definition at line 70 of file wifi-bianchi.cc.

Referenced by Experiment::Run(), and SocketSendTrace().

◆ timeFirstReceived

std::map<Mac48Address, Time> timeFirstReceived

Map that stores the time at which the first packet was received per STA (and the packet is addressed to that STA)

Definition at line 101 of file wifi-bianchi.cc.

Referenced by RestartCalc(), and TracePacketReception().

◆ timeFirstTransmitted

std::map<Mac48Address, Time> timeFirstTransmitted

Map that stores the time at which the first packet was transmitted per STA.

Definition at line 106 of file wifi-bianchi.cc.

◆ timeLastReceived

std::map<Mac48Address, Time> timeLastReceived

Map that stores the time at which the last packet was received per STA (and the packet is addressed to that STA)

Definition at line 104 of file wifi-bianchi.cc.

Referenced by RestartCalc(), and TracePacketReception().

◆ timeLastTransmitted

std::map<Mac48Address, Time> timeLastTransmitted

Map that stores the time at which the last packet was transmitted per STA.

Definition at line 108 of file wifi-bianchi.cc.

◆ tracing

bool tracing = false

Flag to enable/disable generation of tracing files.

Definition at line 114 of file wifi-bianchi.cc.

Referenced by BackoffTrace(), CwTrace(), MacRxTrace(), MacTxTrace(), PhyTxTrace(), Experiment::Run(), and SocketSendTrace().