Routing experiment class. More...
Public Member Functions | |
RoutingExperiment () | |
std::string | CommandSetup (int argc, char **argv) |
Handles the command-line parmeters. More... | |
void | Run (int nSinks, double txp, std::string CSVfileName) |
Run the experiment. More... | |
Private Member Functions | |
void | CheckThroughput () |
Compute the throughput. More... | |
void | ReceivePacket (Ptr< Socket > socket) |
Receive a packet. More... | |
Ptr< Socket > | SetupPacketReceive (Ipv4Address addr, Ptr< Node > node) |
Setup the receiving socket in a Sink Node. More... | |
Private Attributes | |
uint32_t | bytesTotal |
Total received bytes. More... | |
std::string | m_CSVfileName |
CSV filename. More... | |
int | m_nSinks |
Number of sink nodes. More... | |
uint32_t | m_protocol |
Protocol type. More... | |
std::string | m_protocolName |
Protocol name. More... | |
bool | m_traceMobility |
Enavle mobility tracing. More... | |
double | m_txp |
Tx power. More... | |
uint32_t | packetsReceived |
Total received packets. More... | |
uint32_t | port |
Receiving port number. More... | |
Routing experiment class.
It handles the creation and run of an experiment.
Definition at line 91 of file manet-routing-compare.cc.
RoutingExperiment::RoutingExperiment | ( | ) |
Definition at line 142 of file manet-routing-compare.cc.
|
private |
Compute the throughput.
Definition at line 185 of file manet-routing-compare.cc.
References bytesTotal, CheckThroughput(), m_CSVfileName, m_nSinks, m_protocolName, m_txp, ns3::Now(), packetsReceived, and ns3::Seconds().
Referenced by CheckThroughput(), and Run().
std::string RoutingExperiment::CommandSetup | ( | int | argc, |
char ** | argv | ||
) |
Handles the command-line parmeters.
argc | The argument count. |
argv | The argument vector. |
Definition at line 218 of file manet-routing-compare.cc.
References second::cmd, m_CSVfileName, m_protocol, and m_traceMobility.
Receive a packet.
socket | The receiving socket. |
Definition at line 172 of file manet-routing-compare.cc.
References bytesTotal, ns3::Packet::GetSize(), NS_LOG_UNCOND, packetsReceived, PrintReceivedPacket(), and ns3::Socket::RecvFrom().
Referenced by SetupPacketReceive().
void RoutingExperiment::Run | ( | int | nSinks, |
double | txp, | ||
std::string | CSVfileName | ||
) |
Run the experiment.
nSinks | The number of Sink Nodes. |
txp | The Tx power. |
CSVfileName | The output CSV filename. |
Definition at line 252 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::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Object::GetObject(), ns3::UniformRandomVariable::GetValue(), ns3::DsrMainHelper::Install(), ns3::OnOffHelper::Install(), ns3::MobilityHelper::Install(), ns3::InternetStackHelper::Install(), list, m_CSVfileName, m_nSinks, m_protocol, m_protocolName, m_txp, first::nodes, NS_FATAL_ERROR, NS_LOG_INFO, port, 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::InternetStackHelper::SetRoutingHelper(), ns3::WifiMacHelper::SetType(), ns3::ObjectFactory::SetTypeId(), SetupPacketReceive(), sink, ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), third::wifi, 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 206 of file manet-routing-compare.cc.
References ns3::MakeCallback(), port, ReceivePacket(), and sink.
Referenced by Run().
|
private |
Total received bytes.
Definition at line 131 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
|
private |
CSV filename.
Definition at line 134 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), CommandSetup(), and Run().
|
private |
Number of sink nodes.
Definition at line 135 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
|
private |
Protocol type.
Definition at line 139 of file manet-routing-compare.cc.
Referenced by CommandSetup(), and Run().
|
private |
Protocol name.
Definition at line 136 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
|
private |
Enavle mobility tracing.
Definition at line 138 of file manet-routing-compare.cc.
Referenced by CommandSetup().
|
private |
Tx power.
Definition at line 137 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and Run().
|
private |
Total received packets.
Definition at line 132 of file manet-routing-compare.cc.
Referenced by CheckThroughput(), and ReceivePacket().
|
private |
Receiving port number.
Definition at line 130 of file manet-routing-compare.cc.
Referenced by Run(), and SetupPacketReceive().