A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::TcpOptionMSS Class Reference

Defines the TCP option of kind 2 (maximum segment size) as in RFC 793 More...

#include "tcp-option-rfc793.h"

+ Inheritance diagram for ns3::TcpOptionMSS:
+ Collaboration diagram for ns3::TcpOptionMSS:

Public Member Functions

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

Static Public Member Functions

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

Protected Attributes

uint16_t m_mss
 maximum segment size
 

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.
 
virtual void DoDispose ()
 Destructor implementation.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Defines the TCP option of kind 2 (maximum segment size) as in RFC 793

Introspection did not find any typical Config paths.


No Attributes are defined for this type.
No TraceSources are defined for this type.
Group: Internet

Size of this type is 56 bytes (on a 64-bit architecture).

Definition at line 69 of file tcp-option-rfc793.h.

Constructor & Destructor Documentation

◆ TcpOptionMSS()

ns3::TcpOptionMSS::TcpOptionMSS ( )

Definition at line 161 of file tcp-option-rfc793.cc.

◆ ~TcpOptionMSS()

ns3::TcpOptionMSS::~TcpOptionMSS ( )
override

Definition at line 167 of file tcp-option-rfc793.cc.

Member Function Documentation

◆ Deserialize()

uint32_t ns3::TcpOptionMSS::Deserialize ( Buffer::Iterator start)
overridevirtual

Deserialize the Option from a buffer iterator.

Parameters
startthe buffer iterator
Returns
the number of deserialized bytes

Implements ns3::TcpOption.

Definition at line 209 of file tcp-option-rfc793.cc.

References GetKind(), GetSerializedSize(), m_mss, NS_ABORT_IF, NS_LOG_WARN, ns3::Buffer::Iterator::ReadNtohU16(), and ns3::Buffer::Iterator::ReadU8().

+ Here is the call graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::TcpOptionMSS::GetInstanceTypeId ( ) const
overridevirtual

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 182 of file tcp-option-rfc793.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetKind()

uint8_t ns3::TcpOptionMSS::GetKind ( ) const
overridevirtual

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

Returns
the Option Kind

Implements ns3::TcpOption.

Definition at line 229 of file tcp-option-rfc793.cc.

References ns3::TcpOption::MSS.

Referenced by Deserialize(), and Serialize().

+ Here is the caller graph for this function:

◆ GetMSS()

uint16_t ns3::TcpOptionMSS::GetMSS ( ) const

Get the Maximum Segment Size stored in the Option.

Returns
The Maximum Segment Size

Definition at line 235 of file tcp-option-rfc793.cc.

References m_mss.

◆ GetSerializedSize()

uint32_t ns3::TcpOptionMSS::GetSerializedSize ( ) const
overridevirtual

Returns number of bytes required for Option serialization.

Returns
number of bytes required for Option serialization

Implements ns3::TcpOption.

Definition at line 194 of file tcp-option-rfc793.cc.

Referenced by Deserialize(), and TcpHeaderWithRFC793OptionTestCase::OneOptionAtTime().

+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::TcpOptionMSS::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

Definition at line 172 of file tcp-option-rfc793.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::TcpOptionMSS::Print ( std::ostream & os) const
overridevirtual

Print the Option contents.

Parameters
osthe output stream

Implements ns3::TcpOption.

Definition at line 188 of file tcp-option-rfc793.cc.

References m_mss.

◆ Serialize()

void ns3::TcpOptionMSS::Serialize ( Buffer::Iterator start) const
overridevirtual

Serialize the Option to a buffer iterator.

Parameters
startthe buffer iterator

Implements ns3::TcpOption.

Definition at line 200 of file tcp-option-rfc793.cc.

References GetKind(), m_mss, ns3::Buffer::Iterator::WriteHtonU16(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

◆ SetMSS()

void ns3::TcpOptionMSS::SetMSS ( uint16_t mss)

Set the Maximum Segment Size stored in the Option.

Parameters
mssThe Maximum Segment Size

Definition at line 241 of file tcp-option-rfc793.cc.

References m_mss.

Referenced by TcpHeaderWithRFC793OptionTestCase::OneOptionAtTime().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_mss

uint16_t ns3::TcpOptionMSS::m_mss
protected

maximum segment size

Definition at line 101 of file tcp-option-rfc793.h.

Referenced by Deserialize(), GetMSS(), Print(), Serialize(), and SetMSS().


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