A Discrete-Event Network Simulator
API
Experiment Class Reference

Helper class for UAN CW MAC example. More...

#include "uan-cw-example.h"

+ Collaboration diagram for Experiment:

Public Member Functions

 Experiment ()
 
 Experiment (std::string name)
 
 Experiment ()
 
 Experiment (std::string name)
 
 Experiment ()
 
 Experiment (std::string name)
 
 Experiment ()
 
 Experiment ()
 Default constructor. More...
 
 Experiment ()
 Default constructor. More...
 
 Experiment ()
 
bool CommandSetup (int argc, char **argv)
 
void CreateDualModes (uint32_t fc)
 Create m_numRates matching control and data modes. More...
 
UanTxMode CreateMode (uint32_t kass, uint32_t fc, bool upperblock, std::string name)
 Create a UanTxMode. More...
 
std::string GetOutputFileName ()
 
std::string GetRateManager ()
 
std::string GetRtsThreshold ()
 
uint32_t GetScenario ()
 
void IncrementCw (uint32_t cw)
 Compute average throughput for a set of runs, then increment CW. More...
 
bool IsMobility ()
 
bool IsRouting ()
 
void ReceivePacket (Ptr< Socket > socket)
 Receive all available packets from a socket. More...
 
void ReceivePacket (Ptr< Socket > socket)
 Callback to receive a packet. More...
 
void ResetData ()
 Save the throughput from a single run. More...
 
uint32_t Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, const WifiMacHelper &wifiMac, const YansWifiChannelHelper &wifiChannel)
 
Gnuplot2dDataset Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, const WifiMacHelper &wifiMac, const YansWifiChannelHelper &wifiChannel)
 
Gnuplot2dDataset Run (UanHelper &uan)
 Run an experiment across a range of congestion window values. More...
 
Gnuplot2dDataset Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, const WifiMacHelper &wifiMac, const YansWifiChannelHelper &wifiChannel, const MobilityHelper &mobility)
 
double Run (Parameters params)
 
uint32_t Run (uint32_t param)
 Run a parametrized experiment. More...
 
int Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, const WifiMacHelper &wifiMac, const YansWifiChannelHelper &wifiChannel, uint32_t trialNumber, uint32_t networkSize, Time duration, bool pcap, bool infra, uint16_t guardIntervalNs, double distanceM, double apTxPowerDbm, double staTxPowerDbm, Time pktInterval)
 Configure and run the experiment. More...
 
void UpdatePositions (NodeContainer &nodes)
 Assign new random positions to a set of nodes. More...
 

Public Attributes

std::string m_asciitracefile
 Name for ascii trace file, default uan-cw-example.asc. More...
 
uint32_t m_avgs
 Number of topologies to test for each cw point. More...
 
std::string m_bhCfgFile
 (Unused) More...
 
double m_boundary
 Size of boundary in meters. More...
 
UanModesList m_controlModes
 List of UanTxModes used for control channels. More...
 
uint32_t m_cwMax
 Max CW to simulate. More...
 
uint32_t m_cwMin
 Min CW to simulate. More...
 
uint32_t m_cwStep
 CW step size, default 10. More...
 
Gnuplot2dDataset m_data
 Container for the simulation data. More...
 
UanModesList m_dataModes
 List of UanTxModes used for data channels. More...
 
uint32_t m_dataRate
 DataRate in bps. More...
 
double m_depth
 Depth of transmitting and sink nodes. More...
 
bool m_doNode
 1 for do max nodes simulation (invalidates AMin and AMax values). More...
 
std::string m_gnudatfile
 Name for GNU Plot output, default uan-cw-example.gpl. More...
 
std::string m_gnuplotfile
 Filename for GnuPlot. More...
 
uint32_t m_maxRange
 Maximum range between gateway and acoustic node. More...
 
uint32_t m_numNodes
 Number of transmitting nodes. More...
 
uint32_t m_numRates
 Number of divided rates ( (NumberRates+1)TotalRate should be 0). More...
 
uint32_t m_packetSize
 Generated packet size in bytes. More...
 
uint32_t m_pktSize
 Packet size in bytes. More...
 
Time m_sifs
 SIFS time duration. More...
 
uint32_t m_simMax
 Maximum parameter to test. More...
 
uint32_t m_simMin
 Minimum parameter to test. More...
 
