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");
96 uint32_t MaxPacketSize = 1024;
98 uint32_t maxPacketCount = 10;
101 client.SetAttribute (
"Interval",
TimeValue (interPacketInterval));
102 client.SetAttribute (
"PacketSize",
UintegerValue (MaxPacketSize));
103 apps = client.Install (n.
Get (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;
169 uint32_t MaxPacketSize = 1400 - 28;
172 apps = client.Install (n.
Get (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;
321 for (i = 0; i < 64; i++)
325 echoClient.SetFill (clientApps.
Get (0), &(arry[0]), (uint32_t)64, (uint32_t)64);
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...
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
holds a vector of std::pair of Ptr<Ipv4> 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()
void AddTestCase(TestCase *testCase, enum TestDuration duration)
Add an individual child TestCase to this test suite.
Create a client application which sends UDP packets carrying a 32bit sequence number and a 64 bit tim...
AttributeValue implementation for 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.
#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.
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<Application> 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()
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)
Associate a NetDevice to this node.
Ptr< Node > Get(uint32_t i) const
Get the Ptr<Node> stored in this container at a given index.
Time Seconds(double value)
Construct a Time in the indicated unit.
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.
Ipv4Address GetAddress(uint32_t i, uint32_t j=0) const
virtual void DoRun(void)
Implementation to actually run this TestCase.