A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ThreeGppHttpObjectTestCase Class Reference

A test class which verifies that each HTTP object sent is also received the same size. More...

+ Inheritance diagram for ThreeGppHttpObjectTestCase:
+ Collaboration diagram for ThreeGppHttpObjectTestCase:

Classes

class  ThreeGppHttpObjectTracker
 

Public Member Functions

 ThreeGppHttpObjectTestCase (const std::string &name, uint32_t rngRun, const TypeId &tcpType, const Time &channelDelay, double bitErrorRate, uint32_t mtuSize, bool useIpv6, std::optional< uint16_t > port)
 
- Public Member Functions inherited from ns3::TestCase
 TestCase (const TestCase &)=delete
 
virtual ~TestCase ()
 Destructor.
 
std::string GetName () const
 
TestCaseoperator= (const TestCase &)=delete
 

Private Member Functions

Ipv4Address AssignIpv4Address (Ptr< NetDevice > dev, bool logging=true)
 Assign an IPv4 address to a device.
 
Ipv6Address AssignIpv6Address (Ptr< NetDevice > dev, bool logging=true)
 Assign an IPv6 address to a device.
 
Address AssignSocketAddress (Ptr< NetDevice > dev, uint16_t port)
 Assign a socket address for a device.
 
void ClientRxDelayCallback (const Time &delay, const Address &from)
 Connected with RxDelay trace source of the client.
 
void ClientRxEmbeddedObjectCallback (Ptr< const ThreeGppHttpClient > httpClient, Ptr< const Packet > packet)
 Connected with RxEmbeddedObject trace source of the client.
 
void ClientRxEmbeddedObjectPacketCallback (Ptr< const Packet > packet)
 Connected with RxEmbeddedObjectPacket trace source of the client.
 
void ClientRxMainObjectCallback (Ptr< const ThreeGppHttpClient > httpClient, Ptr< const Packet > packet)
 Connected with RxMainObject trace source of the client.
 
void ClientRxMainObjectPacketCallback (Ptr< const Packet > packet)
 Connected with RxMainObjectPacket trace source of the client.
 
void ClientRxRttCallback (const Time &rtt, const Address &from)
 Connected with RxRtt trace source of the client.
 
void ClientStateTransitionCallback (const std::string &oldState, const std::string &newState)
 Connected with StateTransition trace source of the client.
 
void ClientTxEmbeddedObjectRequestCallback (Ptr< const Packet > packet)
 Connected with TxEmbeddedObjectRequest trace source of the client.
 
void ClientTxMainObjectRequestCallback (Ptr< const Packet > packet)
 Connected with TxMainObjectRequest trace source of the client.
 
Ptr< NodeCreateSimpleInternetNode (Ptr< SimpleChannel > channel)
 Creates a Node, complete with a TCP/IP stack.
 
void DeviceDropCallback (Ptr< const Packet > packet)
 Connected with PhyRxDrop trace source of both the client's and server's devices.
 
void DoRun () override
 Implementation to actually run this TestCase.
 
void DoTeardown () override
 Implementation to do any local setup required for this TestCase.
 
void ProgressCallback ()
 Dummy event.
 
void ServerEmbeddedObjectCallback (uint32_t size)
 Connected with EmbeddedObject trace source of the server.
 
void ServerMainObjectCallback (uint32_t size)
 Connected with MainObject trace source of the server.
 
void ServerRxCallback (Ptr< const Packet > packet, const Address &from, const Address &to)
 Connected with Rx trace source of the server.
 

Private Attributes

Time m_channelDelay
 Time needed by a packet to propagate.
 
Ptr< MinMaxAvgTotalCalculator< double > > m_delayCalculator
 Keeps statistical information of one-trip delays (in seconds).
 
ThreeGppHttpObjectTracker m_embeddedObjectTracker
 Tracker of embedded objects.
 
Ptr< RateErrorModelm_errorModel
 Receive error model to be attached to the devices of both directions.
 
InternetStackHelper m_internetStackHelper
 Installs TCP/IP stack on the nodes.
 
Ipv4AddressHelper m_ipv4AddressHelper
 Assigns IPv4 addresses to the nodes.
 
Ipv6AddressHelper m_ipv6AddressHelper
 Assigns IPv6 addresses to the nodes.
 
ThreeGppHttpObjectTracker m_mainObjectTracker
 Tracker of main objects.
 
uint32_t m_mtuSize
 Maximum transmission unit (in bytes).
 
uint16_t m_numOfPacketDrops
 Number of packets dropped because of m_errorModel.
 
uint16_t m_numOfPagesReceived
 Begins with 0. Simulation stops if this reaches 3.
 
std::optional< uint16_t > m_port
 port to use if provided, otherwise the default port is used
 
ThreeGppHttpObjectTracker m_requestObjectTracker
 Tracker of request objects.
 
uint32_t m_rngRun
 Determines the set of random values generated.
 
Ptr< MinMaxAvgTotalCalculator< double > > m_rttCalculator
 Keeps statistical information of round-trip delays (in seconds).
 
TypeId m_tcpType
 TCP algorithm used.
 
bool m_useIpv6
 Whether to use IPv6 or IPv4.
 

Additional Inherited Members

- Public Types inherited from ns3::TestCase
enum class  Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 }
 How long the test takes to execute. More...
 
- Static Public Attributes inherited from ns3::TestCase
static constexpr auto QUICK = Duration::QUICK
 Deprecated test duration simple enums.
 
static constexpr auto EXTENSIVE = Duration::EXTENSIVE
 
static constexpr auto TAKES_FOREVER = Duration::TAKES_FOREVER
 
- Protected Member Functions inherited from ns3::TestCase
 TestCase (std::string name)
 Constructor.
 
void AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK)
 Add an individual child TestCase to this test suite.
 
TestCaseGetParent () const
 Get the parent of this TestCase.
 
bool IsStatusFailure () const
 Check if any tests failed.
 
bool IsStatusSuccess () const
 Check if all tests passed.
 
void SetDataDir (std::string directory)
 Set the data directory where reference trace files can be found.
 
void ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line)
 Log the failure of this TestCase.
 
bool MustAssertOnFailure () const
 Check if this run should assert on failure.
 
bool MustContinueOnFailure () const
 Check if this run should continue on failure.
 
std::string CreateDataDirFilename (std::string filename)
 Construct the full path to a file in the data directory.
 
std::string CreateTempDirFilename (std::string filename)
 Construct the full path to a file in a temporary directory.
 

Detailed Description

A test class which verifies that each HTTP object sent is also received the same size.

The test uses a minimalist scenario of one HTTP server and one HTTP client, connected through a SimpleChannel. The simulation runs until 3 web pages have been successfully downloaded by the client.

The test also collects some statistical information from the simulation for informational or debugging purpose. This can be seen by enabling LOG_INFO.

Definition at line 57 of file three-gpp-http-client-server-test.cc.

Constructor & Destructor Documentation

◆ ThreeGppHttpObjectTestCase()

ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTestCase ( const std::string & name,
uint32_t rngRun,
const TypeId & tcpType,
const Time & channelDelay,
double bitErrorRate,
uint32_t mtuSize,
bool useIpv6,
std::optional< uint16_t > port )
Parameters
nameA textual label to briefly describe the test.
rngRunRun index to be used, intended to affect the values produced by random number generators throughout the test.
tcpTypeType of TCP algorithm to be used by the connection between the client and the server. Must be a child type of ns3::TcpSocketFactory.
channelDelayTransmission delay between the client and the server (and vice versa) which is due to the channel.
bitErrorRateThe probability of transmission error between the client and the server (and vice versa) in the unit of bits.
mtuSizeMaximum transmission unit (in bytes) to be used by the server model.
useIpv6If true, IPv6 will be used to address both client and server. Otherwise, IPv4 will be used.
portThe port to use if provided, otherwise the default port is used.

Definition at line 313 of file three-gpp-http-client-server-test.cc.

References ns3::CreateObject(), ns3::RateErrorModel::ERROR_UNIT_BIT, ns3::TestCase::GetName(), ns3::Time::IsPositive(), m_delayCalculator, m_errorModel, m_ipv4AddressHelper, m_ipv6AddressHelper, m_rttCalculator, NS_ASSERT, NS_LOG_FUNCTION, ns3::Ipv4AddressHelper::SetBase(), and ns3::Ipv6AddressHelper::SetBase().

+ Here is the call graph for this function:

Member Function Documentation

◆ AssignIpv4Address()

Ipv4Address ThreeGppHttpObjectTestCase::AssignIpv4Address ( Ptr< NetDevice > dev,
bool logging = true )
private

Assign an IPv4 address to a device.

Parameters
[in]devPointer to the device to assign an address to.
[in]loggingflag to indicate whether to log the assigned address.
Returns
The resulting IPv4 address of the device.

Definition at line 376 of file three-gpp-http-client-server-test.cc.

References ns3::Ipv4AddressHelper::Assign(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4InterfaceContainer::GetN(), m_ipv4AddressHelper, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by AssignSocketAddress(), and DoRun().

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

◆ AssignIpv6Address()

Ipv6Address ThreeGppHttpObjectTestCase::AssignIpv6Address ( Ptr< NetDevice > dev,
bool logging = true )
private

Assign an IPv6 address to a device.

Parameters
[in]devPointer to the device to assign an address to.
[in]loggingflag to indicate whether to log the assigned address.
Returns
The resulting IPv6 address of the device.

Definition at line 390 of file three-gpp-http-client-server-test.cc.

References ns3::Ipv6AddressHelper::Assign(), ns3::Ipv6InterfaceContainer::GetAddress(), ns3::Ipv6InterfaceContainer::GetN(), m_ipv6AddressHelper, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by AssignSocketAddress(), and DoRun().

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

◆ AssignSocketAddress()

Address ThreeGppHttpObjectTestCase::AssignSocketAddress ( Ptr< NetDevice > dev,
uint16_t port )
private

Assign a socket address for a device.

m_useIpv6 determines whether to use IPv4 addressing or IPv6 addressing.

Parameters
[in]devPointer to the device.
[in]portthe port to use for the socket address.
Returns
The resulting socket address.

Definition at line 404 of file three-gpp-http-client-server-test.cc.

References AssignIpv4Address(), AssignIpv6Address(), m_useIpv6, NS_LOG_DEBUG, NS_LOG_FUNCTION, and port.

Referenced by DoRun().

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

◆ ClientRxDelayCallback()

void ThreeGppHttpObjectTestCase::ClientRxDelayCallback ( const Time & delay,
const Address & from )
private

Connected with RxDelay trace source of the client.

Updates the statistics in m_delayCalculator.

Parameters
delayThe packet one-trip delay time.
fromThe address of the device where the packet originates from.

Definition at line 852 of file three-gpp-http-client-server-test.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_delayCalculator, NS_LOG_FUNCTION, and ns3::Time::S.

Referenced by DoRun().

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

◆ ClientRxEmbeddedObjectCallback()

void ThreeGppHttpObjectTestCase::ClientRxEmbeddedObjectCallback ( Ptr< const ThreeGppHttpClient > httpClient,
Ptr< const Packet > packet )
private

Connected with RxEmbeddedObject trace source of the client.

Updates m_embeddedObjectTracker and perform some tests on the size of the object.

Parameters
httpClientPointer to the application.
packetFull packet received by application.

Definition at line 791 of file three-gpp-http-client-server-test.cc.

References ns3::ThreeGppHttpHeader::EMBEDDED_OBJECT, ns3::ThreeGppHttpHeader::GetClientTs(), ns3::ThreeGppHttpHeader::GetContentLength(), ns3::ThreeGppHttpHeader::GetContentType(), ns3::ThreeGppHttpHeader::GetServerTs(), m_embeddedObjectTracker, NS_LOG_FUNCTION, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_GT, ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectReceived(), and ns3::Seconds().

Referenced by DoRun().

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

◆ ClientRxEmbeddedObjectPacketCallback()

void ThreeGppHttpObjectTestCase::ClientRxEmbeddedObjectPacketCallback ( Ptr< const Packet > packet)
private

Connected with RxEmbeddedObjectPacket trace source of the client.

Updates m_embeddedObjectTracker and perform some tests on the packet.

Parameters
packetThe packet received.

Definition at line 784 of file three-gpp-http-client-server-test.cc.

References m_embeddedObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::PartReceived().

Referenced by DoRun().

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

◆ ClientRxMainObjectCallback()

void ThreeGppHttpObjectTestCase::ClientRxMainObjectCallback ( Ptr< const ThreeGppHttpClient > httpClient,
Ptr< const Packet > packet )
private

Connected with RxMainObject trace source of the client.

Updates m_mainObjectTracker and perform some tests on the size of the object.

Parameters
httpClientPointer to the application.
packetFull packet received by application.

Definition at line 743 of file three-gpp-http-client-server-test.cc.

References ns3::ThreeGppHttpHeader::GetClientTs(), ns3::ThreeGppHttpHeader::GetContentLength(), ns3::ThreeGppHttpHeader::GetContentType(), ns3::ThreeGppHttpHeader::GetServerTs(), m_mainObjectTracker, ns3::ThreeGppHttpHeader::MAIN_OBJECT, NS_LOG_FUNCTION, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_GT, ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectReceived(), and ns3::Seconds().

Referenced by DoRun().

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

◆ ClientRxMainObjectPacketCallback()

void ThreeGppHttpObjectTestCase::ClientRxMainObjectPacketCallback ( Ptr< const Packet > packet)
private

Connected with RxMainObjectPacket trace source of the client.

Updates m_mainObjectTracker and perform some tests on the packet.

Parameters
packetThe packet received.

Definition at line 736 of file three-gpp-http-client-server-test.cc.

References m_mainObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::PartReceived().

Referenced by DoRun().

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

◆ ClientRxRttCallback()

void ThreeGppHttpObjectTestCase::ClientRxRttCallback ( const Time & rtt,
const Address & from )
private

Connected with RxRtt trace source of the client.

Updates the statistics in m_rttCalculator.

Parameters
rttThe packet round trip delay time.
fromThe address of the device where the packet originates from.

Definition at line 859 of file three-gpp-http-client-server-test.cc.

References ns3::Time::As(), ns3::Time::GetSeconds(), m_rttCalculator, NS_LOG_FUNCTION, and ns3::Time::S.

Referenced by DoRun().

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

◆ ClientStateTransitionCallback()

void ThreeGppHttpObjectTestCase::ClientStateTransitionCallback ( const std::string & oldState,
const std::string & newState )
private

Connected with StateTransition trace source of the client.

Increments m_numOfPagesReceived when the client enters READING state.

Parameters
oldStateThe name of the previous state.
newStateThe name of the current state.

Definition at line 826 of file three-gpp-http-client-server-test.cc.

References m_numOfPagesReceived, NS_LOG_FUNCTION, NS_LOG_LOGIC, and ns3::Simulator::Stop().

Referenced by DoRun().

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

◆ ClientTxEmbeddedObjectRequestCallback()

void ThreeGppHttpObjectTestCase::ClientTxEmbeddedObjectRequestCallback ( Ptr< const Packet > packet)
private

Connected with TxEmbeddedObjectRequest trace source of the client.

Updates m_requestObjectTracker.

Parameters
packetThe packet of embedded object sent.

Definition at line 677 of file three-gpp-http-client-server-test.cc.

References m_requestObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectSent().

Referenced by DoRun().

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

◆ ClientTxMainObjectRequestCallback()

void ThreeGppHttpObjectTestCase::ClientTxMainObjectRequestCallback ( Ptr< const Packet > packet)
private

Connected with TxMainObjectRequest trace source of the client.

Updates m_requestObjectTracker.

Parameters
packetThe packet of main object sent.

Definition at line 670 of file three-gpp-http-client-server-test.cc.

References m_requestObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectSent().

Referenced by DoRun().

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

◆ CreateSimpleInternetNode()

Ptr< Node > ThreeGppHttpObjectTestCase::CreateSimpleInternetNode ( Ptr< SimpleChannel > channel)
private

Creates a Node, complete with a TCP/IP stack.

m_tcpType determines the TCP algorithm installed at the TCP stack.

Parameters
[in]channelPointer to a channel which the node's device will be attached to.
Returns
Pointer to the newly created node.

Definition at line 350 of file three-gpp-http-client-server-test.cc.

References ns3::Mac48Address::Allocate(), ns3::CreateObject(), DeviceDropCallback(), ns3::InternetStackHelper::Install(), m_errorModel, m_internetStackHelper, m_tcpType, ns3::MakeCallback(), and NS_LOG_FUNCTION.

Referenced by DoRun().

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

◆ DeviceDropCallback()

void ThreeGppHttpObjectTestCase::DeviceDropCallback ( Ptr< const Packet > packet)
private

Connected with PhyRxDrop trace source of both the client's and server's devices.

Increments m_numOfPacketDrops.

Parameters
packetPointer to the packet being dropped.

Definition at line 866 of file three-gpp-http-client-server-test.cc.

References m_numOfPacketDrops, and NS_LOG_FUNCTION.

Referenced by CreateSimpleInternetNode().

+ Here is the caller graph for this function:

◆ DoRun()

void ThreeGppHttpObjectTestCase::DoRun ( )
overrideprivatevirtual

Implementation to actually run this TestCase.

Subclasses should override this method to conduct their tests.

Implements ns3::TestCase.

Definition at line 425 of file three-gpp-http-client-server-test.cc.

References AssignIpv4Address(), AssignIpv6Address(), AssignSocketAddress(), ClientRxDelayCallback(), ClientRxEmbeddedObjectCallback(), ClientRxEmbeddedObjectPacketCallback(), ClientRxMainObjectCallback(), ClientRxMainObjectPacketCallback(), ClientRxRttCallback(), ClientStateTransitionCallback(), ClientTxEmbeddedObjectRequestCallback(), ClientTxMainObjectRequestCallback(), ns3::CreateObject(), CreateSimpleInternetNode(), ns3::Simulator::Destroy(), ns3::TestCase::GetName(), ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::GetNumOfObjectsReceived(), ns3::ApplicationHelper::Install(), ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::IsEmpty(), m_channelDelay, m_delayCalculator, m_embeddedObjectTracker, m_mainObjectTracker, m_mtuSize, m_numOfPacketDrops, m_numOfPagesReceived, m_port, m_requestObjectTracker, m_rngRun, m_rttCalculator, m_useIpv6, ns3::MakeCallback(), NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_INFO, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_NE, NS_TEST_EXPECT_MSG_EQ, ProgressCallback(), ns3::Simulator::Run(), ns3::Simulator::Schedule(), ns3::Seconds(), ServerEmbeddedObjectCallback(), ServerMainObjectCallback(), ServerRxCallback(), and ns3::Config::SetGlobal().

+ Here is the call graph for this function:

◆ DoTeardown()

void ThreeGppHttpObjectTestCase::DoTeardown ( )
overrideprivatevirtual

Implementation to do any local setup required for this TestCase.

Subclasses should override this method to perform any costly per-test teardown

Reimplemented from ns3::TestCase.

Definition at line 608 of file three-gpp-http-client-server-test.cc.

References ns3::TestCase::GetName(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ ProgressCallback()

void ThreeGppHttpObjectTestCase::ProgressCallback ( )
private

Dummy event.

Definition at line 845 of file three-gpp-http-client-server-test.cc.

References ns3::Simulator::Now(), NS_LOG_DEBUG, ProgressCallback(), ns3::Time::S, ns3::Simulator::Schedule(), and ns3::Seconds().

Referenced by DoRun(), and ProgressCallback().

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

◆ ServerEmbeddedObjectCallback()

void ThreeGppHttpObjectTestCase::ServerEmbeddedObjectCallback ( uint32_t size)
private

Connected with EmbeddedObject trace source of the server.

Updates m_embeddedObjectTracker.

Parameters
sizeSize of the generated embedded object (in bytes).

Definition at line 777 of file three-gpp-http-client-server-test.cc.

References m_embeddedObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectSent().

Referenced by DoRun().

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

◆ ServerMainObjectCallback()

void ThreeGppHttpObjectTestCase::ServerMainObjectCallback ( uint32_t size)
private

Connected with MainObject trace source of the server.

Updates m_mainObjectTracker.

Parameters
sizeSize of the generated main object (in bytes).

Definition at line 729 of file three-gpp-http-client-server-test.cc.

References m_mainObjectTracker, NS_LOG_FUNCTION, and ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectSent().

Referenced by DoRun().

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

◆ ServerRxCallback()

void ThreeGppHttpObjectTestCase::ServerRxCallback ( Ptr< const Packet > packet,
const Address & from,
const Address & to )
private

Connected with Rx trace source of the server.

Updates m_requestObjectTracker and perform some tests on the packet and the size of the object.

Parameters
packetThe packet received.
fromThe address where the packet originates from.
toThe local address on which the server binds to.

Definition at line 684 of file three-gpp-http-client-server-test.cc.

References ns3::Inet6SocketAddress::ConvertFrom(), ns3::InetSocketAddress::ConvertFrom(), ns3::ThreeGppHttpHeader::GetClientTs(), ns3::Inet6SocketAddress::GetPort(), ns3::InetSocketAddress::GetPort(), ns3::ThreeGppHttpServer::HTTP_DEFAULT_PORT, ns3::Inet6SocketAddress::IsMatchingType(), ns3::InetSocketAddress::IsMatchingType(), m_port, m_requestObjectTracker, NS_LOG_INFO, NS_TEST_ASSERT_MSG_EQ, NS_TEST_ASSERT_MSG_GT, ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::ObjectReceived(), ThreeGppHttpObjectTestCase::ThreeGppHttpObjectTracker::PartReceived(), port, and ns3::Seconds().

Referenced by DoRun().

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

Member Data Documentation

◆ m_channelDelay

Time ThreeGppHttpObjectTestCase::m_channelDelay
private

Time needed by a packet to propagate.

Definition at line 287 of file three-gpp-http-client-server-test.cc.

Referenced by DoRun().

◆ m_delayCalculator

Ptr<MinMaxAvgTotalCalculator<double> > ThreeGppHttpObjectTestCase::m_delayCalculator
private

Keeps statistical information of one-trip delays (in seconds).

Definition at line 307 of file three-gpp-http-client-server-test.cc.

Referenced by ThreeGppHttpObjectTestCase(), ClientRxDelayCallback(), and DoRun().

◆ m_embeddedObjectTracker

ThreeGppHttpObjectTracker ThreeGppHttpObjectTestCase::m_embeddedObjectTracker
private

◆ m_errorModel

Ptr<RateErrorModel> ThreeGppHttpObjectTestCase::m_errorModel
private

Receive error model to be attached to the devices of both directions.

Definition at line 295 of file three-gpp-http-client-server-test.cc.

Referenced by ThreeGppHttpObjectTestCase(), and CreateSimpleInternetNode().

◆ m_internetStackHelper

InternetStackHelper ThreeGppHttpObjectTestCase::m_internetStackHelper
private

Installs TCP/IP stack on the nodes.

Definition at line 301 of file three-gpp-http-client-server-test.cc.

Referenced by CreateSimpleInternetNode().

◆ m_ipv4AddressHelper

Ipv4AddressHelper ThreeGppHttpObjectTestCase::m_ipv4AddressHelper
private

Assigns IPv4 addresses to the nodes.

Definition at line 303 of file three-gpp-http-client-server-test.cc.

Referenced by ThreeGppHttpObjectTestCase(), and AssignIpv4Address().

◆ m_ipv6AddressHelper

Ipv6AddressHelper ThreeGppHttpObjectTestCase::m_ipv6AddressHelper
private

Assigns IPv6 addresses to the nodes.

Definition at line 305 of file three-gpp-http-client-server-test.cc.

Referenced by ThreeGppHttpObjectTestCase(), and AssignIpv6Address().

◆ m_mainObjectTracker

ThreeGppHttpObjectTracker ThreeGppHttpObjectTestCase::m_mainObjectTracker
private

◆ m_mtuSize

uint32_t ThreeGppHttpObjectTestCase::m_mtuSize
private

Maximum transmission unit (in bytes).

Definition at line 288 of file three-gpp-http-client-server-test.cc.

Referenced by DoRun().

◆ m_numOfPacketDrops

uint16_t ThreeGppHttpObjectTestCase::m_numOfPacketDrops
private

Number of packets dropped because of m_errorModel.

Definition at line 299 of file three-gpp-http-client-server-test.cc.

Referenced by DeviceDropCallback(), and DoRun().

◆ m_numOfPagesReceived

uint16_t ThreeGppHttpObjectTestCase::m_numOfPagesReceived
private

Begins with 0. Simulation stops if this reaches 3.

Definition at line 297 of file three-gpp-http-client-server-test.cc.

Referenced by ClientStateTransitionCallback(), and DoRun().

◆ m_port

std::optional<uint16_t> ThreeGppHttpObjectTestCase::m_port
private

port to use if provided, otherwise the default port is used

Definition at line 290 of file three-gpp-http-client-server-test.cc.

Referenced by DoRun(), and ServerRxCallback().

◆ m_requestObjectTracker

ThreeGppHttpObjectTracker ThreeGppHttpObjectTestCase::m_requestObjectTracker
private

◆ m_rngRun

uint32_t ThreeGppHttpObjectTestCase::m_rngRun
private

Determines the set of random values generated.

Definition at line 285 of file three-gpp-http-client-server-test.cc.

Referenced by DoRun().

◆ m_rttCalculator

Ptr<MinMaxAvgTotalCalculator<double> > ThreeGppHttpObjectTestCase::m_rttCalculator
private

Keeps statistical information of round-trip delays (in seconds).

Definition at line 309 of file three-gpp-http-client-server-test.cc.

Referenced by ThreeGppHttpObjectTestCase(), ClientRxRttCallback(), and DoRun().

◆ m_tcpType

TypeId ThreeGppHttpObjectTestCase::m_tcpType
private

TCP algorithm used.

Definition at line 286 of file three-gpp-http-client-server-test.cc.

Referenced by CreateSimpleInternetNode().

◆ m_useIpv6

bool ThreeGppHttpObjectTestCase::m_useIpv6
private

Whether to use IPv6 or IPv4.

Definition at line 289 of file three-gpp-http-client-server-test.cc.

Referenced by AssignSocketAddress(), and DoRun().


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