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

DSR maintain buffer. More...

#include <dsr-maintain-buff.h>

+ Collaboration diagram for ns3::dsr::MaintainBuffer:

Public Member Functions

 MaintainBuffer ()
 
bool Dequeue (Ipv4Address dst, MaintainBuffEntry &entry)
 
void DropPacketWithNextHop (Ipv4Address nextHop)
 
bool Enqueue (MaintainBuffEntry &entry)
 
bool Find (Ipv4Address nextHop)
 
uint32_t GetSize ()
 
uint32_t GetMaxQueueLen () const
 
void SetMaxQueueLen (uint32_t len)
 
Time GetMaintainBufferTimeout () const
 
void SetMaintainBufferTimeout (Time t)
 
bool AllEqual (MaintainBuffEntry &entry)
 
bool LinkEqual (MaintainBuffEntry &entry)
 
bool NetworkEqual (MaintainBuffEntry &entry)
 
bool PromiscEqual (MaintainBuffEntry &entry)
 

Private Member Functions

void Purge ()
 

Static Private Member Functions

static bool IsEqual (MaintainBuffEntry en, const Ipv4Address nextHop)
 

Private Attributes

std::vector< NetworkKeym_allNetworkKey
 
std::vector< MaintainBuffEntrym_maintainBuffer
 
Time m_maintainBufferTimeout
 
uint32_t m_maxLen
 

Detailed Description

DSR maintain buffer.

Definition at line 217 of file dsr-maintain-buff.h.

Constructor & Destructor Documentation

ns3::dsr::MaintainBuffer::MaintainBuffer ( )
inline

Definition at line 221 of file dsr-maintain-buff.h.

Member Function Documentation

bool ns3::dsr::MaintainBuffer::Dequeue ( Ipv4Address  dst,
MaintainBuffEntry entry 
)

Definition at line 92 of file dsr-maintain-buff.cc.

References ns3::dsr::MaintainBuffEntry::GetPacket(), ns3::Packet::GetSize(), m_maintainBuffer, NS_LOG_DEBUG, and Purge().

Referenced by ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), and ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::MaintainBuffer::DropPacketWithNextHop ( Ipv4Address  nextHop)

Definition at line 82 of file dsr-maintain-buff.cc.

References IsEqual(), m_maintainBuffer, NS_LOG_FUNCTION, NS_LOG_INFO, and Purge().

+ Here is the call graph for this function:

bool ns3::dsr::MaintainBuffer::Find ( Ipv4Address  nextHop)

Definition at line 109 of file dsr-maintain-buff.cc.

References m_maintainBuffer, and NS_LOG_DEBUG.

Referenced by ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), and ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop().

+ Here is the caller graph for this function:

Time ns3::dsr::MaintainBuffer::GetMaintainBufferTimeout ( ) const
inline

Definition at line 244 of file dsr-maintain-buff.h.

References m_maintainBufferTimeout.

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

Definition at line 236 of file dsr-maintain-buff.h.

References m_maxLen.

uint32_t ns3::dsr::MaintainBuffer::GetSize ( )

Definition at line 45 of file dsr-maintain-buff.cc.

References m_maintainBuffer, and Purge().

Referenced by ns3::dsr::DsrRouting::CancelLinkPacketTimer(), ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), and ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool ns3::dsr::MaintainBuffer::IsEqual ( MaintainBuffEntry  en,
const Ipv4Address  nextHop 
)
inlinestaticprivate

Definition at line 273 of file dsr-maintain-buff.h.

References ns3::dsr::MaintainBuffEntry::GetNextHop().

Referenced by DropPacketWithNextHop().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::dsr::MaintainBuffer::LinkEqual ( MaintainBuffEntry entry)
bool ns3::dsr::MaintainBuffer::NetworkEqual ( MaintainBuffEntry entry)
bool ns3::dsr::MaintainBuffer::PromiscEqual ( MaintainBuffEntry entry)
void ns3::dsr::MaintainBuffer::Purge ( )
private

Definition at line 222 of file dsr-maintain-buff.cc.

References m_maintainBuffer, and NS_LOG_DEBUG.

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

+ Here is the caller graph for this function:

void ns3::dsr::MaintainBuffer::SetMaintainBufferTimeout ( Time  t)
inline

Definition at line 248 of file dsr-maintain-buff.h.

References m_maintainBufferTimeout.

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

+ Here is the caller graph for this function:

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

Definition at line 240 of file dsr-maintain-buff.h.

References m_maxLen.

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

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<NetworkKey> ns3::dsr::MaintainBuffer::m_allNetworkKey
private

Definition at line 265 of file dsr-maintain-buff.h.

std::vector<MaintainBuffEntry> ns3::dsr::MaintainBuffer::m_maintainBuffer
private
Time ns3::dsr::MaintainBuffer::m_maintainBufferTimeout
private
uint32_t ns3::dsr::MaintainBuffer::m_maxLen
private

Definition at line 269 of file dsr-maintain-buff.h.

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


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