59 virtual void RttTrace (
Time oldTime,
Time newTime);
62 virtual void ConfigureEnvironment ();
75 m_enableTs (enableTs),
78 m_pktCount (pktCount),
86 TcpGeneralTest::ConfigureEnvironment ();
132 "Default Estimate for the RTT");
157 "A retransmission is not flagged as such");
162 "Incorrectly flagging seq as retransmission");
168 "A retransmission is not flagged as such");
205 uint32_t pktCount, std::vector<uint32_t> toDrop);
217 std::vector<uint32_t> toDrop)
229 std::vector<uint32_t>::iterator it;
261 std::vector<uint32_t> toDrop;
262 toDrop.push_back (501);
265 " some data, with retr",
269 " some data, with retr",
273 toDrop.push_back (501);
275 " some data, with retr",
279 " some data, with retr",
283 toDrop.push_back (54001);
284 toDrop.push_back (58001);
285 toDrop.push_back (58501);
286 toDrop.push_back (60001);
287 toDrop.push_back (68501);
289 " a lot of data, with retr",
290 false, 1000, toDrop),
293 " a lot of data, with retr",
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
AttributeValue implementation for Boolean.
virtual void RttTrace(Time oldTime, Time newTime)
Rtt changes.
bool m_enableTs
Enable TimeStamp option.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
#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.
void SetTransmitStart(Time startTime)
Set the initial time at which the application sends the first data packet.
This test suite implements a Unit Test.
virtual Ptr< TcpSocketMsgBase > CreateSenderSocket(Ptr< Node > node)
Create and install the socket to install on the sender.
virtual void Tx(const Ptr< const Packet > p, const TcpHeader &h, SocketWho who)
Packet transmitted down to IP layer.
double GetSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.
virtual Ptr< TcpSocketMsgBase > CreateReceiverSocket(Ptr< Node > node)
Create and install the socket to install on the receiver.
Check Rtt calculations with packet losses.
virtual void ConfigureEnvironment()
Change the configuration of the evironment.
TcpRttEstimationWithLossTest(const std::string &desc, bool enableTs, uint32_t pktCount, std::vector< uint32_t > toDrop)
Constructor.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
SequenceNumber32 m_highestTxSeq
Highest sequence number sent.
void SetMTU(uint32_t mtu)
MTU of the bottleneck link.
SocketWho
Used as parameter of methods, specifies on what node the caller is interested (e.g.
void FinalChecks()
Performs the (eventual) final checks through test asserts.
#define NS_TEST_ASSERT_MSG_EQ(actual, limit, msg)
Test that an actual and expected (limit) value are equal and report and abort if not.
uint32_t m_pktCount
Packet counter.
TCP RTT estimation TestSuite.
static TcpRttEstimationTestSuite g_tcpRttEstimationTestSuite
Static variable for test initialization.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::vector< uint32_t > m_toDrop
Packets to drop.
Generic "sequence number" class.
TcpRttEstimationTestSuite()
void AddSeqToKill(const SequenceNumber32 &seq)
Add the sequence number to the list of segments to be killed.
TcpRttEstimationTest(const std::string &desc, bool enableTs, uint32_t pktCount)
Constructor.
bool m_rttChanged
True if RTT has changed.
void SetAppPktCount(uint32_t pktCount)
Set app packet count.
virtual void Rx(const Ptr< const Packet > p, const TcpHeader &h, SocketWho who)
Packet received from IP layer.
virtual void UpdatedRttHistory(const SequenceNumber32 &seq, uint32_t sz, bool isRetransmission, SocketWho who)
Updated the Rtt history.
General infrastructure for TCP testing.
#define NS_TEST_ASSERT_MSG_NE(actual, limit, msg)
Test that an actual and expected (limit) value are not equal and report and abort if not...
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
Ptr< ErrorModel > CreateReceiverErrorModel()
Create and return the error model to install in the receiver node.
Time Seconds(double value)
Construct a Time in the indicated unit.
Time GetEstimate(void) const
gets the RTT estimate.
void SetAttribute(std::string name, const AttributeValue &value)
Set a single attribute, raising fatal errors if unsuccessful.
Ptr< RttEstimator > GetRttEstimator(SocketWho who)
Get the Rtt estimator of the socket.
void SetPropagationDelay(Time propDelay)
Propagation delay of the bottleneck link.
uint32_t m_dataCount
Data counter.