uint32_t m_simStep
 Amount to increment param per trial. More...
 
Time m_simTime
 Simulation run time, default 1000 s. More...
 
Time m_slotTime
 Slot time duration. More...
 
std::vector< double > m_throughputs
 Throughput for each run. More...
 
uint32_t m_totalRate
 Total channel capacity. More...
 

Private Member Functions

void AdvancePosition (Ptr< Node > node)
 
void ApplicationSetup (Ptr< Node > client, Ptr< Node > server, double start, double stop)
 
void AssignNeighbors (NodeContainer c)
 Take the grid map, divide it into 4 quadrants Assign all nodes from each quadrant to a specific container. More...
 
void CheckThroughput ()
 
NodeContainer GenerateNeighbors (NodeContainer c, uint32_t senderId)
 Generate 1-hop and 2-hop neighbors of a node in grid topology. More...
 
void GenerateTraffic (Ptr< Socket > socket, uint32_t pktSize, uint32_t pktCount, Time pktInterval)
 
Vector GetPosition (Ptr< Node > node)
 
Vector GetPosition (Ptr< Node > node)
 
void ReceivePacket (Ptr< Socket > socket)
 
void ReceivePacket (Ptr< Socket > socket)
 
void ReceivePacket (Ptr< Socket > socket)
 
void SelectSrcDest (NodeContainer c)
 Sources and destinations are randomly selected such that a node may be the source for multiple destinations and a node maybe a destination for multiple sources. More...
 
void SendMultiDestinations (Ptr< Node > sender, NodeContainer c)
 A sender node will set up a flow to each of the its neighbors in its quadrant randomly. More...
 
void SetPosition (Ptr< Node > node, Vector position)
 
void SetPosition (Ptr< Node > node, Vector position)
 
Ptr< SocketSetupPacketReceive (Ptr< Node > node)
 
Ptr< SocketSetupPacketReceive (Ptr< Node > node)
 
Ptr< SocketSetupPacketReceive (Ptr< Node > node)
 

Private Attributes

uint32_t bytesTotal
 
NodeContainer containerA
 
NodeContainer containerB
 
NodeContainer containerC
 
NodeContainer containerD
 
bool enableFlowMon
 
bool enableMobility
 
bool enablePcap
 
bool enableRouting
 
bool enableTracing
 
double expMean
 
uint32_t gridSize
 
uint32_t m_bytesTotal
 Total bytes received. More...
 
Gnuplot2dDataset m_output
 
uint32_t m_pktsTotal
 
uint32_t nodeDistance
 
std::string outputFileName
 
uint32_t packetSize
 
uint32_t port
 
std::string rateManager
 
std::string rtsThreshold
 
double samplingPeriod
 
uint32_t scenario
 
double totalTime
 

Detailed Description

Helper class for UAN CW MAC example.

Container for the parameters describing a single experiment.

An experiment measures the average throughput for a series of CW values.

See also
uan-cw-example.cc

An experiment samples a range of parameter values. The parameter controls the number of nodes (if m_doNode is true), or the UanMacRcGw MaxReservations attribute.

See also
uan-rc-example.cc

Definition at line 40 of file wifi-adhoc.cc.

Constructor & Destructor Documentation

◆ Experiment() [1/10]

Experiment::Experiment ( )

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

◆ Experiment() [2/10]

Experiment::Experiment ( std::string  name)

Definition at line 62 of file wifi-adhoc.cc.

References m_output, and ns3::Gnuplot2dDataset::SetStyle().

+ Here is the call graph for this function:

◆ Experiment() [3/10]

Experiment::Experiment ( )

◆ Experiment() [4/10]

Experiment::Experiment ( std::string  name)

◆ Experiment() [5/10]

Experiment::Experiment ( )

◆ Experiment() [6/10]

Experiment::Experiment ( )

◆ Experiment() [7/10]

Experiment::Experiment ( std::string  name)

◆ Experiment() [8/10]

Experiment::Experiment ( )

Default constructor.

◆ Experiment() [9/10]

Experiment::Experiment ( )

Default constructor.

◆ Experiment() [10/10]

Experiment::Experiment ( )

Member Function Documentation

◆ AdvancePosition()

void Experiment::AdvancePosition ( Ptr< Node node)
private

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

References ns3::Gnuplot2dDataset::Add(), GetPosition(), m_bytesTotal, m_output, ns3::Seconds(), and SetPosition().

