12#include "ns3/tcp-header.h"
50 .SetGroupName(
"Internet")
71 halved->RemoveAtEnd(packet->GetSize() / 2);
141 "Notified more data than application sent");
Ptr< TcpSocketMsgBase > CreateReceiverSocket(Ptr< Node > node) override
Create and install the socket to install on the receiver.
void DataSent(uint32_t size, SocketWho who) override
Notifying application for sent data.
void ConfigureEnvironment() override
Change the configuration of the environment.
uint32_t m_notifiedData
Amount of data notified.
TcpDataSentCbTestCase(const std::string &desc, uint32_t size, uint32_t packets)
Constructor.
uint32_t m_pktCount
Number of packets sent.
uint32_t m_pktSize
Packet size.
void FinalChecks() override
Performs the (eventual) final checks through test asserts.
TestSuite: Data Sent callback.
Socket that the 50% of the times saves the entire packet in the buffer, while in the other 50% saves ...
Ptr< TcpSocketBase > Fork() override
Call CopyObject<> to clone me.
static TypeId GetTypeId()
Get the type ID.
void ReceivedData(Ptr< Packet > packet, const TcpHeader &tcpHeader) override
Recv of a data, put into buffer, call L7 to get it if necessary.
Smart pointer class similar to boost::intrusive_ptr.
uint32_t GetPktCount() const
Get the number of application packets.
void SetAppPktCount(uint32_t pktCount)
Set app packet count.
SocketWho
Used as parameter of methods, specifies on what node the caller is interested (e.g.
void SetAppPktSize(uint32_t pktSize)
Set app packet size.
virtual Ptr< TcpSocketMsgBase > CreateSocket(Ptr< Node > node, TypeId socketType, TypeId congControl)
Create a socket.
TypeId m_congControlTypeId
Congestion control.
virtual void ConfigureEnvironment()
Change the configuration of the environment.
TcpGeneralTest(const std::string &desc)
TcpGeneralTest constructor.
uint32_t GetPktSize() const
Get the application packet size.
virtual void ReceivedData(Ptr< Packet > packet, const TcpHeader &tcpHeader)
Recv of a data, put into buffer, call L7 to get it if necessary.
void AddTestCase(TestCase *testCase, Duration duration=Duration::QUICK)
Add an individual child TestCase to this test suite.
TestSuite(std::string name, Type type=Type::UNIT)
Construct a new test suite.
static constexpr auto UNIT
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
#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.
Ptr< T > CopyObject(Ptr< const T > object)
static TcpDataSentCbTestSuite g_tcpDataSentCbTestSuite
Static variable for test initialization.