22 #include "ns3/ipv4-address.h"
23 #include "ns3/nstime.h"
24 #include "ns3/inet-socket-address.h"
25 #include "ns3/inet6-socket-address.h"
26 #include "ns3/socket.h"
27 #include "ns3/simulator.h"
28 #include "ns3/socket-factory.h"
29 #include "ns3/packet.h"
30 #include "ns3/uinteger.h"
46 .AddConstructor<UdpClient> ()
47 .AddAttribute (
"MaxPackets",
48 "The maximum number of packets the application will send",
51 MakeUintegerChecker<uint32_t> ())
52 .AddAttribute (
"Interval",
53 "The time to wait between packets",
TimeValue (Seconds (1.0)),
58 "The destination Address of the outbound packets",
61 MakeAddressChecker ())
62 .AddAttribute (
"RemotePort",
"The destination port of the outbound packets",
65 MakeUintegerChecker<uint16_t> ())
66 .AddAttribute (
"PacketSize",
67 "Size of packets generated. The minimum packet size is 12 bytes which is the size of the header carrying the sequence number and the time stamp.",
70 MakeUintegerChecker<uint32_t> (12,1500))
161 std::stringstream peerAddressStringStream;
175 << peerAddressStringStream.str () <<
" Uid: "
176 << p->
GetUid () <<
" Time: "
183 << peerAddressStringStream.str ());
static bool IsMatchingType(const Address &address)
If the Address matches the type.
#define NS_LOG_FUNCTION(parameters)
virtual int Bind6()=0
Allocate a local IPv6 endpoint for this socket.
virtual void StartApplication(void)
Application specific startup code.
uint64_t GetUid(void) const
#define NS_ASSERT(condition)
static void Cancel(const EventId &id)
Callback< R > MakeNullCallback(void)
static EventId Schedule(Time const &time, MEM mem_ptr, OBJ obj)
virtual void StopApplication(void)
Application specific shutdown code.
a polymophic address class
The base class for all ns3 applications.
hold objects of type ns3::Time
Hold an unsigned integer type.
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
Ptr< Node > GetNode() const
void SetRecvCallback(Callback< void, Ptr< Socket > >)
Notify application when new data is available to be read.
static TypeId GetTypeId(void)
static Ptr< Socket > CreateSocket(Ptr< Node > node, TypeId tid)
static bool IsMatchingType(const Address &address)
virtual int Connect(const Address &address)=0
Initiate a connection to a remote host.
virtual void DoDispose(void)
virtual int Bind(const Address &address)=0
Allocate a local endpoint for this socket.
Describes an IPv6 address.
Ipv4 addresses are stored in host order in this class.
hold objects of type ns3::Address
NS_LOG_COMPONENT_DEFINE("PacketLossCounter")
an identifier for simulation events.
Ptr< const AttributeChecker > MakeTimeChecker(const Time min, const Time max)
Helper to make a Time checker with bounded range. Both limits are inclusive.
static Ipv4Address ConvertFrom(const Address &address)
virtual int Send(Ptr< Packet > p, uint32_t flags)=0
Send data (or dummy data) to the remote host.
virtual void DoDispose(void)
bool IsExpired(void) const
void SetRemote(Ipv4Address ip, uint16_t port)
set the remote address and port
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
void AddHeader(const Header &header)
static TypeId LookupByName(std::string name)
static Ipv6Address ConvertFrom(const Address &address)
Convert the Address object into an Ipv6Address ones.