Referenced by Run().

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

◆ ApplicationSetup()

void Experiment::ApplicationSetup ( Ptr< Node client,
Ptr< Node server,
double  start,
double  stop 
)
private

◆ AssignNeighbors()

void Experiment::AssignNeighbors ( NodeContainer  c)
private

Take the grid map, divide it into 4 quadrants Assign all nodes from each quadrant to a specific container.

Definition at line 216 of file wifi-multirate.cc.

References ns3::NodeContainer::Add(), containerA, containerB, containerC, containerD, ns3::NodeContainer::Get(), ns3::NodeContainer::GetN(), and gridSize.

Referenced by Run().

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

◆ CheckThroughput()

void Experiment::CheckThroughput ( )
private

Definition at line 199 of file wifi-multirate.cc.

References ns3::Gnuplot2dDataset::Add(), bytesTotal, m_output, ns3::Now(), samplingPeriod, and ns3::Seconds().

Referenced by Run().

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

◆ CommandSetup()

bool Experiment::CommandSetup ( int  argc,
char **  argv 
)

◆ CreateDualModes()

void Experiment::CreateDualModes ( uint32_t  fc)

Create m_numRates matching control and data modes.

Parameters
fcMode center frequency offset.

Definition at line 132 of file uan-rc-example.cc.

References ns3::UanModesList::AppendMode(), CreateMode(), m_controlModes, m_dataModes, and m_numRates.

+ Here is the call graph for this function:

◆ CreateMode()

UanTxMode Experiment::CreateMode ( uint32_t  kass,
uint32_t  fc,
bool  upperblock,
std::string  name 
)

Create a UanTxMode.

The mode physical rate is set equal to m_totalRate. The data rate and bandwidth are set to

\[{\rm{rate, bandwidth}} = {\rm{kass}}\frac{{{\rm{m\_totalRate}}}}{{{\rm{m\_numRates}} + 1}}\]

The center frequency is set to

\[{f_{center}} = {\rm{fc}} + \frac{{ \pm {\rm{m\_totalRate}} \mp {\rm{rate}}}}{2}\]

where the upper sign is taken if upperblock is true.

Parameters
kassFraction of total bandwidth assigned to mode.
fcMode center frequency offset.
upperblockSign choice in setting the center frequency.
nameMode name.
Returns
The new mode.

Definition at line 98 of file uan-rc-example.cc.

References m_numRates, and m_totalRate.

Referenced by CreateDualModes().

+ Here is the caller graph for this function:

◆ GenerateNeighbors()

NodeContainer Experiment::GenerateNeighbors ( NodeContainer  c,
uint32_t  senderId 
)
private

Generate 1-hop and 2-hop neighbors of a node in grid topology.

Definition at line 257 of file wifi-multirate.cc.

References ns3::NodeContainer::Add(), and ns3::NodeContainer::Get().

Referenced by Run().

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

◆ GenerateTraffic()

void Experiment::GenerateTraffic ( Ptr< Socket socket,
uint32_t  pktSize,
uint32_t  pktCount,
Time  pktInterval 
)
private

Definition at line 103 of file wifi-clear-channel-cmu.cc.

References ns3::Socket::Close(), pktSize, and ns3::Socket::Send().

+ Here is the call graph for this function:

◆ GetOutputFileName()

std::string Experiment::GetOutputFileName ( )
inline

Definition at line 103 of file wifi-multirate.cc.

Referenced by Run().

+ Here is the caller graph for this function:

◆ GetPosition() [1/2]

Vector Experiment::GetPosition ( Ptr< Node node)
private

◆ GetPosition() [2/2]

Vector Experiment::GetPosition ( Ptr< Node node)
private

Definition at line 76 of file wifi-adhoc.cc.

References ns3::Object::GetObject(), and third::mobility.

Referenced by AdvancePosition(), and Run().

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

◆ GetRateManager()

std::string Experiment::GetRateManager ( )
inline

Definition at line 107 of file wifi-multirate.cc.

◆ GetRtsThreshold()

std::string Experiment::GetRtsThreshold ( )
inline

Definition at line 99 of file wifi-multirate.cc.

◆ GetScenario()

uint32_t Experiment::GetScenario ( )
inline

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

◆ IncrementCw()

void Experiment::IncrementCw ( uint32_t  cw)

