Helper class for UAN CW MAC example. More...
#include <uan-cw-example.h>
Public Member Functions | |
Experiment () | |
Experiment () | |
void | CreateDualModes (uint32_t fc) |
UanTxMode | CreateMode (uint32_t kass, uint32_t fc, bool upperblock, std::string name) |
void | IncrementCw (uint32_t cw) |
void | ReceivePacket (Ptr< Socket > socket) |
void | ReceivePacket (Ptr< Socket > socket) |
void | ResetData () |
Gnuplot2dDataset | Run (UanHelper &uan) |
uint32_t | Run (uint32_t param) |
void | UpdatePositions (NodeContainer &nodes) |
Public Attributes | |
std::string | m_asciitracefile |
uint32_t | m_avgs |
std::string | m_bhCfgFile |
double | m_boundary |
uint32_t | m_bytesTotal |
UanModesList | m_controlModes |
uint32_t | m_cwMax |
uint32_t | m_cwMin |
uint32_t | m_cwStep |
Gnuplot2dDataset | m_data |
UanModesList | m_dataModes |
uint32_t | m_dataRate |
double | m_depth |
bool | m_doNode |
std::string | m_gnudatfile |
std::string | m_gnuplotfile |
uint32_t | m_maxRange |
uint32_t | m_numNodes |
uint32_t | m_numRates |
uint32_t | m_packetSize |
uint32_t | m_pktSize |
Time | m_sifs |
uint32_t | m_simMax |
uint32_t | m_simMin |
uint32_t | m_simStep |
Time | m_simTime |
Time | m_slotTime |
std::vector< double > | m_throughputs |
uint32_t | m_totalRate |
Helper class for UAN CW MAC example.
Definition at line 35 of file uan-cw-example.h.
Experiment::Experiment | ( | ) |
Definition at line 52 of file uan-cw-example.cc.
Experiment::Experiment | ( | ) |
void Experiment::CreateDualModes | ( | uint32_t | fc | ) |
Definition at line 133 of file uan-rc-example.cc.
References ns3::UanModesList::AppendMode(), CreateMode(), m_controlModes, m_dataModes, and m_numRates.
Referenced by main().
UanTxMode Experiment::CreateMode | ( | uint32_t | kass, |
uint32_t | fc, | ||
bool | upperblock, | ||
std::string | name | ||
) |
Definition at line 99 of file uan-rc-example.cc.
References m_numRates, and m_totalRate.
Referenced by CreateDualModes().
void Experiment::IncrementCw | ( | uint32_t | cw | ) |
Definition at line 80 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().
Definition at line 114 of file uan-cw-example.cc.
References ns3::Packet::GetSize(), m_bytesTotal, and ns3::Socket::Recv().
Referenced by Run().
void Experiment::ResetData | ( | ) |
Definition at line 72 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().
Gnuplot2dDataset Experiment::Run | ( | UanHelper & | uan | ) |
Definition at line 126 of file uan-cw-example.cc.
References ns3::ListPositionAllocator::Add(), ns3::Object::AggregateObject(), ns3::Socket::Bind(), ns3::NodeContainer::Create(), ns3::UanHelper::EnableAsciiAll(), ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::NetDevice::GetAddress(), ns3::NetDevice::GetIfIndex(), ns3::NetDeviceContainer::GetN(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), GetPosition(), ns3::UniformRandomVariable::GetValue(), IncrementCw(), ns3::PacketSocketHelper::Install(), ns3::OnOffHelper::Install(), ns3::UanHelper::Install(), ns3::MobilityHelper::Install(), m_asciitracefile, m_avgs, m_boundary, m_bytesTotal, m_cwMax, m_cwMin, m_cwStep, m_data, m_dataRate, m_depth, m_numNodes, m_packetSize, m_simTime, m_slotTime, ns3::MakeCallback(), NS_FATAL_ERROR, NS_LOG_DEBUG, ReceivePacket(), ResetData(), ns3::Seconds(), ns3::OnOffHelper::SetAttribute(), ns3::UanHelper::SetMac(), ns3::MobilityHelper::SetMobilityModel(), ns3::PacketSocketAddress::SetPhysicalAddress(), ns3::MobilityHelper::SetPositionAllocator(), ns3::PacketSocketAddress::SetProtocol(), ns3::Socket::SetRecvCallback(), ns3::PacketSocketAddress::SetSingleDevice(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), UpdatePositions(), and sample-rng-plot::x.
Referenced by main(), and Run().
uint32_t Experiment::Run | ( | uint32_t | param | ) |
Definition at line 148 of file uan-rc-example.cc.
References ns3::ListPositionAllocator::Add(), ns3::Socket::Bind(), ns3::NodeContainer::Create(), ns3::NetDeviceContainer::Get(), ns3::NetDevice::GetAddress(), ns3::NetDevice::GetIfIndex(), ns3::PacketSocketHelper::Install(), ns3::OnOffHelper::Install(), ns3::UanHelper::Install(), ns3::MobilityHelper::Install(), m_bytesTotal, m_controlModes, m_dataModes, m_doNode, m_maxRange, m_numNodes, m_numRates, m_pktSize, m_sifs, m_simTime, m_totalRate, ns3::MakeCallback(), ReceivePacket(), Run(), ns3::Seconds(), ns3::OnOffHelper::SetAttribute(), ns3::UanHelper::SetMac(), ns3::MobilityHelper::SetMobilityModel(), ns3::UanHelper::SetPhy(), ns3::PacketSocketAddress::SetPhysicalAddress(), ns3::MobilityHelper::SetPositionAllocator(), ns3::PacketSocketAddress::SetProtocol(), ns3::Socket::SetRecvCallback(), ns3::PacketSocketAddress::SetSingleDevice(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and sample-rng-plot::x.
void Experiment::UpdatePositions | ( | NodeContainer & | nodes | ) |
Definition at line 100 of file uan-cw-example.cc.
References ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), ns3::Object::GetObject(), ns3::UniformRandomVariable::GetValue(), m_boundary, ns3::Now(), NS_LOG_DEBUG, and ns3::MobilityModel::SetPosition().
Referenced by Run().
std::string Experiment::m_asciitracefile |
Definition at line 58 of file uan-cw-example.h.
Referenced by Run().
uint32_t Experiment::m_avgs |
Definition at line 52 of file uan-cw-example.h.
Referenced by IncrementCw(), main(), and Run().
std::string Experiment::m_bhCfgFile |
Definition at line 59 of file uan-cw-example.h.
double Experiment::m_boundary |
Definition at line 46 of file uan-cw-example.h.
Referenced by main(), Run(), and UpdatePositions().
uint32_t Experiment::m_bytesTotal |
Definition at line 48 of file uan-cw-example.h.
Referenced by ReceivePacket(), ResetData(), and Run().
UanModesList Experiment::m_controlModes |
Definition at line 50 of file uan-rc-example.h.
Referenced by CreateDualModes(), and Run().
uint32_t Experiment::m_cwMax |
Definition at line 50 of file uan-cw-example.h.
uint32_t Experiment::m_cwMin |
Definition at line 49 of file uan-cw-example.h.
uint32_t Experiment::m_cwStep |
Definition at line 51 of file uan-cw-example.h.
Referenced by IncrementCw(), and Run().
Gnuplot2dDataset Experiment::m_data |
Definition at line 61 of file uan-cw-example.h.
Referenced by IncrementCw(), and Run().
UanModesList Experiment::m_dataModes |
Definition at line 49 of file uan-rc-example.h.
Referenced by CreateDualModes(), and Run().
uint32_t Experiment::m_dataRate |
Definition at line 44 of file uan-cw-example.h.
double Experiment::m_depth |
Definition at line 45 of file uan-cw-example.h.
bool Experiment::m_doNode |
Definition at line 41 of file uan-rc-example.h.
std::string Experiment::m_gnudatfile |
Definition at line 57 of file uan-cw-example.h.
Referenced by main().
std::string Experiment::m_gnuplotfile |
Definition at line 45 of file uan-rc-example.h.
Referenced by main().
uint32_t Experiment::m_maxRange |
Definition at line 38 of file uan-rc-example.h.
uint32_t Experiment::m_numNodes |
Definition at line 43 of file uan-cw-example.h.
uint32_t Experiment::m_numRates |
Definition at line 36 of file uan-rc-example.h.
Referenced by CreateDualModes(), CreateMode(), main(), and Run().
uint32_t Experiment::m_packetSize |
Definition at line 47 of file uan-cw-example.h.
uint32_t Experiment::m_pktSize |
Definition at line 40 of file uan-rc-example.h.
Time Experiment::m_sifs |
Definition at line 42 of file uan-rc-example.h.
uint32_t Experiment::m_simMax |
Definition at line 34 of file uan-rc-example.h.
Referenced by main().
uint32_t Experiment::m_simMin |
Definition at line 33 of file uan-rc-example.h.
Referenced by main().
uint32_t Experiment::m_simStep |
Definition at line 35 of file uan-rc-example.h.
Referenced by main().
Time Experiment::m_simTime |
Definition at line 55 of file uan-cw-example.h.
Referenced by main(), ResetData(), and Run().
Time Experiment::m_slotTime |
Definition at line 54 of file uan-cw-example.h.
std::vector<double> Experiment::m_throughputs |
Definition at line 62 of file uan-cw-example.h.
Referenced by IncrementCw(), and ResetData().
uint32_t Experiment::m_totalRate |
Definition at line 37 of file uan-rc-example.h.
Referenced by CreateMode(), main(), and Run().