11#include "ns3/boolean.h"
12#include "ns3/integer.h"
14#include "ns3/object.h"
15#include "ns3/trace-source-accessor.h"
16#include "ns3/uinteger.h"
31 .SetGroupName(
"Internet")
34 "UdpSocket maximum receive buffer size (bytes)",
38 .AddAttribute(
"IpTtl",
39 "socket-specific TTL for unicast IP packets (if non-zero)",
45 "socket-specific TTL for multicast IP packets (if non-zero)",
51 "interface index for outgoing multicast on this socket; -1 indicates to use "
58 "whether outgoing multicast sent also to loopback interface",
64 "If enabled, every outgoing ip packet will have the DF flag set.",
Hold a signed integer type.
A low-level Socket API based loosely on the BSD Socket API.
virtual void SetIpTtl(uint8_t ipTtl)
Manually set IP Time to Live field.
virtual uint8_t GetIpTtl() const
Query the value of IP Time to Live field of this socket.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
virtual void SetIpMulticastIf(int32_t ipIf)=0
Set the IP multicast interface.
virtual void SetRcvBufSize(uint32_t size)=0
Set the receiving buffer size.
virtual bool GetMtuDiscover() const =0
Get the MTU discover capability.
virtual int32_t GetIpMulticastIf() const =0
Get the IP multicast interface.
virtual uint8_t GetIpMulticastTtl() const =0
Get the IP multicast TTL.
static TypeId GetTypeId()
Get the type ID.
virtual void SetIpMulticastLoop(bool loop)=0
Set the IP multicast loop capability.
virtual bool GetIpMulticastLoop() const =0
Get the IP multicast loop capability.
virtual void SetMtuDiscover(bool discover)=0
Set the MTU discover capability.
virtual void SetIpMulticastTtl(uint8_t ipTtl)=0
Set the IP multicast TTL.
virtual uint32_t GetRcvBufSize() const =0
Get the receiving buffer size.
Hold an unsigned integer type.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< const AttributeChecker > MakeBooleanChecker()
Ptr< const AttributeChecker > MakeIntegerChecker()
Ptr< const AttributeAccessor > MakeIntegerAccessor(T1 a1)
Ptr< const AttributeChecker > MakeUintegerChecker()
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Ptr< const AttributeAccessor > MakeBooleanAccessor(T1 a1)