Compute average throughput for a set of runs, then increment CW.

Parameters
cwCW value for completed runs.

Definition at line 86 of file uan-cw-example.cc.

References ns3::Gnuplot2dDataset::Add(), m_avgs, m_cwStep, m_data, m_throughputs, NS_ASSERT, NS_LOG_DEBUG, and ns3::Config::Set().

Referenced by Run().

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

◆ IsMobility()

bool Experiment::IsMobility ( )
inline

Definition at line 89 of file wifi-multirate.cc.

◆ IsRouting()

bool Experiment::IsRouting ( )
inline

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

◆ ReceivePacket() [1/5]

void Experiment::ReceivePacket ( Ptr< Socket socket)
private

◆ ReceivePacket() [2/5]

void Experiment::ReceivePacket ( Ptr< Socket socket)
private

Definition at line 99 of file wifi-adhoc.cc.

References ns3::Packet::GetSize(), m_bytesTotal, and ns3::Socket::Recv().

Referenced by Run(), and SetupPacketReceive().

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

◆ ReceivePacket() [3/5]

void Experiment::ReceivePacket ( Ptr< Socket socket)

Receive all available packets from a socket.

Parameters
socketThe receive socket.

◆ ReceivePacket() [4/5]

void Experiment::ReceivePacket ( Ptr< Socket socket)

Callback to receive a packet.

Parameters
socketThe socket receiving packets.

◆ ReceivePacket() [5/5]

void Experiment::ReceivePacket ( Ptr< Socket socket)
private

◆ ResetData()

void Experiment::ResetData ( )

Save the throughput from a single run.

Definition at line 78 of file uan-cw-example.cc.

References ns3::Time::GetSeconds(), m_bytesTotal, m_simTime, m_throughputs, ns3::Now(), and NS_LOG_DEBUG.

Referenced by Run().

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

◆ Run() [1/7]

uint32_t Experiment::Run ( const WifiHelper wifi,
const YansWifiPhyHelper wifiPhy,
const WifiMacHelper wifiMac,
const YansWifiChannelHelper wifiChannel 
)

◆ Run() [2/7]

◆ Run() [3/7]

◆ Run() [4/7]

◆ Run() [5/7]

double Experiment::Run ( Parameters  params)

◆ Run() [6/7]

◆ Run() [7/7]

int Experiment::Run ( const WifiHelper wifi,
const YansWifiPhyHelper wifiPhy,
const WifiMacHelper wifiMac,
const YansWifiChannelHelper wifiChannel,
uint32_t  trialNumber,
uint32_t  networkSize,
Time  duration,
bool  pcap,
bool  infra,
uint16_t  guardIntervalNs,
double  distanceM,
double  apTxPowerDbm,
double  staTxPowerDbm,
Time  pktInterval 
)

Configure and run the experiment.

Parameters
wifithe pre-configured WifiHelper
wifiPhythe pre-configured YansWifiPhyHelper
wifiMacthe pre-configured WifiMacHelper
wifiChannelthe pre-configured YansWifiChannelHelper
trialNumberthe trial index
networkSizethe number of stations
durationthe duration of each simulation run
pcapflag to enable/disable PCAP files generation
infraflag to enable infrastructure model, ring adhoc network if not set
guardIntervalNsthe guard interval in ns
distanceMthe distance in meters
apTxPowerDbmthe AP transmit power in dBm
staTxPowerDbmthe STA transmit power in dBm
pktIntervalthe packet interval
Returns
0 if all went well

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

