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 {true} | 
| 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 82 of file manet-routing-compare.cc.
| RoutingExperiment::RoutingExperiment | ( | ) | 
Definition at line 128 of file manet-routing-compare.cc.
      
  | 
  private | 
Compute the throughput.
Definition at line 165 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 193 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 152 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 222 of file manet-routing-compare.cc.
References ns3::YansWifiChannelHelper::AddPropagationLoss(), ns3::Ipv4AddressHelper::Assign(), ns3::MobilityHelper::AssignStreams(), CheckThroughput(), ns3::NodeContainer::Create(), ns3::ObjectFactory::Create(), ns3::YansWifiChannelHelper::Create(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::CreateObject(), ns3::Simulator::Destroy(), ns3::MobilityHelper::EnableAsciiAll(), ns3::Packet::EnablePrinting(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::ApplicationHelper::Install(), ns3::DsrMainHelper::Install(), ns3::MobilityHelper::Install(), ns3::FlowMonitorHelper::InstallAll(), m_CSVfileName, m_flowMonitor, m_nSinks, m_protocolName, m_traceMobility, m_txp, nodes, NS_FATAL_ERROR, NS_LOG_INFO, port, ns3::Simulator::Run(), ns3::Seconds(), ns3::ObjectFactory::Set(), ns3::WifiPhyHelper::Set(), ns3::ApplicationHelper::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::ApplicationContainer::Stop(), ns3::Simulator::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 181 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 117 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
      
  | 
  private | 
CSV filename.
Definition at line 120 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), CommandSetup(), and Run().
      
  | 
  private | 
Enable FlowMonitor.
Definition at line 125 of file manet-routing-compare.cc.
Referenced by CommandSetup(), and Run().
      
  | 
  private | 
Number of sink nodes.
Definition at line 121 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
      
  | 
  private | 
Protocol name.
Definition at line 122 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), CommandSetup(), and Run().
      
  | 
  private | 
Enable mobility tracing.
Definition at line 124 of file manet-routing-compare.cc.
Referenced by CommandSetup(), and Run().
      
  | 
  private | 
Tx power.
Definition at line 123 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
      
  | 
  private | 
Total received packets.
Definition at line 118 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
      
  | 
  private | 
Receiving port number.
Definition at line 116 of file manet-routing-compare.cc.
Referenced by Run(), and SetupPacketReceive().