A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
queue-discs-benchmark.cc File Reference
#include "ns3/applications-module.h"
#include "ns3/core-module.h"
#include "ns3/flow-monitor-module.h"
#include "ns3/internet-apps-module.h"
#include "ns3/internet-module.h"
#include "ns3/network-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/traffic-control-module.h"
+ Include dependency graph for queue-discs-benchmark.cc:

Go to the source code of this file.

Functions

void BytesInQueueTrace (Ptr< OutputStreamWrapper > stream, uint32_t oldVal, uint32_t newVal)
 Print the bytes in the queue.
 
static void GoodputSampling (ApplicationContainer app, Ptr< OutputStreamWrapper > stream, float period)
 Sample and print the queue goodput.
 
void LimitsTrace (Ptr< OutputStreamWrapper > stream, uint32_t oldVal, uint32_t newVal)
 Print the queue limits.
 
static void PingRtt (std::string context, uint16_t, Time rtt)
 Print the ping RTT.
 

Detailed Description

Usage

$ ./ns3 run "queue-discs-benchmark [Program Options]"

Program Options

--bandwidth
Bottleneck bandwidth [10Mbps]
--delay
Bottleneck delay [5ms]
--queueDiscType
Bottleneck queue disc type in {PfifoFast, ARED, CoDel, FqCoDel, PIE, prio} [PfifoFast]
--queueDiscSize
Bottleneck queue disc size in packets [1000]
--netdevicesQueueSize
Bottleneck netdevices queue size in packets [50]
--bql
Enable byte queue limits on bottleneck netdevices [false]
--flowsDatarate
Upload and download flows datarate [20Mbps]
--flowsPacketsSize
Upload and download flows packets sizes [1000]
--startTime
Simulation start time [0.1]
--simDuration
Simulation duration in seconds [60]
--samplingPeriod
Goodput sampling period in seconds [1]

Definition in file queue-discs-benchmark.cc.

Function Documentation

◆ BytesInQueueTrace()

void BytesInQueueTrace ( Ptr< OutputStreamWrapper stream,
uint32_t  oldVal,
uint32_t  newVal 
)

Print the bytes in the queue.

Parameters
streamThe output stream.
oldValOld value.
newValNew value.

Definition at line 90 of file queue-discs-benchmark.cc.

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

+ Here is the call graph for this function:

◆ GoodputSampling()

static void GoodputSampling ( ApplicationContainer  app,
Ptr< OutputStreamWrapper stream,
float  period 
)
static

Sample and print the queue goodput.

Parameters
appThe Tx app.
streamThe output stream.
periodThe sampling period.

Definition at line 103 of file queue-discs-benchmark.cc.

References ns3::Time::GetSeconds(), GoodputSampling(), ns3::Simulator::Now(), ns3::Simulator::Schedule(), and ns3::Seconds().

Referenced by GoodputSampling().

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

◆ LimitsTrace()

void LimitsTrace ( Ptr< OutputStreamWrapper stream,
uint32_t  oldVal,
uint32_t  newVal 
)

Print the queue limits.

Parameters
streamThe output stream.
oldValOld value.
newValNew value.

Definition at line 77 of file queue-discs-benchmark.cc.

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

+ Here is the call graph for this function:

◆ PingRtt()

static void PingRtt ( std::string  context,
uint16_t  ,
Time  rtt 
)
static

Print the ping RTT.

Parameters
contextThe context.
rttThe RTT.

Definition at line 119 of file queue-discs-benchmark.cc.

References ns3::Time::GetMilliSeconds().

+ Here is the call graph for this function: