5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
|
Helper for a correct setup of every FTP Model 1 applications. More...
#include "three-gpp-ftp-m1-helper.h"
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. | |
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.
ns3::ThreeGppFtpM1Helper::ThreeGppFtpM1Helper | ( | ) |
Default constructor
Definition at line 29 of file three-gpp-ftp-m1-helper.cc.
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.
serverApps | is a container of server applications. This helper will be adding client applications in this container. |
clientApps | is a container of client applications. This helper will be adding client applications to this container. |
serverNodes | are server nodes that will be considered for this FTP Mpdel 1 traffic |
clientNodes | are client nodes that will be considered for this FTP Model 1 traffic |
serversIps | are the Ipv4 interfaces of the server nodes |
Definition at line 15 of file three-gpp-ftp-m1-helper.cc.
|
override |
Destructor
Definition at line 34 of file three-gpp-ftp-m1-helper.cc.
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.
stream | first stream index to use |
Definition at line 157 of file three-gpp-ftp-m1-helper.cc.
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.
|
static |
GetTypeId.
Definition at line 40 of file three-gpp-ftp-m1-helper.cc.
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.