A Discrete-Event Network Simulator
API
codel-vs-pfifo-asymmetric.cc File Reference
#include <iostream>
#include <fstream>
#include <string>
#include "ns3/core-module.h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/applications-module.h"
#include "ns3/config-store-module.h"
#include "ns3/error-model.h"
#include "ns3/tcp-header.h"
#include "ns3/udp-header.h"
#include "ns3/enum.h"
#include "ns3/event-id.h"
#include "ns3/ipv4-global-routing-helper.h"
#include "ns3/traffic-control-module.h"
+ 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)
 
void CreateOnOffFlow (AddressValue remoteAddress, Ptr< Node > sender, float stopTime)
 
static void CwndTracer (Ptr< OutputStreamWrapper >stream, uint32_t oldval, uint32_t newval)
 
static void DroppingStateTracer (Ptr< OutputStreamWrapper >stream, bool oldVal, bool newVal)
 
static void EveryDropTracer (Ptr< OutputStreamWrapper >stream, Ptr< const QueueDiscItem > item)
 
static void QueueLengthTracer (Ptr< OutputStreamWrapper >stream, uint32_t oldval, uint32_t newval)
 
static void SojournTracer (Ptr< OutputStreamWrapper >stream, Time newval)
 
static void TraceCwnd (std::string cwndTrFileName)
 
static void TraceDroppingState (std::string dropStateTrFileName)
 
static void TraceEveryDrop (std::string everyDropTrFileName)
 
static void TraceQueueLength (std::string queueLengthTrFileName)
 
static void TraceSojourn (std::string sojournTrFileName)
 

Detailed Description

Usage

$ ./ns3 run "codel-vs-pfifo-asymmetric [Program Options]"

Program Options

–serverCmtsDelay
Link delay between server and CMTS [15ms]
–cmtsRouterDelay
Link delay between CMTS and rounter [6ms]
–routerHostDelay
Link delay between router and host [0.1ms]
–serverLanDataRate
Server LAN net device data rate [10Gbps]
–cmtsLanDataRate
CMTS LAN net device data rate [10Gbps]
–cmtsWanDataRate
CMTS WAN net device data rate [22Mbps]
–routerWanDataRate
Router WAN net device data rate [5Mbps]
–routerLanDataRate
Router LAN net device data rate [10Gbps]
–hostLanDataRate
Host LAN net device data rate [10Gbps]
–routerWanQueueDiscType
Router WAN queue disc type: PfifoFast, CoDel [CoDel]
–queueSize
Queue size in packets [1000]
–pktSize
Packet size in bytes [1458]
–numOfUpLoadBulkFlows
Number of upload bulk transfer flows [1]
–numOfDownLoadBulkFlows
Number of download bulk transfer flows [1]
–numOfUpLoadOnOffFlows
Number of upload OnOff flows [1]
–numOfDownLoadOnOffFlows
Number of download OnOff flows [1]
–startTime
Simulation start time [0.1]
–simDuration
Simulation duration in seconds [60]
–isPcapEnabled
Flag to enable/disable pcap [true]
–logging
Flag to enable/disable logging [true]

Definition in file codel-vs-pfifo-asymmetric.cc.

Function Documentation

◆ CreateBulkFlow()

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

◆ CreateOnOffFlow()

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

◆ CwndTracer()

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

Definition at line 73 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

Definition at line 161 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

Definition at line 139 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

Definition at line 117 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

Definition at line 95 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

◆ TraceDroppingState()

static void TraceDroppingState ( std::string  dropStateTrFileName)
static

◆ TraceEveryDrop()

static void TraceEveryDrop ( std::string  everyDropTrFileName)
static

◆ TraceQueueLength()

static void TraceQueueLength ( std::string  queueLengthTrFileName)
static

◆ TraceSojourn()

static void TraceSojourn ( std::string  sojournTrFileName)
static