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

#include <dsr-network-queue.h>

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

Public Member Functions

 DsrNetworkQueue ()
 Default c-tor.
 DsrNetworkQueue (uint32_t maxLen, Time maxDelay)
 ~DsrNetworkQueue ()
bool Dequeue (DsrNetworkQueueEntry &entry)
 Return first found (the earliest) entry for given destination.
bool Enqueue (DsrNetworkQueueEntry &entry)
 Push entry in queue, if there is no entry with the same packet and destination address in queue.
void Flush (void)
Time GetMaxNetworkDelay (void) const
uint32_t GetMaxNetworkSize (void) const
std::vector
< DsrNetworkQueueEntry > & 
GetQueue ()
uint32_t GetSize ()
 Number of entries.
void SetMaxNetworkDelay (Time delay)
void SetMaxNetworkSize (uint32_t maxSize)
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
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 Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
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 (void)
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::Object.
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)

Private Member Functions

void Cleanup (void)

Private Attributes

std::vector< DsrNetworkQueueEntrym_dsrNetworkQueue
Time m_maxDelay
uint32_t m_maxSize
uint32_t m_size

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoDispose (void)
virtual void DoStart (void)
virtual void NotifyNewAggregate (void)

Detailed Description

Definition at line 129 of file dsr-network-queue.h.

Constructor & Destructor Documentation

ns3::dsr::DsrNetworkQueue::DsrNetworkQueue ( )

Default c-tor.

Definition at line 66 of file dsr-network-queue.cc.

References NS_LOG_FUNCTION.

ns3::dsr::DsrNetworkQueue::DsrNetworkQueue ( uint32_t  maxLen,
Time  maxDelay 
)

Definition at line 58 of file dsr-network-queue.cc.

References NS_LOG_FUNCTION.

ns3::dsr::DsrNetworkQueue::~DsrNetworkQueue ( )

Definition at line 71 of file dsr-network-queue.cc.

References Flush(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

Member Function Documentation

void ns3::dsr::DsrNetworkQueue::Cleanup ( void  )
private

Definition at line 136 of file dsr-network-queue.cc.

References m_dsrNetworkQueue, m_maxDelay, m_size, ns3::Now(), and NS_LOG_FUNCTION.

Referenced by Dequeue().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::dsr::DsrNetworkQueue::Dequeue ( DsrNetworkQueueEntry entry)

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

Definition at line 118 of file dsr-network-queue.cc.

References Cleanup(), m_dsrNetworkQueue, m_size, NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by ns3::dsr::DsrRouting::PriorityScheduler().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::dsr::DsrNetworkQueue::Enqueue ( DsrNetworkQueueEntry entry)
void ns3::dsr::DsrNetworkQueue::Flush ( void  )

Definition at line 169 of file dsr-network-queue.cc.

References m_dsrNetworkQueue, m_size, and NS_LOG_FUNCTION.

Referenced by ~DsrNetworkQueue().

+ Here is the caller graph for this function:

Time ns3::dsr::DsrNetworkQueue::GetMaxNetworkDelay ( void  ) const

Definition at line 96 of file dsr-network-queue.cc.

References m_maxDelay.

uint32_t ns3::dsr::DsrNetworkQueue::GetMaxNetworkSize ( void  ) const

Definition at line 90 of file dsr-network-queue.cc.

References m_maxSize.

std::vector<DsrNetworkQueueEntry>& ns3::dsr::DsrNetworkQueue::GetQueue ( void  )
inline

Definition at line 150 of file dsr-network-queue.h.

References m_dsrNetworkQueue.

Referenced by ns3::dsr::DsrRouting::IncreaseRetransTimer().

+ Here is the caller graph for this function:

uint32_t ns3::dsr::DsrNetworkQueue::GetSize ( )

Number of entries.

Definition at line 162 of file dsr-network-queue.cc.

References m_size, and NS_LOG_FUNCTION.

Referenced by ns3::dsr::DsrRouting::PriorityScheduler().

+ Here is the caller graph for this function:

TypeId ns3::dsr::DsrNetworkQueue::GetTypeID ( void  )
static

Definition at line 49 of file dsr-network-queue.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::dsr::DsrNetworkQueue::SetMaxNetworkDelay ( Time  delay)

Definition at line 84 of file dsr-network-queue.cc.

References m_maxDelay.

void ns3::dsr::DsrNetworkQueue::SetMaxNetworkSize ( uint32_t  maxSize)

Definition at line 78 of file dsr-network-queue.cc.

References m_maxSize.

Member Data Documentation

std::vector<DsrNetworkQueueEntry> ns3::dsr::DsrNetworkQueue::m_dsrNetworkQueue
private

Definition at line 157 of file dsr-network-queue.h.

Referenced by Cleanup(), Dequeue(), Enqueue(), Flush(), and GetQueue().

Time ns3::dsr::DsrNetworkQueue::m_maxDelay
private

Definition at line 160 of file dsr-network-queue.h.

Referenced by Cleanup(), GetMaxNetworkDelay(), and SetMaxNetworkDelay().

uint32_t ns3::dsr::DsrNetworkQueue::m_maxSize
private

Definition at line 159 of file dsr-network-queue.h.

Referenced by Enqueue(), GetMaxNetworkSize(), and SetMaxNetworkSize().

uint32_t ns3::dsr::DsrNetworkQueue::m_size
private

Definition at line 158 of file dsr-network-queue.h.

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


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