23 #include "ns3/tcp-header.h"
24 #include "ns3/tcp-option-sack-permitted.h"
126 if (!(h.
GetFlags() & TcpHeader::SYN))
130 "SackPermitted in non-SYN segment");
138 "SackPermitted disabled but option enabled");
144 "SackPermitted enabled but option disabled");
156 "SackPermitted disabled but option enabled");
162 "SackPermitted enabled but option disabled");
171 "SackPermitted disabled but option enabled");
184 "sender has not ts, but receiver sent anyway");
190 "receiver has not ts enabled but sent anyway");
199 "SackPermitted disabled but option enabled");
Test case for checking the SACK-PERMITTED option.
Configuration
Configuration of the test.
SackPermittedTestCase(SackPermittedTestCase::Configuration conf)
Constructor.
Ptr< TcpSocketMsgBase > CreateSenderSocket(Ptr< Node > node) override
Create and install the socket to install on the sender.
void Tx(const Ptr< const Packet > p, const TcpHeader &h, SocketWho who) override
Packet transmitted down to IP layer.
Ptr< TcpSocketMsgBase > CreateReceiverSocket(Ptr< Node > node) override
Create and install the socket to install on the receiver.
Configuration m_configuration
The configuration.
The test case for testing the TCP SACK PERMITTED option.
TcpSackPermittedTestSuite()
Constructor.
Smart pointer class similar to boost::intrusive_ptr.
General infrastructure for TCP testing.
SocketWho
Used as parameter of methods, specifies on what node the caller is interested (e.g.
void AddTestCase(TestCase *testCase, TestDuration duration=QUICK)
Add an individual child TestCase to this test suite.
@ UNIT
This test suite implements a Unit Test.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_INFO(msg)
Use NS_LOG to output a message of level LOG_INFO.
#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.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static TcpSackPermittedTestSuite g_tcpSackPermittedTestSuite
Static variable for test initialization.