References ns3::ListPositionAllocator::Add(), ns3::Node::AddApplication(), AssociationLog(), BackoffTrace(), backoffTraceFile, ns3::Config::Connect(), ns3::YansWifiChannelHelper::Create(), ns3::NodeContainer::Create(), CwTrace(), cwTraceFile, ns3::Simulator::Destroy(), first::devices, DisassociationLog(), ns3::WifiPhyHelper::DLT_IEEE802_11_RADIO, ns3::NodeContainer::Get(), ns3::Node::GetDevice(), ns3::WifiNetDevice::GetMac(), ns3::NodeContainer::GetN(), ns3::Time::GetSeconds(), ns3::PacketSocketHelper::Install(), third::mac, MacRxTrace(), macRxTraceFile, MacTxTrace(), macTxTraceFile, ns3::MakeCallback(), max, maxMpdus, ns3::MicroSeconds(), third::mobility, ns3::NanoSeconds(), NS_LOG_DEBUG, third::phy, PhyRxDoneTrace(), PhyRxDropTrace(), PhyRxErrorTrace(), PhyRxOkTrace(), PhyRxPayloadTrace(), PhyRxTrace(), PhyTxDoneTrace(), PhyTxTrace(), phyTxTraceFile, PI, pktSize, RestartCalc(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), ns3::Config::Set(), ns3::ObjectBase::SetAttribute(), ns3::PacketSocketServer::SetLocal(), ns3::PacketSocketAddress::SetPhysicalAddress(), ns3::PacketSocketAddress::SetProtocol(), ns3::PacketSocketClient::SetRemote(), ns3::PacketSocketAddress::SetSingleDevice(), ns3::Application::SetStartTime(), SocketSendTrace(), socketSendTraceFile, third::ssid, visualizer.core::start(), startTime, ns3::Simulator::Stop(), TracePacketReception(), tracing, and third::wifi.

+ Here is the call graph for this function:

◆ SelectSrcDest()

void Experiment::SelectSrcDest ( NodeContainer  c)
private

Sources and destinations are randomly selected such that a node may be the source for multiple destinations and a node maybe a destination for multiple sources.

Definition at line 279 of file wifi-multirate.cc.

References ApplicationSetup(), ns3::NodeContainer::Get(), ns3::UniformRandomVariable::GetInteger(), ns3::NodeContainer::GetN(), ns3::ObjectBase::SetAttribute(), and totalTime.

Referenced by Run().

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

◆ SendMultiDestinations()

void Experiment::SendMultiDestinations ( Ptr< Node sender,
NodeContainer  c 
)
private

A sender node will set up a flow to each of the its neighbors in its quadrant randomly.

All the flows are exponentially distributed

Definition at line 302 of file wifi-multirate.cc.

References ApplicationSetup(), expMean, ns3::NodeContainer::Get(), ns3::Node::GetId(), ns3::NodeContainer::GetN(), ns3::UniformRandomVariable::GetValue(), ns3::ExponentialRandomVariable::GetValue(), NS_LOG_DEBUG, ns3::ObjectBase::SetAttribute(), visualizer.core::start(), and totalTime.

Referenced by Run().

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

◆ SetPosition() [1/2]

void Experiment::SetPosition ( Ptr< Node node,
Vector  position 
)
private

◆ SetPosition() [2/2]

void Experiment::SetPosition ( Ptr< Node node,
Vector  position 
)
private

Definition at line 69 of file wifi-adhoc.cc.

References ns3::Object::GetObject(), and third::mobility.

Referenced by AdvancePosition().

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

◆ SetupPacketReceive() [1/3]

Ptr<Socket> Experiment::SetupPacketReceive ( Ptr< Node node)
private

◆ SetupPacketReceive() [2/3]

Ptr< Socket > Experiment::SetupPacketReceive ( Ptr< Node node)
private

Definition at line 109 of file wifi-adhoc.cc.

References ns3::MakeCallback(), ReceivePacket(), and sink.

Referenced by ApplicationSetup(), and Run().

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

◆ SetupPacketReceive() [3/3]

Ptr<Socket> Experiment::SetupPacketReceive ( Ptr< Node node)
private

◆ UpdatePositions()

void Experiment::UpdatePositions ( NodeContainer nodes)

Assign new random positions to a set of nodes.

New positions are randomly assigned within the bounding box.

Parameters
nodesThe nodes to reposition.

Definition at line 106 of file uan-cw-example.cc.

References ns3::Object::GetObject(), ns3::UniformRandomVariable::GetValue(), m_boundary, first::nodes, ns3::Now(), NS_LOG_DEBUG, and ns3::MobilityModel::SetPosition().

Referenced by Run().

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

Member Data Documentation

◆ bytesTotal

uint32_t Experiment::bytesTotal
private

Definition at line 129 of file wifi-multirate.cc.

Referenced by CheckThroughput().

◆ containerA

NodeContainer Experiment::containerA
private

Definition at line 142 of file wifi-multirate.cc.

Referenced by AssignNeighbors(), and Run().

◆ containerB

NodeContainer Experiment::containerB
private

Definition at line 142 of file wifi-multirate.cc.

Referenced by AssignNeighbors(), and Run().

