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 60 of file tcp-linux-reno.cc.

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

Referenced by CheckQueueSize().

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

◆ CwndChange()

static void CwndChange ( uint32_t  oldCwnd,
uint32_t  newCwnd 
)
static

Definition at line 71 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 78 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 95 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 113 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 85 of file tcp-linux-reno.cc.

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

Referenced by InstallBulkSend().

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

Variable Documentation

◆ dir

std::string dir = "results/"

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

◆ fPlotCwnd

std::ofstream fPlotCwnd

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

Referenced by CwndChange().

◆ fPlotQueue

std::ofstream fPlotQueue

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

Referenced by CheckQueueSize().

◆ segmentSize

◆ stopTime