Routing experiment class. More...
Public Member Functions | |
RoutingExperiment () | |
void | CommandSetup (int argc, char **argv) |
Handles the command-line parameters. | |
void | Run () |
Run the experiment. | |
Private Member Functions | |
void | CheckThroughput () |
Compute the throughput. | |
void | ReceivePacket (Ptr< Socket > socket) |
Receive a packet. | |
Ptr< Socket > | SetupPacketReceive (Ipv4Address addr, Ptr< Node > node) |
Setup the receiving socket in a Sink Node. | |
Private Attributes | |
uint32_t | bytesTotal {0} |
Total received bytes. | |
std::string | m_CSVfileName {"manet-routing.output.csv"} |
CSV filename. | |
bool | m_flowMonitor {false} |
Enable FlowMonitor. | |
int | m_nSinks {10} |
Number of sink nodes. | |
std::string | m_protocolName {"AODV"} |
Protocol name. | |
bool | m_traceMobility {false} |
Enable mobility tracing. | |
double | m_txp {7.5} |
Tx power. | |
uint32_t | packetsReceived {0} |
Total received packets. | |
uint32_t | port {9} |
Receiving port number. | |
Routing experiment class.
It handles the creation and run of an experiment.
Definition at line 92 of file manet-routing-compare.cc.
RoutingExperiment::RoutingExperiment | ( | ) |
Definition at line 138 of file manet-routing-compare.cc.
|
private |
Compute the throughput.
Definition at line 175 of file manet-routing-compare.cc.
References bytesTotal, CheckThroughput(), m_CSVfileName, m_nSinks, m_protocolName, m_txp, ns3::Simulator::Now(), packetsReceived, ns3::Simulator::Schedule(), and ns3::Seconds().
Referenced by CheckThroughput(), and Run().
void RoutingExperiment::CommandSetup | ( | int | argc, |
char ** | argv | ||
) |
Handles the command-line parameters.
argc | The argument count. |
argv | The argument vector. |
Definition at line 203 of file manet-routing-compare.cc.
References m_CSVfileName, m_flowMonitor, m_protocolName, m_traceMobility, and NS_FATAL_ERROR.
Receive a packet.
socket | The receiving socket. |
Definition at line 162 of file manet-routing-compare.cc.
References bytesTotal, NS_LOG_UNCOND, packetsReceived, and PrintReceivedPacket().
Referenced by SetupPacketReceive().
void RoutingExperiment::Run | ( | ) |
Run the experiment.
Definition at line 232 of file manet-routing-compare.cc.
References ns3::YansWifiChannelHelper::AddPropagationLoss(), ns3::Ipv4AddressHelper::Assign(), ns3::MobilityHelper::AssignStreams(), CheckThroughput(), ns3::ObjectFactory::Create(), ns3::YansWifiChannelHelper::Create(), ns3::NodeContainer::Create(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::Simulator::Destroy(), ns3::MobilityHelper::EnableAsciiAll(), ns3::Packet::EnablePrinting(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Object::GetObject(), ns3::DsrMainHelper::Install(), ns3::OnOffHelper::Install(), ns3::MobilityHelper::Install(), ns3::FlowMonitorHelper::InstallAll(), list, m_CSVfileName, m_flowMonitor, m_nSinks, m_protocolName, m_txp, nodes, NS_FATAL_ERROR, NS_LOG_INFO, port, ns3::Simulator::Run(), ns3::Seconds(), ns3::ObjectFactory::Set(), ns3::WifiPhyHelper::Set(), ns3::OnOffHelper::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::YansWifiPhyHelper::SetChannel(), ns3::Config::SetDefault(), ns3::MobilityHelper::SetMobilityModel(), ns3::MobilityHelper::SetPositionAllocator(), ns3::YansWifiChannelHelper::SetPropagationDelay(), ns3::WifiMacHelper::SetType(), ns3::ObjectFactory::SetTypeId(), SetupPacketReceive(), sink, ns3::ApplicationContainer::Start(), ns3::Simulator::Stop(), ns3::ApplicationContainer::Stop(), and ns3::WIFI_STANDARD_80211b.
|
private |
Setup the receiving socket in a Sink Node.
addr | The address of the node. |
node | The node pointer. |
Definition at line 191 of file manet-routing-compare.cc.
References ns3::Socket::CreateSocket(), ns3::TypeId::LookupByName(), ns3::MakeCallback(), port, ReceivePacket(), and sink.
Referenced by Run().
|
private |
Total received bytes.
Definition at line 127 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
|
private |
CSV filename.
Definition at line 130 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), CommandSetup(), and Run().
|
private |
Enable FlowMonitor.
Definition at line 135 of file manet-routing-compare.cc.
Referenced by CommandSetup(), and Run().
|
private |
Number of sink nodes.
Definition at line 131 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
|
private |
Protocol name.
Definition at line 132 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), CommandSetup(), and Run().
|
private |
Enable mobility tracing.
Definition at line 134 of file manet-routing-compare.cc.
Referenced by CommandSetup().
|
private |
Tx power.
Definition at line 133 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
|
private |
Total received packets.
Definition at line 128 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
|
private |
Receiving port number.
Definition at line 126 of file manet-routing-compare.cc.
Referenced by Run(), and SetupPacketReceive().