◆ containerC

NodeContainer Experiment::containerC
private

Definition at line 142 of file wifi-multirate.cc.

Referenced by AssignNeighbors(), and Run().

◆ containerD

NodeContainer Experiment::containerD
private

Definition at line 142 of file wifi-multirate.cc.

Referenced by AssignNeighbors(), and Run().

◆ enableFlowMon

bool Experiment::enableFlowMon
private

Definition at line 138 of file wifi-multirate.cc.

Referenced by Run().

◆ enableMobility

bool Experiment::enableMobility
private

Definition at line 140 of file wifi-multirate.cc.

Referenced by CommandSetup(), and Run().

◆ enablePcap

bool Experiment::enablePcap
private

Definition at line 136 of file wifi-multirate.cc.

Referenced by Run().

◆ enableRouting

bool Experiment::enableRouting
private

Definition at line 139 of file wifi-multirate.cc.

Referenced by CommandSetup(), and Run().

◆ enableTracing

bool Experiment::enableTracing
private

Definition at line 137 of file wifi-multirate.cc.

Referenced by Run().

◆ expMean

double Experiment::expMean
private

Definition at line 126 of file wifi-multirate.cc.

Referenced by SendMultiDestinations().

◆ gridSize

uint32_t Experiment::gridSize
private

Definition at line 131 of file wifi-multirate.cc.

Referenced by AssignNeighbors(), and Run().

◆ m_asciitracefile

std::string Experiment::m_asciitracefile

Name for ascii trace file, default uan-cw-example.asc.

Definition at line 85 of file uan-cw-example.h.

Referenced by Run().

◆ m_avgs

uint32_t Experiment::m_avgs

Number of topologies to test for each cw point.

Definition at line 79 of file uan-cw-example.h.

Referenced by IncrementCw(), and Run().

◆ m_bhCfgFile

std::string Experiment::m_bhCfgFile

(Unused)

Definition at line 86 of file uan-cw-example.h.

◆ m_boundary

double Experiment::m_boundary

Size of boundary in meters.

Definition at line 73 of file uan-cw-example.h.

Referenced by Run(), and UpdatePositions().

◆ m_bytesTotal

uint32_t Experiment::m_bytesTotal
private

Total bytes received.

Total number of bytes received in a simulation run.

Definition at line 54 of file wifi-adhoc.cc.

Referenced by AdvancePosition(), ReceivePacket(), ResetData(), and Run().

◆ m_controlModes

UanModesList Experiment::m_controlModes

List of UanTxModes used for control channels.

Definition at line 62 of file uan-rc-example.h.

Referenced by CreateDualModes(), and Run().

◆ m_cwMax

uint32_t Experiment::m_cwMax

Max CW to simulate.

Definition at line 77 of file uan-cw-example.h.

Referenced by Run().

◆ m_cwMin

uint32_t Experiment::m_cwMin

Min CW to simulate.

Definition at line 76 of file uan-cw-example.h.

Referenced by Run().

◆ m_cwStep

uint32_t Experiment::m_cwStep

CW step size, default 10.

Definition at line 78 of file uan-cw-example.h.

Referenced by IncrementCw(), and Run().

◆ m_data

Gnuplot2dDataset Experiment::m_data

Container for the simulation data.

Definition at line 88 of file uan-cw-example.h.

Referenced by IncrementCw(), and Run().

◆ m_dataModes

UanModesList Experiment::m_dataModes

List of UanTxModes used for data channels.

Definition at line 61 of file uan-rc-example.h.

Referenced by CreateDualModes(), and Run().

◆ m_dataRate

uint32_t Experiment::m_dataRate

DataRate in bps.

Definition at line 71 of file uan-cw-example.h.

Referenced by Run().

◆ m_depth

double Experiment::m_depth

Depth of transmitting and sink nodes.

Definition at line 72 of file uan-cw-example.h.

Referenced by Run().

◆ m_doNode

bool Experiment::m_doNode

1 for do max nodes simulation (invalidates AMin and AMax values).

Definition at line 53 of file uan-rc-example.h.

Referenced by Run().

◆ m_gnudatfile

std::string Experiment::m_gnudatfile

Name for GNU Plot output, default uan-cw-example.gpl.

Definition at line 84 of file uan-cw-example.h.

◆ m_gnuplotfile

std::string Experiment::m_gnuplotfile

