5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::ThreeGppFtpM1Helper Class Reference

Helper for a correct setup of every FTP Model 1 applications. More...

#include "three-gpp-ftp-m1-helper.h"

+ Inheritance diagram for ns3::ThreeGppFtpM1Helper:
+ Collaboration diagram for ns3::ThreeGppFtpM1Helper:

Public Member Functions

 ThreeGppFtpM1Helper ()
 
 ThreeGppFtpM1Helper (ApplicationContainer *serverApps, ApplicationContainer *clientApps, NodeContainer *serverNodes, NodeContainer *clientNodes, Ipv4InterfaceContainer *serversIps)
 
 ~ThreeGppFtpM1Helper () override
 
int64_t AssignStreams (int64_t stream)
 
void Configure (uint16_t port, Time serverStartTime, Time clientStartTime, Time clientStopTime, double ftpLambda, uint32_t ftpFileSize)
 To be called before Start() function.
 
void Start ()
 Start to generate file transfers according to FTP Model 1.
 

Static Public Member Functions

static TypeId GetTypeId ()
 GetTypeId.
 

Detailed Description

Helper for a correct setup of every FTP Model 1 applications.

This class can help you in setting up a simulation that is using an FTP Model 1 application.

FTP Model 1 is described in section A.2.1.3.1 of TR36.814. In an operator network, files arrive for transfer according to a Poisson process with a lambda value that, for file transfers of 0.5 Mbytes, ranges from [0.5, 1, 1.5, 2, 2.5]. As lambda increases, the traffic intensity increases; on average, every 1/lambda seconds, a new file arrival occurs. In each operator network, a separate file generation process governed by lambda is implemented, and all files are originated from a node in the backhaul network towards one of the UEs. So, for instance, if lambda equals 1, each second (on average) a UE will be picked at random in each operator network and a file transfer will be started towards it from the backhaul network node.

According to this helper FTP application will cause files to be sent over UDP/IP, and its metrics can be measured at the IP layer.

Traffic intensity can be modified by varying the FTP lambda value.

This helper should be used in the following way:

... Ptr<ThreeGppFtpM1Helper> helper = CreateObject<ThreeGppFtpM1Helper> (serverApps, clientApps, servernNodes, clientNodes, serverIps); helper->Configure (port, serverStartTime, clientStartTime, clientStopTime, ftpLambda, ftpFileSize); helper->Start(); ...

Definition at line 52 of file three-gpp-ftp-m1-helper.h.

Constructor & Destructor Documentation

◆ ThreeGppFtpM1Helper() [1/2]

ns3::ThreeGppFtpM1Helper::ThreeGppFtpM1Helper ( )

Default constructor

Definition at line 29 of file three-gpp-ftp-m1-helper.cc.

◆ ThreeGppFtpM1Helper() [2/2]

ns3::ThreeGppFtpM1Helper::ThreeGppFtpM1Helper ( ApplicationContainer *  serverApps,
ApplicationContainer *  clientApps,
NodeContainer *  serverNodes,
NodeContainer *  clientNodes,
Ipv4InterfaceContainer *  serversIps 
)

Constructor that should be called from user program in order to setup the FTP Model 1 traffic helper.

Parameters
serverAppsis a container of server applications. This helper will be adding client applications in this container.
clientAppsis a container of client applications. This helper will be adding client applications to this container.
serverNodesare server nodes that will be considered for this FTP Mpdel 1 traffic
clientNodesare client nodes that will be considered for this FTP Model 1 traffic
serversIpsare the Ipv4 interfaces of the server nodes

Definition at line 15 of file three-gpp-ftp-m1-helper.cc.

◆ ~ThreeGppFtpM1Helper()

ns3::ThreeGppFtpM1Helper::~ThreeGppFtpM1Helper ( )
override

Destructor

Definition at line 34 of file three-gpp-ftp-m1-helper.cc.

Member Function Documentation

◆ AssignStreams()

int64_t ns3::ThreeGppFtpM1Helper::AssignStreams ( int64_t  stream)

Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 157 of file three-gpp-ftp-m1-helper.cc.

◆ Configure()

void ns3::ThreeGppFtpM1Helper::Configure ( uint16_t  port,
Time  serverStartTime,
Time  clientStartTime,
Time  clientStopTime,
double  ftpLambda,
uint32_t  ftpFileSize 
)

To be called before Start() function.

Definition at line 108 of file three-gpp-ftp-m1-helper.cc.

◆ GetTypeId()

TypeId ns3::ThreeGppFtpM1Helper::GetTypeId ( )
static

GetTypeId.

Returns
the type id of the object

Definition at line 40 of file three-gpp-ftp-m1-helper.cc.

◆ Start()

void ns3::ThreeGppFtpM1Helper::Start ( )

Start to generate file transfers according to FTP Model 1.

Definition at line 136 of file three-gpp-ftp-m1-helper.cc.


The documentation for this class was generated from the following files: