28 #include "ns3/type-id.h"    53     .SetGroupName (
"Internet")
    74   static kindToTid toTid[] =
    86   for (
unsigned int i = 0; i < 
sizeof (toTid) / 
sizeof (kindToTid); ++i)
    88       if (toTid[i].kind == kind)
    95   return CreateObject<TcpOptionUnknown> ();
   135     .SetGroupName (
"Internet")
   150   os << 
"Unknown option";
   164       NS_LOG_WARN (
"Can't Serialize an Unknown Tcp Option");
   179   NS_LOG_WARN (
"Trying to Deserialize an Unknown Option of Kind " << 
int (
m_kind));
   182   if (m_size < 2 || m_size > 40)
   184       NS_LOG_WARN (
"Unable to parse an unknown option of kind " << 
int (
m_kind) << 
" with apparent size " << 
int (
m_size));
 Smart pointer class similar to boost::intrusive_ptr. 
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object. 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object. 
virtual uint32_t GetSerializedSize(void) const
Returns number of bytes required for Option serialization. 
virtual uint8_t GetKind(void) const
Get the ‘kind’ (as in RFC 793) of this option. 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory. 
static TypeId GetTypeId(void)
Get the type ID. 
virtual void Serialize(Buffer::Iterator start) const
Serialize the Option to a buffer iterator. 
iterator in a Buffer instance 
virtual void Print(std::ostream &os) const
Print the Option contents. 
Ptr< Object > Create(void) const
Create an Object instance of the configured TypeId. 
virtual ~TcpOptionUnknown()
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
static TypeId GetTypeId(void)
Get the type ID. 
void Read(uint8_t *buffer, uint32_t size)
virtual uint32_t Deserialize(Buffer::Iterator start)
Deserialize the Option from a buffer iterator. 
uint8_t m_content[40]
The option data. 
uint32_t m_size
The unknown option size. 
not a standardized value; for unknown recv'd options 
static TypeId GetTypeId(void)
Get the type ID. 
Instantiate subclasses of ns3::Object. 
static TypeId GetTypeId(void)
Get the type ID. 
void WriteU8(uint8_t data)
static bool IsKindKnown(uint8_t kind)
Check if the option is implemented. 
#define NS_LOG_WARN(msg)
Use NS_LOG to output a message of level LOG_WARN. 
static TypeId GetTypeId(void)
Get the type ID. 
static TypeId GetTypeId(void)
Get the type ID. 
uint8_t m_kind
The unknown option kind. 
Kind
The option Kind, as defined in the respective RFCs. 
void Write(uint8_t const *buffer, uint32_t size)
Base class for all kinds of TCP options. 
static TypeId GetTypeId(void)
Get the type ID. 
A base class which provides memory management and object aggregation. 
a unique identifier for an interface. 
static TypeId GetTypeId(void)
Get the type ID. 
static Ptr< TcpOption > CreateOption(uint8_t kind)
Creates an option. 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
static TypeId GetTypeId(void)
Get the type ID.