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

Error model which drop packets with specified TCP flags. More...

#include "tcp-error-model.h"

+ Inheritance diagram for ns3::TcpFlagErrorModel:
+ Collaboration diagram for ns3::TcpFlagErrorModel:

Public Member Functions

 TcpFlagErrorModel ()
 
void SetFlagToKill (TcpHeader::Flags_t flags)
 Set the flags of the segment that should be killed. More...
 
void SetKillRepeat (int killNumber)
 Set how many packets should be killed. More...
 
- Public Member Functions inherited from ns3::TcpGeneralErrorModel
 TcpGeneralErrorModel ()
 
void SetDropCallback (Callback< void, const Ipv4Header &, const TcpHeader &, Ptr< const Packet > > cb)
 
- Public Member Functions inherited from ns3::ErrorModel
 ErrorModel ()
 
virtual ~ErrorModel ()
 
void Disable (void)
 Disable the error model. More...
 
void Enable (void)
 Enable the error model. More...
 
bool IsCorrupt (Ptr< Packet > pkt)
 Note: Depending on the error model, this function may or may not alter the contents of the packet upon returning true. More...
 
bool IsEnabled (void) const
 
void Reset (void)
 Reset any state associated with the error model. More...
 
- 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...
 
virtual TypeId GetInstanceTypeId (void) const
 Implement the GetInstanceTypeId method defined in ObjectBase. 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...
 
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 ()
 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. 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)
 
- Static Public Member Functions inherited from ns3::TcpGeneralErrorModel
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::ErrorModel
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Protected Member Functions

virtual bool ShouldDrop (const Ipv4Header &ipHeader, const TcpHeader &tcpHeader, uint32_t packetSize)
 
- 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...
 

Protected Attributes

TcpHeader::Flags_t m_flagsToKill
 
int m_killNumber
 

Private Member Functions

virtual void DoReset (void)
 Re-initialize any state. More...
 

Additional Inherited Members

Detailed Description

Error model which drop packets with specified TCP flags.

Set the flags with SetFlagToKill and the number of the packets with such flags which should be killed.

See also
SetFlagToKill
SetKillRepeat

Definition at line 101 of file tcp-error-model.h.

Constructor & Destructor Documentation

ns3::TcpFlagErrorModel::TcpFlagErrorModel ( )

Definition at line 126 of file tcp-error-model.cc.

Member Function Documentation

void ns3::TcpFlagErrorModel::DoReset ( void  )
privatevirtual

Re-initialize any state.

Implements ns3::ErrorModel.

Definition at line 163 of file tcp-error-model.cc.

References m_flagsToKill, m_killNumber, and ns3::TcpHeader::NONE.

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

Definition at line 117 of file tcp-error-model.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::TcpFlagErrorModel::SetFlagToKill ( TcpHeader::Flags_t  flags)
inline

Set the flags of the segment that should be killed.

Parameters
flagsFlags

Definition at line 112 of file tcp-error-model.h.

References m_flagsToKill.

void ns3::TcpFlagErrorModel::SetKillRepeat ( int  killNumber)
inline

Set how many packets should be killed.

If the flags are the same, this specified the numbers of drops:

-1 for infinite drops

0 for no drops

>1 the number of drops

Parameters
killNumberSpecifies the number of times the packet should be killed

Definition at line 128 of file tcp-error-model.h.

References m_killNumber.

bool ns3::TcpFlagErrorModel::ShouldDrop ( const Ipv4Header ipHeader,
const TcpHeader tcpHeader,
uint32_t  packetSize 
)
protectedvirtual

Implements ns3::TcpGeneralErrorModel.

Definition at line 134 of file tcp-error-model.cc.

References ns3::TcpHeader::GetFlags(), m_flagsToKill, m_killNumber, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

Member Data Documentation

TcpHeader::Flags_t ns3::TcpFlagErrorModel::m_flagsToKill
protected

Definition at line 138 of file tcp-error-model.h.

Referenced by DoReset(), SetFlagToKill(), and ShouldDrop().

int ns3::TcpFlagErrorModel::m_killNumber
protected

Definition at line 139 of file tcp-error-model.h.

Referenced by DoReset(), SetKillRepeat(), and ShouldDrop().


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