A Discrete-Event Network Simulator
API
ns3::ThreeGppHttpVariables Class Reference

Container of various random variables to assist in generating web browsing traffic pattern. More...

#include "three-gpp-http-variables.h"

+ Inheritance diagram for ns3::ThreeGppHttpVariables:
+ Collaboration diagram for ns3::ThreeGppHttpVariables:

Public Member Functions

 ThreeGppHttpVariables ()
 Create a new instance with default configuration of random distributions. More...
 
int64_t AssignStreams (int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
Time GetEmbeddedObjectGenerationDelay ()
 Returns the constant length of time needed by an HTTP server to generate an embedded object. More...
 
uint32_t GetEmbeddedObjectSize ()
 Draws a random embedded object size (in bytes) to be sent by an HTTP server. More...
 
Time GetMainObjectGenerationDelay ()
 Returns the constant length of time needed by an HTTP server to generate a main object. More...
 
uint32_t GetMainObjectSize ()
 Draws a random main object size (in bytes) to be sent by an HTTP server. More...
 
uint32_t GetMtuSize ()
 Draws a random value of maximum transmission unit (MTU) size in bytes. More...
 
uint32_t GetNumOfEmbeddedObjects ()
 Draws a random integer indicating the number of embedded objects in a main object. More...
 
Time GetParsingTime ()
 Draws a random length of time which simulate the small delay caused by HTTP client looking for any embedded objects within the received main object. More...
 
Time GetReadingTime ()
 Draws a random length of time which is spent by a hypothetical human user (HTTP client) to read a web page before transitioning to another web page. More...
 
uint32_t GetRequestSize ()
 Returns the constant HTTP request size in bytes. More...
 
void SetEmbeddedObjectGenerationDelay (Time constant)
 
void SetEmbeddedObjectSizeMean (uint32_t mean)
 
void SetEmbeddedObjectSizeStdDev (uint32_t stdDev)
 
void SetMainObjectGenerationDelay (Time constant)
 
void SetMainObjectSizeMean (uint32_t mean)
 
void SetMainObjectSizeStdDev (uint32_t stdDev)
 
void SetNumOfEmbeddedObjectsMax (uint32_t max)
 
void SetNumOfEmbeddedObjectsScale (uint32_t scale)
 
void SetNumOfEmbeddedObjectsShape (double shape)
 
void SetParsingTimeMean (Time mean)
 
void SetReadingTimeMean (Time mean)
 
void SetRequestSize (uint32_t constant)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject () const
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId ()
 Returns the object TypeId. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

void DoInitialize (void)
 Initialize() implementation. More...
 
void UpdateEmbeddedObjectMuAndSigma (void)
 Upon and after object initialization, update random variable Mu and Sigma based on changes to attribute values. More...
 
void UpdateMainObjectMuAndSigma (void)
 Upon and after object initialization, update random variable Mu and Sigma based on changes to attribute values. More...
 

Private Attributes

Ptr< ConstantRandomVariablem_embeddedObjectGenerationDelayRng
 Random variable for determining the delay needed to generate an embedded object (in seconds). More...
 
uint32_t m_embeddedObjectSizeMax
 Upper bound parameter for m_embeddedObjectSizeRng. More...
 
uint32_t m_embeddedObjectSizeMean
 Mean parameter for m_embeddedObjectSizeRng. More...
 
uint32_t m_embeddedObjectSizeMin
 Lower bound parameter for m_embeddedObjectSizeRng. More...
 
Ptr< LogNormalRandomVariablem_embeddedObjectSizeRng
 Random variable for determining embedded object size (in bytes). More...
 
uint32_t m_embeddedObjectSizeStdDev
 Standard deviation parameter for m_embeddedObjectSizeRng. More...
 
uint32_t m_highMtu
 Higher MTU size. More...
 
double m_highMtuProbability
 High MTU size probability. More...
 
uint32_t m_lowMtu
 Lower MTU size. More...
 
Ptr< ConstantRandomVariablem_mainObjectGenerationDelayRng
 Random variable for determining the delay needed to generate a main object (in seconds). More...
 
uint32_t m_mainObjectSizeMax
 Upper bound parameter for m_mainObjectSizeRng;. More...
 
uint32_t m_mainObjectSizeMean
 Mean parameter for m_mainObjectSizeRng;. More...
 
uint32_t m_mainObjectSizeMin
 Lower bound parameter for m_mainObjectSizeRng;. More...
 
Ptr< LogNormalRandomVariablem_mainObjectSizeRng
 Random variable for determining main object size (in bytes). More...
 
uint32_t m_mainObjectSizeStdDev
 Standard deviation parameter for m_mainObjectSizeRng;. More...
 
Ptr< UniformRandomVariablem_mtuSizeRng
 Random variable for determining MTU size (in bytes). More...
 
Ptr< ParetoRandomVariablem_numOfEmbeddedObjectsRng
 Random variable for determining the number of embedded objects. More...
 
uint32_t m_numOfEmbeddedObjectsScale
 Scale parameter for m_numOfEmbeddedObjectsRng. More...
 
Ptr< ExponentialRandomVariablem_parsingTimeRng
 Random variable for determining the length of parsing time (in seconds). More...
 
Ptr< ExponentialRandomVariablem_readingTimeRng
 Random variable for determining the length of reading time (in seconds). More...
 
Ptr< ConstantRandomVariablem_requestSizeRng
 Random variable for determining request size (in bytes). More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Container of various random variables to assist in generating web browsing traffic pattern.


The available random values to be retrieved are:

  • MTU size — 536 bytes or 1460 bytes;
  • request size — constant 350 bytes;
  • delay in generating a main object — 0 second;
  • main object size — truncated LogNormal distribution with a mean of 10710 bytes;
    http-main-object-size.png
  • delay in generating an embedded object — 0 second;
  • embedded object size (in bytes) — truncated LogNormal distribution with a mean of 7758 bytes;
    http-embedded-object-size.png
  • number of embedded object per web page — truncated Pareto distribution with a mean of approximately 3.95 (after truncation);
    http-num-of-embedded-objects.png
  • length of reading time (in seconds) — unbounded exponential distribution with a mean of 30 seconds; and
    http-reading-time.png
  • length of parsing time (in seconds) — unbounded exponential distribution with a mean of 0.13 seconds.
    http-parsing-time.png

Most parameters of the random distributions are configurable via attributes and methods of this class. The default values are according to the following references:

  • 3GPP TR 25.892, "Feasibility Study for Orthogonal Frequency Division Multiplexing (OFDM) for UTRAN enhancement"
  • IEEE 802.16m, "Evaluation Methodology Document (EMD)", IEEE 802.16m-08/004r5, July 2008.
  • NGMN Alliance, "NGMN Radio Access Performance Evaluation Methodology", v1.0, January 2008.
  • 3GPP2-TSGC5, "HTTP, FTP and TCP models for 1xEV-DV simulations", 2001.

Config Paths

ns3::ThreeGppHttpVariables is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/ApplicationList/[i]/$ns3::ThreeGppHttpClient/Variables"
  • "/NodeList/[i]/ApplicationList/[i]/$ns3::ThreeGppHttpServer/Variables"

Attributes

  • RequestSize: The constant size of HTTP request packet (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 328
    • Flags: construct write
  • MainObjectGenerationDelay: The constant time needed by HTTP server to generate a main object as a response.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write
  • MainObjectSizeMean: The mean of main object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 10710
    • Flags: construct write
  • MainObjectSizeStdDev: The standard deviation of main object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 25032
    • Flags: construct write
  • MainObjectSizeMin: The minimum value of main object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 22:4294967295
    • Initial value: 100
    • Flags: construct write read
  • MainObjectSizeMax: The maximum value of main object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 2000000
    • Flags: construct write read
  • EmbeddedObjectGenerationDelay: The constant time needed by HTTP server to generate an embedded object as a response.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +0.0ns
    • Flags: construct write
  • EmbeddedObjectSizeMean: The mean of embedded object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 7758
    • Flags: construct write
  • EmbeddedObjectSizeStdDev: The standard deviation of embedded object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 126168
    • Flags: construct write
  • EmbeddedObjectSizeMin: The minimum value of embedded object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 22:4294967295
    • Initial value: 50
    • Flags: construct write read
  • EmbeddedObjectSizeMax: The maximum value of embedded object sizes (in bytes).
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 2000000
    • Flags: construct write read
  • NumOfEmbeddedObjectsMax: The upper bound parameter of Pareto distribution for the number of embedded objects per web page. The actual maximum value is this value subtracted by the scale parameter.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 55
    • Flags: construct write
  • NumOfEmbeddedObjectsShape: The shape parameter of Pareto distribution for the number of embedded objects per web page.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1.1
    • Flags: construct write
  • NumOfEmbeddedObjectsScale: The scale parameter of Pareto distribution for the number of embedded objects per web page.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 2
    • Flags: construct write
  • ReadingTimeMean: The mean of reading time.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +30000000000.0ns
    • Flags: construct write
  • ParsingTimeMean: The mean of parsing time.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +130000000.0ns
    • Flags: construct write
  • LowMtuSize: The lower MTU size.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 536
    • Flags: construct write read
  • HighMtuSize: The higher MTU size.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 0:4294967295
    • Initial value: 1460
    • Flags: construct write read
  • HighMtuProbability: The probability that higher MTU size is used.
    • Set with class: ns3::DoubleValue
    • Underlying type: double 0:1
    • Initial value: 0.76
    • Flags: construct write read

No TraceSources are defined for this type.
Size of this type is 160 bytes (on a 64-bit architecture).

Definition at line 70 of file three-gpp-http-variables.h.

Constructor & Destructor Documentation

◆ ThreeGppHttpVariables()

ns3::ThreeGppHttpVariables::ThreeGppHttpVariables ( )

Member Function Documentation

◆ AssignStreams()

int64_t ns3::ThreeGppHttpVariables::AssignStreams ( int64_t  stream)

Assign a fixed random variable stream number to the random variables used by this model.

Different random variable stream number makes random number generators to produce different set of random values, thus possibly resulting to different simulation results. On the other hand, two identical simulations which use the same stream number should produce identical results (the repeatability property of ns-3 simulation).

Parameters
streamThe first stream index to use.
Returns
The number of stream indices assigned by this model.

Definition at line 325 of file three-gpp-http-variables.cc.

References m_embeddedObjectGenerationDelayRng, m_embeddedObjectSizeRng, m_mainObjectGenerationDelayRng, m_mainObjectSizeRng, m_mtuSizeRng, m_numOfEmbeddedObjectsRng, m_parsingTimeRng, m_readingTimeRng, m_requestSizeRng, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

◆ DoInitialize()

void ns3::ThreeGppHttpVariables::DoInitialize ( void  )
privatevirtual

Initialize() implementation.

This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.

Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.

Reimplemented from ns3::Object.

Definition at line 343 of file three-gpp-http-variables.cc.

References NS_LOG_FUNCTION, UpdateEmbeddedObjectMuAndSigma(), and UpdateMainObjectMuAndSigma().

+ Here is the call graph for this function:

◆ GetEmbeddedObjectGenerationDelay()

Time ns3::ThreeGppHttpVariables::GetEmbeddedObjectGenerationDelay ( )

Returns the constant length of time needed by an HTTP server to generate an embedded object.

By default, embedded objects are generated instantly, i.e., zero delay. This can be modified by setting the EmbeddedObjectGenerationDelay attribute or by calling the SetEmbeddedObjectGenerationDelay() method.

Returns
The delay for generating an embedded object.

Definition at line 244 of file three-gpp-http-variables.cc.

References ns3::ConstantRandomVariable::GetValue(), m_embeddedObjectGenerationDelayRng, and ns3::Seconds().

+ Here is the call graph for this function:

◆ GetEmbeddedObjectSize()

uint32_t ns3::ThreeGppHttpVariables::GetEmbeddedObjectSize ( )

Draws a random embedded object size (in bytes) to be sent by an HTTP server.

The size of embedded objects are determined by a truncated log-normal random distribution. The default distribution settings produces random integers with a mean of 7758 bytes and a standard deviation of 126168 bytes, and then truncated to fit between 50 bytes and 2 MB. These default settings can be modified via attributes or class methods.

Returns
Embedded object size in bytes.

Definition at line 251 of file three-gpp-http-variables.cc.

References m_embeddedObjectSizeMax, m_embeddedObjectSizeMin, m_embeddedObjectSizeRng, and NS_FATAL_ERROR.

◆ GetMainObjectGenerationDelay()

Time ns3::ThreeGppHttpVariables::GetMainObjectGenerationDelay ( )

Returns the constant length of time needed by an HTTP server to generate a main object.

By default, main objects are generated instantly, i.e., zero delay. This can be modified by setting the MainObjectGenerationDelay attribute or by calling the SetMainObjectGenerationDelay() method.

Returns
The delay for generating a main object.

Definition at line 210 of file three-gpp-http-variables.cc.

References ns3::ConstantRandomVariable::GetValue(), m_mainObjectGenerationDelayRng, and ns3::Seconds().

+ Here is the call graph for this function:

◆ GetMainObjectSize()

uint32_t ns3::ThreeGppHttpVariables::GetMainObjectSize ( )

Draws a random main object size (in bytes) to be sent by an HTTP server.

The size of main objects are determined by a truncated log-normal random distribution. The default distribution settings produces random integers with a mean of 10710 bytes and a standard deviation of 25032 bytes, and then truncated to fit between 100 bytes and 2 MB. These default settings can be modified via attributes or class methods.

Returns
Main object size in bytes.

Definition at line 217 of file three-gpp-http-variables.cc.

References m_mainObjectSizeMax, m_mainObjectSizeMin, m_mainObjectSizeRng, and NS_FATAL_ERROR.

◆ GetMtuSize()

uint32_t ns3::ThreeGppHttpVariables::GetMtuSize ( )

Draws a random value of maximum transmission unit (MTU) size in bytes.

The possible MTU sizes are 1460 bytes and 536 bytes with 76% and 24% chances, respectively. The selected value is typically used by the sockets of HTTP servers to send the response packets (both main objects and embedded objects) to the requesting HTTP clients.

Returns
MTU size in bytes.

Definition at line 186 of file three-gpp-http-variables.cc.

References ns3::UniformRandomVariable::GetValue(), m_highMtu, m_highMtuProbability, m_lowMtu, m_mtuSizeRng, and NS_ASSERT.

+ Here is the call graph for this function:

◆ GetNumOfEmbeddedObjects()

uint32_t ns3::ThreeGppHttpVariables::GetNumOfEmbeddedObjects ( )

Draws a random integer indicating the number of embedded objects in a main object.

The number of embedded objects in a main object is typically discovered when the HTTP client is parsing the main object in question. This number is determined by a truncated Pareto distribution. The default distribution settings produces (after truncation) random integers within [0, 53) interval, with an actual mean of approximately 3.95.

Returns
The number of embedded objects.

Definition at line 278 of file three-gpp-http-variables.cc.

References m_numOfEmbeddedObjectsRng, m_numOfEmbeddedObjectsScale, and NS_FATAL_ERROR.

◆ GetParsingTime()

Time ns3::ThreeGppHttpVariables::GetParsingTime ( )

Draws a random length of time which simulate the small delay caused by HTTP client looking for any embedded objects within the received main object.

Parsing time is determined by an exponential distribution. The default distribution settings produces random values with a mean of 130 ms without any maximum bound. The mean can be modified by setting the ParsingTimeMean attribute or by calling the SetParsingTimeMean() method.

Returns
time interval for parsing a main object

Definition at line 318 of file three-gpp-http-variables.cc.

References ns3::ExponentialRandomVariable::GetValue(), m_parsingTimeRng, and ns3::Seconds().

+ Here is the call graph for this function:

◆ GetReadingTime()

Time ns3::ThreeGppHttpVariables::GetReadingTime ( )

Draws a random length of time which is spent by a hypothetical human user (HTTP client) to read a web page before transitioning to another web page.

Reading time is determined by an exponential distribution. The default distribution settings produces random values with a mean of 30 seconds without any maximum bound. The mean can be modified by setting the ReadingTimeMean attribute or by calling the SetReadingTimeMean() method.

Returns
Time interval for reading a web page.

Definition at line 311 of file three-gpp-http-variables.cc.

References ns3::ExponentialRandomVariable::GetValue(), m_readingTimeRng, and ns3::Seconds().

+ Here is the call graph for this function:

◆ GetRequestSize()

uint32_t ns3::ThreeGppHttpVariables::GetRequestSize ( )

Returns the constant HTTP request size in bytes.

By default, HTTP request size is 350 bytes, which can be modified by setting the RequestSize attribute or calling the SetRequestSize() method. This value applies to requests by HTTP client for main objects and embedded objects alike.

Returns
Request size in bytes.

Definition at line 203 of file three-gpp-http-variables.cc.

References ns3::ConstantRandomVariable::GetInteger(), and m_requestSizeRng.

+ Here is the call graph for this function:

◆ GetTypeId()

◆ SetEmbeddedObjectGenerationDelay()

void ns3::ThreeGppHttpVariables::SetEmbeddedObjectGenerationDelay ( Time  constant)
Parameters
constantThe delay for generating an embedded object.

Definition at line 426 of file three-gpp-http-variables.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_embeddedObjectGenerationDelayRng, NS_LOG_FUNCTION, ns3::Time::S, and ns3::ObjectBase::SetAttribute().

Referenced by GetTypeId().

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

◆ SetEmbeddedObjectSizeMean()

void ns3::ThreeGppHttpVariables::SetEmbeddedObjectSizeMean ( uint32_t  mean)
Parameters
meanThe mean of embedded object sizes in bytes. Must be greater than zero.

Definition at line 435 of file three-gpp-http-variables.cc.

References ns3::Object::IsInitialized(), m_embeddedObjectSizeMean, NS_ASSERT_MSG, NS_LOG_FUNCTION, and UpdateEmbeddedObjectMuAndSigma().

Referenced by GetTypeId().

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

◆ SetEmbeddedObjectSizeStdDev()

void ns3::ThreeGppHttpVariables::SetEmbeddedObjectSizeStdDev ( uint32_t  stdDev)
Parameters
stdDevThe standard deviation of embedded object sizes in bytes.

Definition at line 449 of file three-gpp-http-variables.cc.

References ns3::Object::IsInitialized(), m_embeddedObjectSizeStdDev, NS_LOG_FUNCTION, and UpdateEmbeddedObjectMuAndSigma().

Referenced by GetTypeId().

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

◆ SetMainObjectGenerationDelay()

void ns3::ThreeGppHttpVariables::SetMainObjectGenerationDelay ( Time  constant)
Parameters
constantThe delay for generating a main object.

Definition at line 363 of file three-gpp-http-variables.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_mainObjectGenerationDelayRng, NS_LOG_FUNCTION, ns3::Time::S, and ns3::ObjectBase::SetAttribute().

Referenced by GetTypeId().

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

◆ SetMainObjectSizeMean()

void ns3::ThreeGppHttpVariables::SetMainObjectSizeMean ( uint32_t  mean)
Parameters
meanThe mean of main object sizes in bytes. Must be greater than zero.

Definition at line 399 of file three-gpp-http-variables.cc.

References ns3::Object::IsInitialized(), m_mainObjectSizeMean, NS_ASSERT_MSG, NS_LOG_FUNCTION, and UpdateMainObjectMuAndSigma().

Referenced by GetTypeId().

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

◆ SetMainObjectSizeStdDev()

void ns3::ThreeGppHttpVariables::SetMainObjectSizeStdDev ( uint32_t  stdDev)
Parameters
stdDevThe standard deviation of main object sizes in bytes.

Definition at line 413 of file three-gpp-http-variables.cc.

References ns3::Object::IsInitialized(), m_mainObjectSizeStdDev, NS_LOG_FUNCTION, and UpdateMainObjectMuAndSigma().

Referenced by GetTypeId().

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

◆ SetNumOfEmbeddedObjectsMax()

void ns3::ThreeGppHttpVariables::SetNumOfEmbeddedObjectsMax ( uint32_t  max)
Parameters
maxThe upper bound parameter of the Pareto distribution for determining the number of embedded objects per web page.

Definition at line 462 of file three-gpp-http-variables.cc.

References m_numOfEmbeddedObjectsRng, ns3::max(), and NS_LOG_FUNCTION.

Referenced by GetTypeId().

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

◆ SetNumOfEmbeddedObjectsScale()

void ns3::ThreeGppHttpVariables::SetNumOfEmbeddedObjectsScale ( uint32_t  scale)
Parameters
scaleThe scale parameter of the Pareto distribution for determining the number of embedded objects per web page.

Definition at line 481 of file three-gpp-http-variables.cc.

References m_numOfEmbeddedObjectsRng, m_numOfEmbeddedObjectsScale, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetNumOfEmbeddedObjectsShape()

void ns3::ThreeGppHttpVariables::SetNumOfEmbeddedObjectsShape ( double  shape)
Parameters
shapeThe shape parameter of the Pareto distribution for determining the number of embedded objects per web page.

Definition at line 471 of file three-gpp-http-variables.cc.

References m_numOfEmbeddedObjectsRng, NS_ASSERT_MSG, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetParsingTimeMean()

void ns3::ThreeGppHttpVariables::SetParsingTimeMean ( Time  mean)
Parameters
meanThe mean length of time needed for parsing a main object.

Definition at line 499 of file three-gpp-http-variables.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_parsingTimeRng, NS_LOG_FUNCTION, ns3::Time::S, and ns3::ObjectBase::SetAttribute().

Referenced by GetTypeId().

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

◆ SetReadingTimeMean()

void ns3::ThreeGppHttpVariables::SetReadingTimeMean ( Time  mean)
Parameters
meanThe mean length of time needed for reading a web page.

Definition at line 491 of file three-gpp-http-variables.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_readingTimeRng, NS_LOG_FUNCTION, ns3::Time::S, and ns3::ObjectBase::SetAttribute().

Referenced by GetTypeId().

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

◆ SetRequestSize()

void ns3::ThreeGppHttpVariables::SetRequestSize ( uint32_t  constant)
Parameters
constantRequest size in bytes.

Definition at line 354 of file three-gpp-http-variables.cc.

References m_requestSizeRng, NS_LOG_FUNCTION, and ns3::ObjectBase::SetAttribute().

Referenced by GetTypeId().

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

◆ UpdateEmbeddedObjectMuAndSigma()

void ns3::ThreeGppHttpVariables::UpdateEmbeddedObjectMuAndSigma ( void  )
private

Upon and after object initialization, update random variable Mu and Sigma based on changes to attribute values.

Definition at line 385 of file three-gpp-http-variables.cc.

References m_embeddedObjectSizeMean, m_embeddedObjectSizeRng, m_embeddedObjectSizeStdDev, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by DoInitialize(), SetEmbeddedObjectSizeMean(), and SetEmbeddedObjectSizeStdDev().

+ Here is the caller graph for this function:

◆ UpdateMainObjectMuAndSigma()

void ns3::ThreeGppHttpVariables::UpdateMainObjectMuAndSigma ( void  )
private

Upon and after object initialization, update random variable Mu and Sigma based on changes to attribute values.

Definition at line 371 of file three-gpp-http-variables.cc.

References m_mainObjectSizeMean, m_mainObjectSizeRng, m_mainObjectSizeStdDev, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by DoInitialize(), SetMainObjectSizeMean(), and SetMainObjectSizeStdDev().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_embeddedObjectGenerationDelayRng

Ptr<ConstantRandomVariable> ns3::ThreeGppHttpVariables::m_embeddedObjectGenerationDelayRng
private

Random variable for determining the delay needed to generate an embedded object (in seconds).

Definition at line 318 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetEmbeddedObjectGenerationDelay(), SetEmbeddedObjectGenerationDelay(), and ThreeGppHttpVariables().

◆ m_embeddedObjectSizeMax

uint32_t ns3::ThreeGppHttpVariables::m_embeddedObjectSizeMax
private

Upper bound parameter for m_embeddedObjectSizeRng.

Definition at line 330 of file three-gpp-http-variables.h.

Referenced by GetEmbeddedObjectSize(), and GetTypeId().

◆ m_embeddedObjectSizeMean

uint32_t ns3::ThreeGppHttpVariables::m_embeddedObjectSizeMean
private

Mean parameter for m_embeddedObjectSizeRng.

Definition at line 324 of file three-gpp-http-variables.h.

Referenced by SetEmbeddedObjectSizeMean(), and UpdateEmbeddedObjectMuAndSigma().

◆ m_embeddedObjectSizeMin

uint32_t ns3::ThreeGppHttpVariables::m_embeddedObjectSizeMin
private

Lower bound parameter for m_embeddedObjectSizeRng.

Definition at line 328 of file three-gpp-http-variables.h.

Referenced by GetEmbeddedObjectSize(), and GetTypeId().

◆ m_embeddedObjectSizeRng

Ptr<LogNormalRandomVariable> ns3::ThreeGppHttpVariables::m_embeddedObjectSizeRng
private

Random variable for determining embedded object size (in bytes).

Definition at line 322 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetEmbeddedObjectSize(), ThreeGppHttpVariables(), and UpdateEmbeddedObjectMuAndSigma().

◆ m_embeddedObjectSizeStdDev

uint32_t ns3::ThreeGppHttpVariables::m_embeddedObjectSizeStdDev
private

Standard deviation parameter for m_embeddedObjectSizeRng.

Definition at line 326 of file three-gpp-http-variables.h.

Referenced by SetEmbeddedObjectSizeStdDev(), and UpdateEmbeddedObjectMuAndSigma().

◆ m_highMtu

uint32_t ns3::ThreeGppHttpVariables::m_highMtu
private

Higher MTU size.

Definition at line 311 of file three-gpp-http-variables.h.

Referenced by GetMtuSize(), and GetTypeId().

◆ m_highMtuProbability

double ns3::ThreeGppHttpVariables::m_highMtuProbability
private

High MTU size probability.

Definition at line 313 of file three-gpp-http-variables.h.

Referenced by GetMtuSize(), and GetTypeId().

◆ m_lowMtu

uint32_t ns3::ThreeGppHttpVariables::m_lowMtu
private

Lower MTU size.

Definition at line 309 of file three-gpp-http-variables.h.

Referenced by GetMtuSize(), and GetTypeId().

◆ m_mainObjectGenerationDelayRng

Ptr<ConstantRandomVariable> ns3::ThreeGppHttpVariables::m_mainObjectGenerationDelayRng
private

Random variable for determining the delay needed to generate a main object (in seconds).

Definition at line 295 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetMainObjectGenerationDelay(), SetMainObjectGenerationDelay(), and ThreeGppHttpVariables().

◆ m_mainObjectSizeMax

uint32_t ns3::ThreeGppHttpVariables::m_mainObjectSizeMax
private

Upper bound parameter for m_mainObjectSizeRng;.

Definition at line 307 of file three-gpp-http-variables.h.

Referenced by GetMainObjectSize(), and GetTypeId().

◆ m_mainObjectSizeMean

uint32_t ns3::ThreeGppHttpVariables::m_mainObjectSizeMean
private

Mean parameter for m_mainObjectSizeRng;.

Definition at line 301 of file three-gpp-http-variables.h.

Referenced by SetMainObjectSizeMean(), and UpdateMainObjectMuAndSigma().

◆ m_mainObjectSizeMin

uint32_t ns3::ThreeGppHttpVariables::m_mainObjectSizeMin
private

Lower bound parameter for m_mainObjectSizeRng;.

Definition at line 305 of file three-gpp-http-variables.h.

Referenced by GetMainObjectSize(), and GetTypeId().

◆ m_mainObjectSizeRng

Ptr<LogNormalRandomVariable> ns3::ThreeGppHttpVariables::m_mainObjectSizeRng
private

Random variable for determining main object size (in bytes).

Definition at line 299 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetMainObjectSize(), ThreeGppHttpVariables(), and UpdateMainObjectMuAndSigma().

◆ m_mainObjectSizeStdDev

uint32_t ns3::ThreeGppHttpVariables::m_mainObjectSizeStdDev
private

Standard deviation parameter for m_mainObjectSizeRng;.

Definition at line 303 of file three-gpp-http-variables.h.

Referenced by SetMainObjectSizeStdDev(), and UpdateMainObjectMuAndSigma().

◆ m_mtuSizeRng

Ptr<UniformRandomVariable> ns3::ThreeGppHttpVariables::m_mtuSizeRng
private

Random variable for determining MTU size (in bytes).

Definition at line 286 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetMtuSize(), and ThreeGppHttpVariables().

◆ m_numOfEmbeddedObjectsRng

Ptr<ParetoRandomVariable> ns3::ThreeGppHttpVariables::m_numOfEmbeddedObjectsRng
private

Random variable for determining the number of embedded objects.

Definition at line 334 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetNumOfEmbeddedObjects(), SetNumOfEmbeddedObjectsMax(), SetNumOfEmbeddedObjectsScale(), SetNumOfEmbeddedObjectsShape(), and ThreeGppHttpVariables().

◆ m_numOfEmbeddedObjectsScale

uint32_t ns3::ThreeGppHttpVariables::m_numOfEmbeddedObjectsScale
private

Scale parameter for m_numOfEmbeddedObjectsRng.

Definition at line 336 of file three-gpp-http-variables.h.

Referenced by GetNumOfEmbeddedObjects(), and SetNumOfEmbeddedObjectsScale().

◆ m_parsingTimeRng

Ptr<ExponentialRandomVariable> ns3::ThreeGppHttpVariables::m_parsingTimeRng
private

Random variable for determining the length of parsing time (in seconds).

Definition at line 344 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetParsingTime(), SetParsingTimeMean(), and ThreeGppHttpVariables().

◆ m_readingTimeRng

Ptr<ExponentialRandomVariable> ns3::ThreeGppHttpVariables::m_readingTimeRng
private

Random variable for determining the length of reading time (in seconds).

Definition at line 340 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetReadingTime(), SetReadingTimeMean(), and ThreeGppHttpVariables().

◆ m_requestSizeRng

Ptr<ConstantRandomVariable> ns3::ThreeGppHttpVariables::m_requestSizeRng
private

Random variable for determining request size (in bytes).

Definition at line 290 of file three-gpp-http-variables.h.

Referenced by AssignStreams(), GetRequestSize(), SetRequestSize(), and ThreeGppHttpVariables().


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