Filename for GnuPlot.

Definition at line 57 of file uan-rc-example.h.

◆ m_maxRange

uint32_t Experiment::m_maxRange

Maximum range between gateway and acoustic node.

Definition at line 50 of file uan-rc-example.h.

Referenced by Run().

◆ m_numNodes

uint32_t Experiment::m_numNodes

Number of transmitting nodes.

Number of nodes (invalid for m_doNode true).

Definition at line 70 of file uan-cw-example.h.

Referenced by Run().

◆ m_numRates

uint32_t Experiment::m_numRates

Number of divided rates ( (NumberRates+1)TotalRate should be 0).

Definition at line 48 of file uan-rc-example.h.

Referenced by CreateDualModes(), CreateMode(), and Run().

◆ m_output

Gnuplot2dDataset Experiment::m_output
private

Definition at line 55 of file wifi-adhoc.cc.

Referenced by AdvancePosition(), CheckThroughput(), Experiment(), and Run().

◆ m_packetSize

uint32_t Experiment::m_packetSize

Generated packet size in bytes.

Definition at line 74 of file uan-cw-example.h.

Referenced by Run().

◆ m_pktSize

uint32_t Experiment::m_pktSize

Packet size in bytes.

Definition at line 52 of file uan-rc-example.h.

Referenced by Run().

◆ m_pktsTotal

uint32_t Experiment::m_pktsTotal
private

Definition at line 53 of file wifi-clear-channel-cmu.cc.

◆ m_sifs

Time Experiment::m_sifs

SIFS time duration.

Definition at line 54 of file uan-rc-example.h.

Referenced by Run().

◆ m_simMax

uint32_t Experiment::m_simMax

Maximum parameter to test.

Definition at line 46 of file uan-rc-example.h.

◆ m_simMin

uint32_t Experiment::m_simMin

Minimum parameter to test.

Definition at line 45 of file uan-rc-example.h.

◆ m_simStep

uint32_t Experiment::m_simStep

Amount to increment param per trial.

Definition at line 47 of file uan-rc-example.h.

◆ m_simTime

Time Experiment::m_simTime

Simulation run time, default 1000 s.

Simulation time per trial.

Definition at line 82 of file uan-cw-example.h.

Referenced by ResetData(), and Run().

◆ m_slotTime

Time Experiment::m_slotTime

Slot time duration.

Definition at line 81 of file uan-cw-example.h.

Referenced by Run().

◆ m_throughputs

std::vector<double> Experiment::m_throughputs

Throughput for each run.

Definition at line 89 of file uan-cw-example.h.

Referenced by IncrementCw(), and ResetData().

◆ m_totalRate

uint32_t Experiment::m_totalRate

Total channel capacity.

Definition at line 49 of file uan-rc-example.h.

Referenced by CreateMode(), and Run().

◆ nodeDistance

uint32_t Experiment::nodeDistance
private

Definition at line 132 of file wifi-multirate.cc.

Referenced by Run().

◆ outputFileName

std::string Experiment::outputFileName
private

Definition at line 143 of file wifi-multirate.cc.

Referenced by CommandSetup().

◆ packetSize

uint32_t Experiment::packetSize
private

Definition at line 130 of file wifi-multirate.cc.

Referenced by ApplicationSetup(), and CommandSetup().

◆ port

uint32_t Experiment::port
private

Definition at line 133 of file wifi-multirate.cc.

Referenced by ApplicationSetup().

◆ rateManager

std::string Experiment::rateManager
private

Definition at line 143 of file wifi-multirate.cc.

Referenced by CommandSetup().

◆ rtsThreshold

std::string Experiment::rtsThreshold
private

Definition at line 143 of file wifi-multirate.cc.

Referenced by CommandSetup().

◆ samplingPeriod

double Experiment::samplingPeriod
private

Definition at line 127 of file wifi-multirate.cc.

Referenced by CheckThroughput(), and CommandSetup().

◆ scenario

uint32_t Experiment::scenario
private

Definition at line 134 of file wifi-multirate.cc.

Referenced by CommandSetup(), and Run().

◆ totalTime

double Experiment::totalTime
private

Definition at line 125 of file wifi-multirate.cc.

Referenced by CommandSetup(), Run(), SelectSrcDest(), and SendMultiDestinations().


The documentation for this class was generated from the following files: