A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
fqcodel-l4s-example.cc File Reference
#include "ns3/applications-module.h"
#include "ns3/core-module.h"
#include "ns3/flow-monitor-helper.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 fqcodel-l4s-example.cc:

Go to the source code of this file.

Functions

static void PacketDequeue (std::ofstream *n0OfStream, std::ofstream *n1OfStream, Ptr< const QueueDiscItem > item)
 
void ScheduleN0PacketSinkConnection ()
 
void ScheduleN0TcpCwndTraceConnection (std::ofstream *ofStream)
 
void ScheduleN0TcpRttTraceConnection (std::ofstream *ofStream)
 
void ScheduleN1PacketSinkConnection ()
 
void ScheduleN1TcpCwndTraceConnection (std::ofstream *ofStream)
 
void ScheduleN1TcpRttTraceConnection (std::ofstream *ofStream)
 
void TraceDrop (std::ofstream *ofStream, Ptr< const QueueDiscItem > item)
 
void TraceDropsFrequency (std::ofstream *ofStream, Time dropsSamplingInterval)
 
void TraceMark (std::ofstream *ofStream, Ptr< const QueueDiscItem > item, const char *reason)
 
void TraceMarksFrequency (std::ofstream *ofStream, Time marksSamplingInterval)
 
void TraceN0Cwnd (std::ofstream *ofStream, uint32_t oldCwnd, uint32_t newCwnd)
 
void TraceN0Rtt (std::ofstream *ofStream, Time oldRtt, Time newRtt)
 
void TraceN0Rx (Ptr< const Packet > packet, const Address &address)
 
void TraceN0Throughput (std::ofstream *ofStream, Time throughputInterval)
 
void TraceN1Cwnd (std::ofstream *ofStream, uint32_t oldCwnd, uint32_t newCwnd)
 
void TraceN1Rtt (std::ofstream *ofStream, Time oldRtt, Time newRtt)
 
void TraceN1Rx (Ptr< const Packet > packet, const Address &address)
 
void TraceN1Throughput (std::ofstream *ofStream, Time throughputInterval)
 
void TracePingRtt (std::ofstream *ofStream, uint16_t seqNo, Time rtt)
 
void TraceQueueLength (std::ofstream *ofStream, DataRate linkRate, uint32_t oldVal, uint32_t newVal)
 

Variables

double avgQueueDiscSize
 
uint32_t checkTimes
 
uint32_t g_dropsObserved = 0
 
uint32_t g_marksObserved = 0
 
uint32_t g_n0BytesReceived = 0
 
uint32_t g_n1BytesReceived = 0
 

Function Documentation

◆ PacketDequeue()

static void PacketDequeue ( std::ofstream * n0OfStream,
std::ofstream * n1OfStream,
Ptr< const QueueDiscItem > item )
static

Definition at line 437 of file fqcodel-l4s-example.cc.

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

+ Here is the call graph for this function:

◆ ScheduleN0PacketSinkConnection()

void ScheduleN0PacketSinkConnection ( )

Definition at line 409 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), and TraceN0Rx().

+ Here is the call graph for this function:

◆ ScheduleN0TcpCwndTraceConnection()

void ScheduleN0TcpCwndTraceConnection ( std::ofstream * ofStream)

Definition at line 395 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeBoundCallback(), and TraceN0Cwnd().

+ Here is the call graph for this function:

◆ ScheduleN0TcpRttTraceConnection()

void ScheduleN0TcpRttTraceConnection ( std::ofstream * ofStream)

Definition at line 402 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeBoundCallback(), and TraceN0Rtt().

+ Here is the call graph for this function:

◆ ScheduleN1PacketSinkConnection()

void ScheduleN1PacketSinkConnection ( )

Definition at line 430 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeCallback(), and TraceN1Rx().

+ Here is the call graph for this function:

◆ ScheduleN1TcpCwndTraceConnection()

void ScheduleN1TcpCwndTraceConnection ( std::ofstream * ofStream)

Definition at line 416 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeBoundCallback(), and TraceN1Cwnd().

+ Here is the call graph for this function:

◆ ScheduleN1TcpRttTraceConnection()

void ScheduleN1TcpRttTraceConnection ( std::ofstream * ofStream)

Definition at line 423 of file fqcodel-l4s-example.cc.

References ns3::Config::ConnectWithoutContext(), ns3::MakeBoundCallback(), and TraceN1Rtt().

+ Here is the call graph for this function:

◆ TraceDrop()

void TraceDrop ( std::ofstream * ofStream,
Ptr< const QueueDiscItem > item )

Definition at line 333 of file fqcodel-l4s-example.cc.

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

+ Here is the call graph for this function:

