A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
tcp-linux-reno.cc File Reference
#include "ns3/applications-module.h"
#include "ns3/core-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 <fstream>
#include <iostream>
#include <string>
#include <sys/stat.h>
+ Include dependency graph for tcp-linux-reno.cc:

Go to the source code of this file.

Functions

void CheckQueueSize (Ptr< QueueDisc > queue)
 
static void CwndChange (uint32_t oldCwnd, uint32_t newCwnd)
 
static void DropAtQueue (Ptr< OutputStreamWrapper > stream, Ptr< const QueueDiscItem > item)
 
void InstallBulkSend (Ptr< Node > node, Ipv4Address address, uint16_t port, std::string socketFactory, uint32_t nodeId, uint32_t cwndWindow, Callback< void, uint32_t, uint32_t > CwndTrace)
 
void InstallPacketSink (Ptr< Node > node, uint16_t port, std::string socketFactory)
 
void TraceCwnd (uint32_t node, uint32_t cwndWindow, Callback< void, uint32_t, uint32_t > CwndTrace)
 

Variables

std::string dir = "results/"
 
std::ofstream fPlotCwnd
 
std::ofstream fPlotQueue
 
uint32_t segmentSize = 524
 
Time stopTime = Seconds(60)
 

Function Documentation

◆ CheckQueueSize()

void CheckQueueSize ( Ptr< QueueDisc > queue)

Definition at line 49 of file tcp-linux-reno.cc.

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

+ Here is the call graph for this function:

◆ CwndChange()

static void CwndChange ( uint32_t oldCwnd,
uint32_t newCwnd )
static

Definition at line 60 of file tcp-linux-reno.cc.

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

+ Here is the call graph for this function:

◆ DropAtQueue()

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

Definition at line 67 of file tcp-linux-reno.cc.

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

+ Here is the call graph for this function:

◆ InstallBulkSend()

void InstallBulkSend ( Ptr< Node > node,
Ipv4Address address,
uint16_t port,
std::string socketFactory,
uint32_t nodeId,
uint32_t cwndWindow,
Callback< void, uint32_t, uint32_t > CwndTrace )

Definition at line 84 of file tcp-linux-reno.cc.

References CwndTrace(), ns3::ApplicationHelper::Install(), port, ns3::Simulator::Schedule(), ns3::Seconds(), ns3::ApplicationHelper::SetAttribute(), ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), stopTime, and TraceCwnd().

+ Here is the call graph for this function:

◆ InstallPacketSink()

void InstallPacketSink ( Ptr< Node > node,
uint16_t port,
std::string socketFactory )

Definition at line 102 of file tcp-linux-reno.cc.

References ns3::Ipv4Address::GetAny(), port, ns3::Seconds(), sink, ns3::ApplicationContainer::Start(), ns3::ApplicationContainer::Stop(), and stopTime.

+ Here is the call graph for this function:

◆ TraceCwnd()

void TraceCwnd ( uint32_t node,
uint32_t cwndWindow,
Callback< void, uint32_t, uint32_t > CwndTrace )

Definition at line 74 of file tcp-linux-reno.cc.

References ns3::Config::ConnectWithoutContext(), and CwndTrace().

+ Here is the call graph for this function:

Variable Documentation

◆ dir

std::string dir = "results/"

Definition at line 40 of file tcp-linux-reno.cc.

◆ fPlotCwnd

std::ofstream fPlotCwnd

Definition at line 45 of file tcp-linux-reno.cc.

Referenced by CwndChange().

◆ fPlotQueue

std::ofstream fPlotQueue

Definition at line 44 of file tcp-linux-reno.cc.

Referenced by CheckQueueSize(), and CheckQueueSize().

◆ segmentSize

uint32_t segmentSize = 524

Definition at line 42 of file tcp-linux-reno.cc.

Referenced by ClassicRecoveryTest::ClassicRecoveryTest(), PrrRecoveryTest::PrrRecoveryTest(), TcpBicDecrementTest::TcpBicDecrementTest(), TcpBicIncrementTest::TcpBicIncrementTest(), TcpDctcpToLinuxReno::TcpDctcpToLinuxReno(), TcpHighSpeedDecrementTest::TcpHighSpeedDecrementTest(), TcpHighSpeedIncrementTest::TcpHighSpeedIncrementTest(), TcpHtcpIncrementTest::TcpHtcpIncrementTest(), TcpHyblaIncrementTest::TcpHyblaIncrementTest(), TcpIllinoisTest::TcpIllinoisTest(), TcpLedbatDecrementTest::TcpLedbatDecrementTest(), TcpLedbatIncrementTest::TcpLedbatIncrementTest(), TcpLedbatToNewReno::TcpLedbatToNewReno(), TcpLinuxRenoCongAvoidTest::TcpLinuxRenoCongAvoidTest(), TcpLinuxRenoSSTest::TcpLinuxRenoSSTest(), ns3::TcpLpInferenceTest1::TcpLpInferenceTest1(), ns3::TcpLpInferenceTest2::TcpLpInferenceTest2(), ns3::TcpLpToNewReno::TcpLpToNewReno(), TcpNewRenoCongAvoidNormalTest::TcpNewRenoCongAvoidNormalTest(), TcpPacingTest::TcpPacingTest(), TcpPacingTestSuite::TcpPacingTestSuite(), TcpRateLinuxWithBufferTest::TcpRateLinuxWithBufferTest(), TcpScalableDecrementTest::TcpScalableDecrementTest(), TcpScalableIncrementTest::TcpScalableIncrementTest(), TcpSlowStartAttackerTest::TcpSlowStartAttackerTest(), TcpSlowStartNormalTest::TcpSlowStartNormalTest(), TcpVegasTest::TcpVegasTest(), TcpVenoTest::TcpVenoTest(), TcpYeahDecrementTest::TcpYeahDecrementTest(), TcpYeahIncrementTest::TcpYeahIncrementTest(), ns3::TcpRateLinux::CalculateAppLimited(), ns3::TcpRateOps::CalculateAppLimited(), CwndChange(), ns3::TcpGeneralTest::SetSegmentSize(), ns3::TcpTxBuffer::SetSegmentSize(), and TcpTxBufferTestCase::TestNextSeg().

◆ stopTime