A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::dsr::PassiveBuffer Class Reference

DSR passive buffer. More...

#include <dsr-passive-buff.h>

+ Inheritance diagram for ns3::dsr::PassiveBuffer:
+ Collaboration diagram for ns3::dsr::PassiveBuffer:

Public Member Functions

 PassiveBuffer ()
 
virtual ~PassiveBuffer ()
 
bool AllEqual (PassiveBuffEntry &entry)
 Check if all the entries in passive buffer entry is all equal or not. More...
 
bool Dequeue (Ipv4Address dst, PassiveBuffEntry &entry)
 Return first found (the earliest) entry for given destination. More...
 
bool Enqueue (PassiveBuffEntry &entry)
 Push entry in queue, if there is no entry with the same packet and destination address in queue. More...
 
bool Find (Ipv4Address dst)
 Finds whether a packet with destination dst exists in the queue. More...
 
uint32_t GetSize ()
 Number of entries. More...
 
Fields
uint32_t GetMaxQueueLen () const
 
void SetMaxQueueLen (uint32_t len)
 
Time GetPassiveBufferTimeout () const
 
void SetPassiveBufferTimeout (Time t)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. 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
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId ()
 
- 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...
 

Private Member Functions

void Drop (PassiveBuffEntry en, std::string reason)
 Notify that packet is dropped from queue by timeout. More...
 
void DropLink (PassiveBuffEntry en, std::string reason)
 Notify that packet is dropped from queue by timeout. More...
 
void Purge ()
 Remove all expired entries. More...
 

Static Private Member Functions

static bool LinkEqual (PassiveBuffEntry en, const std::vector< Ipv4Address > link)
 Check if the send buffer entry is the same or not. More...
 

Private Attributes

uint32_t m_maxLen
 The maximum number of packets that we allow a routing protocol to buffer. More...
 
std::vector< PassiveBuffEntrym_passiveBuffer
 The send buffer to cache unsent packet. More...
 
Time m_passiveBufferTimeout
 The maximum period of time that a routing protocol is allowed to buffer a packet for, seconds. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

DSR passive buffer.

Doxygen introspection did not find any typical Config paths.


No Attributes are defined for this type.
No TraceSources are defined for this type.

Definition at line 182 of file dsr-passive-buff.h.

Constructor & Destructor Documentation

ns3::dsr::PassiveBuffer::PassiveBuffer ( )

Definition at line 55 of file dsr-passive-buff.cc.

ns3::dsr::PassiveBuffer::~PassiveBuffer ( )
virtual

Definition at line 59 of file dsr-passive-buff.cc.

Member Function Documentation

bool ns3::dsr::PassiveBuffer::Dequeue ( Ipv4Address  dst,
PassiveBuffEntry entry 
)

Return first found (the earliest) entry for given destination.

Definition at line 127 of file dsr-passive-buff.cc.

References ns3::dsr::PassiveBuffEntry::GetPacket(), ns3::Packet::GetSize(), m_passiveBuffer, NS_LOG_DEBUG, and Purge().

+ Here is the call graph for this function:

void ns3::dsr::PassiveBuffer::Drop ( PassiveBuffEntry  en,
std::string  reason 
)
private

Notify that packet is dropped from queue by timeout.

Definition at line 196 of file dsr-passive-buff.cc.

References ns3::dsr::PassiveBuffEntry::GetDestination(), ns3::dsr::PassiveBuffEntry::GetPacket(), ns3::Packet::GetUid(), and NS_LOG_LOGIC.

Referenced by Enqueue(), and Purge().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::PassiveBuffer::DropLink ( PassiveBuffEntry  en,
std::string  reason 
)
private

Notify that packet is dropped from queue by timeout.

Definition at line 205 of file dsr-passive-buff.cc.

References ns3::dsr::PassiveBuffEntry::GetNextHop(), ns3::dsr::PassiveBuffEntry::GetPacket(), ns3::dsr::PassiveBuffEntry::GetSource(), ns3::Packet::GetUid(), and NS_LOG_LOGIC.

+ Here is the call graph for this function:

bool ns3::dsr::PassiveBuffer::Find ( Ipv4Address  dst)

Finds whether a packet with destination dst exists in the queue.

Definition at line 147 of file dsr-passive-buff.cc.

References m_passiveBuffer, and NS_LOG_DEBUG.

uint32_t ns3::dsr::PassiveBuffer::GetMaxQueueLen ( ) const
inline

Definition at line 203 of file dsr-passive-buff.h.

References m_maxLen.

Time ns3::dsr::PassiveBuffer::GetPassiveBufferTimeout ( ) const
inline

Definition at line 211 of file dsr-passive-buff.h.

References m_passiveBufferTimeout.

uint32_t ns3::dsr::PassiveBuffer::GetSize ( )

Number of entries.

Definition at line 64 of file dsr-passive-buff.cc.

References m_passiveBuffer, and Purge().

+ Here is the call graph for this function:

TypeId ns3::dsr::PassiveBuffer::GetTypeId ( void  )
static

Definition at line 46 of file dsr-passive-buff.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

static bool ns3::dsr::PassiveBuffer::LinkEqual ( PassiveBuffEntry  en,
const std::vector< Ipv4Address link 
)
inlinestaticprivate

Check if the send buffer entry is the same or not.

Definition at line 235 of file dsr-passive-buff.h.

References ns3::dsr::PassiveBuffEntry::GetNextHop(), and ns3::dsr::PassiveBuffEntry::GetSource().

+ Here is the call graph for this function:

void ns3::dsr::PassiveBuffer::Purge ( )
private

Remove all expired entries.

Definition at line 175 of file dsr-passive-buff.cc.

References Drop(), m_passiveBuffer, and NS_LOG_DEBUG.

Referenced by Dequeue(), Enqueue(), and GetSize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::PassiveBuffer::SetMaxQueueLen ( uint32_t  len)
inline

Definition at line 207 of file dsr-passive-buff.h.

References m_maxLen.

void ns3::dsr::PassiveBuffer::SetPassiveBufferTimeout ( Time  t)
inline

Definition at line 215 of file dsr-passive-buff.h.

References m_passiveBufferTimeout.

Member Data Documentation

uint32_t ns3::dsr::PassiveBuffer::m_maxLen
private

The maximum number of packets that we allow a routing protocol to buffer.

Definition at line 231 of file dsr-passive-buff.h.

Referenced by Enqueue(), GetMaxQueueLen(), and SetMaxQueueLen().

std::vector<PassiveBuffEntry> ns3::dsr::PassiveBuffer::m_passiveBuffer
private

The send buffer to cache unsent packet.

Definition at line 223 of file dsr-passive-buff.h.

Referenced by AllEqual(), Dequeue(), Enqueue(), Find(), GetSize(), and Purge().

Time ns3::dsr::PassiveBuffer::m_passiveBufferTimeout
private

The maximum period of time that a routing protocol is allowed to buffer a packet for, seconds.

Definition at line 233 of file dsr-passive-buff.h.

Referenced by Enqueue(), GetPassiveBufferTimeout(), and SetPassiveBufferTimeout().


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