19 #include "ns3/core-module.h"
20 #include "ns3/internet-module.h"
21 #include "ns3/rtt-estimator.h"
36 virtual void DoRun (
void);
37 virtual void DoTeardown (
void);
50 m_variance (variance),
73 for (uint32_t i = 0; i < 10000; ++i)
75 int measurement = nv->GetInteger ();
76 rtt->
Measurement (Time::FromInteger (measurement, Time::MS));
77 double err = (measurement - a);
79 v = v + g * (std::abs (err) - v);
83 double tolerance =
m_mean * .05;
87 int expectedTimeout = (int)a + 4 * (
int)v;
smart pointer class similar to boost::intrusive_ptr
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
#define NS_TEST_EXPECT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report if not.
RttTestCase(double mean, double variance, double gain)
virtual void DoRun(void)
Implementation to actually run this TestCase.
Attribute for objects of type ns3::Time.
Time GetCurrentEstimate(void) const
gets the current RTT estimate.
#define NS_TEST_ASSERT_MSG_EQ_TOL(actual, limit, tol, msg)
Test that actual and expected (limit) values are equal to plus or minus some tolerance and report and...
void SetDefault(std::string name, const AttributeValue &value)
Time RetransmitTimeout()
Returns the estimated RTO.
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
RttTestSuite g_tcpTestSuite
void Measurement(Time measure)
Add a new measurement to the estimator.
Time Seconds(double value)
Construct a Time in the indicated unit.
This test suite implements a Unit Test.
Hold a floating point type.
int64_t GetMilliSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
virtual void DoTeardown(void)
Implementation to do any local setup required for this TestCase.