◆ TraceDropsFrequency()

void TraceDropsFrequency ( std::ofstream * ofStream,
Time dropsSamplingInterval )

Definition at line 355 of file fqcodel-l4s-example.cc.

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

Referenced by TraceDropsFrequency().

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

◆ TraceMark()

void TraceMark ( std::ofstream * ofStream,
Ptr< const QueueDiscItem > item,
const char * reason )

Definition at line 340 of file fqcodel-l4s-example.cc.

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

+ Here is the call graph for this function:

◆ TraceMarksFrequency()

void TraceMarksFrequency ( std::ofstream * ofStream,
Time marksSamplingInterval )

Definition at line 366 of file fqcodel-l4s-example.cc.

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

Referenced by TraceMarksFrequency().

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

◆ TraceN0Cwnd()

void TraceN0Cwnd ( std::ofstream * ofStream,
uint32_t oldCwnd,
uint32_t newCwnd )

Definition at line 284 of file fqcodel-l4s-example.cc.

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

Referenced by ScheduleN0TcpCwndTraceConnection().

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

◆ TraceN0Rtt()

void TraceN0Rtt ( std::ofstream * ofStream,
Time oldRtt,
Time newRtt )

Definition at line 302 of file fqcodel-l4s-example.cc.

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

Referenced by ScheduleN0TcpRttTraceConnection().

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

◆ TraceN0Rx()

void TraceN0Rx ( Ptr< const Packet > packet,
const Address & address )

Definition at line 321 of file fqcodel-l4s-example.cc.

References g_n0BytesReceived.

Referenced by ScheduleN0PacketSinkConnection().

+ Here is the caller graph for this function:

◆ TraceN0Throughput()

void TraceN0Throughput ( std::ofstream * ofStream,
Time throughputInterval )

Definition at line 377 of file fqcodel-l4s-example.cc.

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

Referenced by TraceN0Throughput().

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

◆ TraceN1Cwnd()

void TraceN1Cwnd ( std::ofstream * ofStream,
uint32_t oldCwnd,
uint32_t newCwnd )

Definition at line 293 of file fqcodel-l4s-example.cc.

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

Referenced by ScheduleN1TcpCwndTraceConnection().

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

◆ TraceN1Rtt()

void TraceN1Rtt ( std::ofstream * ofStream,
Time oldRtt,
Time newRtt )

Definition at line 308 of file fqcodel-l4s-example.cc.

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

Referenced by ScheduleN1TcpRttTraceConnection().

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

◆ TraceN1Rx()

void TraceN1Rx ( Ptr< const Packet > packet,
const Address & address )

Definition at line 327 of file fqcodel-l4s-example.cc.

References g_n1BytesReceived.

Referenced by ScheduleN1PacketSinkConnection().

+ Here is the caller graph for this function:

◆ TraceN1Throughput()

void TraceN1Throughput ( std::ofstream * ofStream,
Time throughputInterval )

Definition at line 386 of file fqcodel-l4s-example.cc.

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

Referenced by TraceN1Throughput().

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

◆ TracePingRtt()

void TracePingRtt ( std::ofstream * ofStream,
uint16_t seqNo,
Time rtt )

Definition at line 314 of file fqcodel-l4s-example.cc.

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

+ Here is the call graph for this function:

◆ TraceQueueLength()

void TraceQueueLength ( std::ofstream * ofStream,
DataRate linkRate,
uint32_t oldVal,
uint32_t newVal )

Definition at line 347 of file fqcodel-l4s-example.cc.

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

+ Here is the call graph for this function:

Variable Documentation

◆ avgQueueDiscSize

double avgQueueDiscSize

Definition at line 276 of file fqcodel-l4s-example.cc.

◆ checkTimes

uint32_t checkTimes

Definition at line 275 of file fqcodel-l4s-example.cc.

◆ g_dropsObserved

uint32_t g_dropsObserved = 0

Definition at line 281 of file fqcodel-l4s-example.cc.

Referenced by TraceDrop(), and TraceDropsFrequency().

◆ g_marksObserved

uint32_t g_marksObserved = 0

Definition at line 280 of file fqcodel-l4s-example.cc.

Referenced by TraceMark(), and TraceMarksFrequency().

◆ g_n0BytesReceived

uint32_t g_n0BytesReceived = 0

Definition at line 278 of file fqcodel-l4s-example.cc.

Referenced by TraceN0Rx(), and TraceN0Throughput().

◆ g_n1BytesReceived

uint32_t g_n1BytesReceived = 0

Definition at line 279 of file fqcodel-l4s-example.cc.

Referenced by TraceN1Rx(), and TraceN1Throughput().