24 #include "ns3/abort.h"
25 #include "ns3/config.h"
26 #include "ns3/string.h"
27 #include "ns3/uinteger.h"
28 #include "ns3/inet-socket-address.h"
29 #include "ns3/internet-stack-helper.h"
30 #include "ns3/ipv4-address-helper.h"
31 #include "ns3/udp-client-server-helper.h"
32 #include "ns3/udp-echo-helper.h"
33 #include "ns3/simple-net-device.h"
34 #include "ns3/simple-channel.h"
36 #include "ns3/simulator.h"
52 virtual void DoRun (
void);
57 :
TestCase (
"Test that all the udp packets generated by an udpClient application are correctly received by an udpServer application")
79 rxDev->SetChannel (channel1);
87 ipv4.
SetBase (
"10.1.1.0",
"255.255.255.0");
93 apps.
Start (Seconds (1.0));
94 apps.
Stop (Seconds (10.0));
96 uint32_t MaxPacketSize = 1024;
97 Time interPacketInterval = Seconds (1.);
98 uint32_t maxPacketCount = 10;
101 client.SetAttribute (
"Interval",
TimeValue (interPacketInterval));
102 client.SetAttribute (
"PacketSize",
UintegerValue (MaxPacketSize));
103 apps = client.Install (n.
Get (0));
104 apps.
Start (Seconds (2.0));
105 apps.
Stop (Seconds (10.0));
108 Simulator::Destroy ();
126 virtual void DoRun (
void);
131 :
TestCase (
"Test that all the udp packets generated by an udpTraceClient application are correctly received by an udpServer application")
153 rxDev->SetChannel (channel1);
160 ipv4.
SetBase (
"10.1.1.0",
"255.255.255.0");
163 uint16_t
port = 4000;
166 apps.
Start (Seconds (1.0));
167 apps.
Stop (Seconds (10.0));
169 uint32_t MaxPacketSize = 1400 - 28;
172 apps = client.Install (n.
Get (0));
173 apps.
Start (Seconds (2.0));
174 apps.
Stop (Seconds (10.0));
177 Simulator::Destroy ();
195 virtual void DoRun (
void);
200 :
TestCase (
"Test that all the PacketLossCounter class checks loss correctly in different cases")
212 for (uint32_t i = 0; i < 64; i++)
219 for (uint32_t i = 65; i < 128; i++)
225 for (uint32_t i = 134; i < 200; i++)
240 for (uint32_t i = 205; i < 250; i++)
252 for (uint32_t i = 256; i < 300; i++)
270 virtual void DoRun (
void);
275 :
TestCase (
"Test that the UdpEchoClient::SetFill class sets packet size (bug 1378)")
296 rxDev->SetChannel (channel1);
304 ipv4.
SetBase (
"10.1.1.0",
"255.255.255.0");
307 uint16_t
port = 5000;
310 serverApps.
Start (Seconds (1.0));
311 serverApps.
Stop (Seconds (10.0));
321 for (i = 0; i < 64; i++)
325 echoClient.SetFill (clientApps.
Get (0), &(arry[0]), (uint32_t)64, (uint32_t)64);
327 clientApps.
Start (Seconds (2.0));
328 clientApps.
Stop (Seconds (10.0));
331 Simulator::Destroy ();
holds a vector of ns3::Application pointers.
virtual ~UdpTraceClientServerTestCase()
Test that all the udp packets generated by an udpTraceClient application are correctly received by an...
keep track of time values and allow control of global simulation resolution
smart pointer class similar to boost::intrusive_ptr
holds a vector of std::pair of Ptr and interface index.
void NotifyReceived(uint32_t seq)
Record a successfully received packet.
virtual ~PacketLossCounterTestCase()
void SetAttribute(std::string name, const AttributeValue &value)
Record an attribute to be set in each Application after it is is created.
Create an application which sends a UDP packet and waits for an echo of this packet.
PacketLossCounterTestCase()
Test that all the PacketLossCounter class checks loss correctly in different cases.
virtual void DoRun(void)
Implementation to actually run this TestCase.
aggregate IP/TCP/UDP functionality to existing Nodes.
UdpEchoClientSetFillTestCase()
virtual void DoRun(void)
Implementation to actually run this TestCase.
UdpTraceClientServerTestCase()
ApplicationContainer Install(Ptr< Node > node) const
Create a UdpEchoServerApplication on the specified Node.
Create a server application which waits for input UDP packets and sends them back to the original sen...
virtual ~UdpEchoClientSetFillTestCase()
Create a client application which sends UDP packets carrying a 32bit sequence number and a 64 bit tim...
hold objects of type ns3::Time
UdpClientServerTestCase()
void Add(NetDeviceContainer other)
Append the contents of another NetDeviceContainer to the end of this container.
Create UdpTraceClient application which sends UDP packets based on a trace file of an MPEG4 stream...
Hold an unsigned integer type.
uint32_t GetLost(void) const
Get the number of lost packets.
Ptr< UdpServer > GetServer(void)
Return the last created server.
virtual void DoRun(void)
Implementation to actually run this TestCase.
holds a vector of ns3::NetDevice pointers
Create a server application which waits for input UDP packets and uses the information carried into t...
void Start(Time start)
Arrange for all of the Applications in this container to Start() at the Time given as a parameter...
void SetAttribute(std::string name, const AttributeValue &value)
Record an attribute to be set in each Application after it is is created.
keep track of a set of node pointers.
Ptr< Application > Get(uint32_t i) const
Get the Ptr
stored in this container at a given index.
void Install(std::string nodeName) const
Aggregate implementations of the ns3::Ipv4, ns3::Ipv6, ns3::Udp, and ns3::Tcp classes onto the provid...
virtual ~UdpClientServerTestCase()
void AddTestCase(TestCase *testCase) NS_DEPRECATED
Add an individual child TestCase case to this TestCase.
Test that all the udp packets generated by an udpClient application are correctly received by an udpS...
A class to count the number of lost packets.
void Stop(Time stop)
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter...
Ipv4InterfaceContainer Assign(const NetDeviceContainer &c)
Assign IP addresses to the net devices specified in the container based on the current network prefix...
ApplicationContainer Install(NodeContainer c)
Create one UDP server application on each of the Nodes in the NodeContainer.
uint32_t AddDevice(Ptr< NetDevice > device)
Ptr< Node > Get(uint32_t i) const
Get the Ptr stored in this container at a given index.
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
UdpClientServerTestSuite()
void Create(uint32_t n)
Create n nodes and append pointers to them to the end of this NodeContainer.
static UdpClientServerTestSuite udpClientServerTestSuite
void SetChannel(Ptr< SimpleChannel > channel)
Attach a channel to this net device.
void SetBase(Ipv4Address network, Ipv4Mask mask, Ipv4Address base="0.0.0.1")
Set the base network number, network mask and base address.
#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.
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
virtual void DoRun(void)
Implementation to actually run this TestCase.