A Discrete-Event Network Simulator
API
codel-vs-pfifo-asymmetric.cc File Reference
#include "ns3/applications-module.h"
#include "ns3/config-store.h"
#include "ns3/core-module.h"
#include "ns3/enum.h"
#include "ns3/error-model.h"
#include "ns3/event-id.h"
#include "ns3/internet-module.h"
#include "ns3/ipv4-global-routing-helper.h"
#include "ns3/network-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/tcp-header.h"
#include "ns3/traffic-control-module.h"
#include "ns3/udp-header.h"
#include <fstream>
#include <iostream>
#include <string>
+ Include dependency graph for codel-vs-pfifo-asymmetric.cc:

Go to the source code of this file.

Functions

void CreateBulkFlow (AddressValue remoteAddress, Ptr< Node > sender, uint32_t pktSize, float stopTime)
 Create a Bulk Flow application. More...
 
void CreateOnOffFlow (AddressValue remoteAddress, Ptr< Node > sender, float stopTime)
 Create a On Off Flow application. More...
 
static void CwndTracer (Ptr< OutputStreamWrapper > stream, uint32_t oldval, uint32_t newval)
 TCP Congestion window tracker. More...
 
static void DroppingStateTracer (Ptr< OutputStreamWrapper > stream, bool oldVal, bool newVal)
 Traffic Control Dropping state trace. More...
 
static void EveryDropTracer (Ptr< OutputStreamWrapper > stream, Ptr< const QueueDiscItem > item)
 Traffic control drop trace. More...
 
static void QueueLengthTracer (Ptr< OutputStreamWrapper > stream, uint32_t oldval, uint32_t newval)
 Traffic Control Queue length tracker. More...
 
static void SojournTracer (Ptr< OutputStreamWrapper > stream, Time newval)
 Traffic Control Sojourn tracker. More...
 
static void TraceCwnd (std::string cwndTrFileName)
 Setup for TCP congestion window tracking. More...
 
static void TraceDroppingState (std::string dropStateTrFileName)
 Setup for Traffic Control dropping tracking. More...
 
static void TraceEveryDrop (std::string everyDropTrFileName)
 Setup for Traffic Control drop tracking. More...
 
static void TraceQueueLength (std::string queueLengthTrFileName)
 Setup for Traffic Control Queue length tracking. More...
 
static void TraceSojourn (std::string sojournTrFileName)
 Setup for Traffic Control Sojourn time tracking. More...
 

Function Documentation

◆ CreateBulkFlow()

void CreateBulkFlow ( AddressValue  remoteAddress,
Ptr< Node sender,
uint32_t  pktSize,
float  stopTime 
)

Create a Bulk Flow application.

Parameters
remoteAddressRemote address.
senderSender node.
pktSizePacket size.
stopTimeStop time.

Definition at line 267 of file codel-vs-pfifo-asymmetric.cc.

