21 #include "udp-header.h"
22 #include "ns3/address-utils.h"
26 NS_OBJECT_ENSURE_REGISTERED (UdpHeader);
33 : m_sourcePort (0xfffd),
34 m_destinationPort (0xfffd),
35 m_payloadSize (0xfffd),
36 m_calcChecksum (false),
40 UdpHeader::~UdpHeader ()
42 m_sourcePort = 0xfffe;
43 m_destinationPort = 0xfffe;
44 m_payloadSize = 0xfffe;
50 m_calcChecksum =
true;
56 m_destinationPort = port;
71 return m_destinationPort;
79 m_destination = destination;
80 m_protocol = protocol;
88 m_destination = destination;
89 m_protocol = protocol;
97 m_destination = destination;
98 m_protocol = protocol;
101 UdpHeader::CalculateHeaderChecksum (uint16_t size)
const
106 uint32_t hdrSize = 0;
108 WriteTo (it, m_source);
109 WriteTo (it, m_destination);
137 return m_goodChecksum;
142 UdpHeader::GetTypeId (
void)
146 .AddConstructor<UdpHeader> ()
160 << m_sourcePort <<
" > " << m_destinationPort
182 uint16_t headerChecksum = CalculateHeaderChecksum (start.
GetSize ());
188 i.WriteU16 (checksum);
202 uint16_t headerChecksum = CalculateHeaderChecksum (start.
GetSize ());
206 m_goodChecksum = (checksum == 0);
static bool IsMatchingType(const Address &address)
If the Address matches the type.
uint16_t CalculateIpChecksum(uint16_t size)
Calculate the checksum.
automatically resized byte buffer
iterator in a Buffer instance
a polymophic address class
void WriteU16(uint16_t data)
void WriteHtonU16(uint16_t data)
static bool IsMatchingType(const Address &address)
Buffer::Iterator Begin(void) const
Describes an IPv6 address.
Ipv4 addresses are stored in host order in this class.
void WriteU8(uint8_t data)
bool AddAtStart(uint32_t start)
uint16_t ReadNtohU16(void)
uint32_t GetSize(void) const
a unique identifier for an interface.
TypeId SetParent(TypeId tid)