A Discrete-Event Network Simulator
API
ns3::TcpOptionSackPermitted Class Reference

Defines the TCP option of kind 4 (selective acknowledgment permitted option) as in RFC 2018 More...

#include "tcp-option-sack-permitted.h"

+ Inheritance diagram for ns3::TcpOptionSackPermitted:
+ Collaboration diagram for ns3::TcpOptionSackPermitted:

Public Member Functions

 TcpOptionSackPermitted ()
 
virtual ~TcpOptionSackPermitted ()
 
virtual uint32_t Deserialize (Buffer::Iterator start)
 Deserialize the Option from a buffer iterator. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
virtual uint8_t GetKind (void) const
 Get the ‘kind’ (as in RFC 793) of this option. More...
 
virtual uint32_t GetSerializedSize (void) const
 Returns number of bytes required for Option serialization. More...
 
virtual void Print (std::ostream &os) const
 Print the Option contents. More...
 
virtual void Serialize (Buffer::Iterator start) const
 Serialize the Option to a buffer iterator. More...
 
- Public Member Functions inherited from ns3::TcpOption
 TcpOption ()
 
virtual ~TcpOption ()
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::TcpOption
static Ptr< TcpOptionCreateOption (uint8_t kind)
 Creates an option. More...
 
static TypeId GetTypeId (void)
 Get the type ID. More...
 
static bool IsKindKnown (uint8_t kind)
 Check if the option is implemented. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Additional Inherited Members

- Public Types inherited from ns3::TcpOption
enum  Kind {
  END = 0, NOP = 1, MSS = 2, WINSCALE = 3,
  SACKPERMITTED = 4, SACK = 5, TS = 8, UNKNOWN = 255
}
 The option Kind, as defined in the respective RFCs. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Defines the TCP option of kind 4 (selective acknowledgment permitted option) as in RFC 2018


Introspection did not find any typical Config paths.

TCP Sack-Permitted Option is 2-byte in length and sent in a SYN segment by a TCP host that can recognize and process SACK option during the lifetime of a connection.


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 32 bytes (on a 64-bit architecture).

Definition at line 42 of file tcp-option-sack-permitted.h.

Constructor & Destructor Documentation

◆ TcpOptionSackPermitted()

ns3::TcpOptionSackPermitted::TcpOptionSackPermitted ( )

Definition at line 35 of file tcp-option-sack-permitted.cc.

◆ ~TcpOptionSackPermitted()

ns3::TcpOptionSackPermitted::~TcpOptionSackPermitted ( )
virtual

Definition at line 40 of file tcp-option-sack-permitted.cc.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::TcpOptionSackPermitted::Deserialize ( Buffer::Iterator  start)
virtual

Deserialize the Option from a buffer iterator.

Parameters
startthe buffer iterator
Returns
the number of deserialized bytes

Implements ns3::TcpOption.

Definition at line 82 of file tcp-option-sack-permitted.cc.

References GetKind(), GetSerializedSize(), NS_LOG_WARN, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().

+ Here is the call graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::TcpOptionSackPermitted::GetInstanceTypeId ( void  ) const
virtual

Get the most derived TypeId for this Object.

This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.

Returns
The TypeId associated to the most-derived type of this instance.

Reimplemented from ns3::TcpOption.

Definition at line 56 of file tcp-option-sack-permitted.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetKind()

uint8_t ns3::TcpOptionSackPermitted::GetKind ( void  ) const
virtual

Get the ‘kind’ (as in RFC 793) of this option.

Returns
the Option Kind

Implements ns3::TcpOption.

Definition at line 103 of file tcp-option-sack-permitted.cc.

References ns3::TcpOption::SACKPERMITTED.

Referenced by Deserialize(), and Serialize().

+ Here is the caller graph for this function:

◆ GetSerializedSize()

uint32_t ns3::TcpOptionSackPermitted::GetSerializedSize ( void  ) const
virtual

Returns number of bytes required for Option serialization.

Returns
number of bytes required for Option serialization

Implements ns3::TcpOption.

Definition at line 68 of file tcp-option-sack-permitted.cc.

Referenced by Deserialize().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::TcpOptionSackPermitted::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 45 of file tcp-option-sack-permitted.cc.

References ns3::TypeId::SetParent().

Referenced by ns3::TcpOption::CreateOption(), and GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Print()

void ns3::TcpOptionSackPermitted::Print ( std::ostream &  os) const
virtual

Print the Option contents.

Parameters
osthe output stream

Implements ns3::TcpOption.

Definition at line 62 of file tcp-option-sack-permitted.cc.

◆ Serialize()

void ns3::TcpOptionSackPermitted::Serialize ( Buffer::Iterator  start) const
virtual

Serialize the Option to a buffer iterator.

Parameters
startthe buffer iterator

Implements ns3::TcpOption.

Definition at line 74 of file tcp-option-sack-permitted.cc.

References GetKind(), visualizer.core::start(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: