24 #include "ns3/packet.h"
45 : m_manualIpTos (false),
46 m_manualIpTtl (false),
49 m_manualIpv6Tclass (false),
50 m_manualIpv6HopLimit (false),
51 m_ipv6RecvTclass (false),
52 m_ipv6RecvHopLimit (false)
77 s = socketFactory->CreateSocket ();
147 p = Create<Packet> (buf, size);
151 p = Create<Packet> (size);
153 return Send (p, flags);
164 p = Create<Packet> (buf, size);
168 p = Create<Packet> (size);
170 return SendTo (p, flags, toAddress);
177 return Recv (std::numeric_limits<uint32_t>::max (), 0);
197 return RecvFrom (std::numeric_limits<uint32_t>::max (), 0, fromAddress);
323 m_dataSent = MakeNullCallback<void,Ptr<Socket>, uint32_t> ();
324 m_sendCb = MakeNullCallback<void,Ptr<Socket>, uint32_t> ();
343 NS_ASSERT_MSG (found,
"Socket cannot be bound to a NetDevice not existing on the Node");
427 if (tclass == -1 || tclass < -1 || tclass > 0xff)
430 if (tclass < -1 || tclass > 0xff)
432 NS_LOG_WARN (
"Invalid IPV6_TCLASS value. Using default.");
542 .AddConstructor<SocketAddressTag> ()
602 .AddConstructor<SocketIpTtlTag> ()
634 os <<
"Ttl=" << (uint32_t)
m_ttl;
658 static TypeId tid =
TypeId (
"ns3::SocketIpv6HopLimitTag")
660 .AddConstructor<SocketIpv6HopLimitTag> ()
719 static TypeId tid =
TypeId (
"ns3::SocketSetDontFragmentTag")
721 .AddConstructor<SocketSetDontFragmentTag> ();
776 .AddConstructor<SocketIpTosTag> ()
790 return sizeof (uint8_t);
832 .AddConstructor<SocketIpv6TclassTag> ()
846 return sizeof (uint8_t);