References ns3::BulkSendHelper::Install(), pktSize, nsclick-simple-lan::remoteAddress, ns3::Seconds(), ns3::BulkSendHelper::SetAttribute(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and stopTime.

+ Here is the call graph for this function:

◆ CreateOnOffFlow()

void CreateOnOffFlow ( AddressValue  remoteAddress,
Ptr< Node sender,
float  stopTime 
)

Create a On Off Flow application.

Parameters
remoteAddressRemote address.
senderSender node.
stopTimeStop time.

Definition at line 286 of file codel-vs-pfifo-asymmetric.cc.

References ns3::OnOffHelper::Install(), nsclick-simple-lan::remoteAddress, ns3::Seconds(), ns3::OnOffHelper::SetAttribute(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and stopTime.

+ Here is the call graph for this function:

◆ CwndTracer()

static void CwndTracer ( Ptr< OutputStreamWrapper stream,
uint32_t  oldval,
uint32_t  newval 
)
static

TCP Congestion window tracker.

Parameters
streamThe output stream.
oldvalOld value.
newvalNew value.

Definition at line 79 of file codel-vs-pfifo-asymmetric.cc.

References ns3::OutputStreamWrapper::GetStream().

Referenced by TraceCwnd().

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

◆ DroppingStateTracer()

static void DroppingStateTracer ( Ptr< OutputStreamWrapper stream,
bool  oldVal,
bool  newVal 
)
static

Traffic Control Dropping state trace.

Parameters
streamThe output stream.
oldValOld value.
newValNew value.

Definition at line 221 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Time::GetSeconds(), ns3::OutputStreamWrapper::GetStream(), ns3::Simulator::Now(), and NS_LOG_INFO.

Referenced by TraceDroppingState().

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

◆ EveryDropTracer()

static void EveryDropTracer ( Ptr< OutputStreamWrapper stream,
Ptr< const QueueDiscItem item 
)
static

Traffic control drop trace.

Parameters
streamThe output stream.
itemThe dropped item.

Definition at line 185 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Time::GetSeconds(), ns3::OutputStreamWrapper::GetStream(), and ns3::Simulator::Now().

Referenced by TraceEveryDrop().

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

◆ QueueLengthTracer()

static void QueueLengthTracer ( Ptr< OutputStreamWrapper stream,
uint32_t  oldval,
uint32_t  newval 
)
static

Traffic Control Queue length tracker.

Parameters
streamThe output stream.
oldvalOld value.
newvalNew value.

Definition at line 150 of file codel-vs-pfifo-asymmetric.cc.

References ns3::OutputStreamWrapper::GetStream().

Referenced by TraceQueueLength().

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

◆ SojournTracer()

static void SojournTracer ( Ptr< OutputStreamWrapper stream,
Time  newval 
)
static

Traffic Control Sojourn tracker.

Parameters
streamThe output stream.
newvalNew value.

Definition at line 114 of file codel-vs-pfifo-asymmetric.cc.

References ns3::OutputStreamWrapper::GetStream().

Referenced by TraceSojourn().

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

◆ TraceCwnd()

static void TraceCwnd ( std::string  cwndTrFileName)
static

Setup for TCP congestion window tracking.

Parameters
cwndTrFileNameCongestion window output file name.

Definition at line 90 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), CwndTracer(), ns3::MakeBoundCallback(), and NS_LOG_DEBUG.

+ Here is the call graph for this function:

◆ TraceDroppingState()

static void TraceDroppingState ( std::string  dropStateTrFileName)
static

Setup for Traffic Control dropping tracking.

Parameters
dropStateTrFileNameTC drop state output file name.

Definition at line 241 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), DroppingStateTracer(), ns3::MakeBoundCallback(), and NS_LOG_DEBUG.

+ Here is the call graph for this function:

◆ TraceEveryDrop()

static void TraceEveryDrop ( std::string  everyDropTrFileName)
static

Setup for Traffic Control drop tracking.

Parameters
everyDropTrFileNameTC drop output file name.

Definition at line 196 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), EveryDropTracer(), ns3::MakeBoundCallback(), and NS_LOG_DEBUG.

+ Here is the call graph for this function:

◆ TraceQueueLength()

static void TraceQueueLength ( std::string  queueLengthTrFileName)
static

Setup for Traffic Control Queue length tracking.

Parameters
queueLengthTrFileNameQueue length output file name.

Definition at line 161 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::MakeBoundCallback(), NS_LOG_DEBUG, and QueueLengthTracer().

+ Here is the call graph for this function:

◆ TraceSojourn()

static void TraceSojourn ( std::string  sojournTrFileName)
static

Setup for Traffic Control Sojourn time tracking.

Parameters
sojournTrFileNameSojourn time output file name.

Definition at line 125 of file codel-vs-pfifo-asymmetric.cc.

References ns3::Config::ConnectWithoutContext(), ns3::AsciiTraceHelper::CreateFileStream(), ns3::MakeBoundCallback(), NS_LOG_DEBUG, and SojournTracer().

+ Here is the call graph for this function: