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)
bool FindMaintainEntry (Ptr< Packet > packet, Ipv4Address ourAdd, Ipv4Address src, Ipv4Address nextHop, Ipv4Address dst, NetworkKey networkKey)
uint32_t GetSize ()
uint32_t GetMaxQueueLen () const
void SetMaxQueueLen (uint32_t len)
Time GetMaintainBufferTimeout () const
void SetMaintainBufferTimeout (Time t)
bool AllEqual (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 203 of file dsr-maintain-buff.h.

Constructor & Destructor Documentation

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

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

Member Function Documentation

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

Definition at line 93 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 83 of file dsr-maintain-buff.cc.

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

+ Here is the call graph for this function:

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

Definition at line 138 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:

bool ns3::dsr::MaintainBuffer::FindMaintainEntry ( Ptr< Packet packet,
Ipv4Address  ourAdd,
Ipv4Address  src,
Ipv4Address  nextHop,
Ipv4Address  dst,
NetworkKey  networkKey 
)
Time ns3::dsr::MaintainBuffer::GetMaintainBufferTimeout ( ) const
inline

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

References m_maintainBufferTimeout.

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

Definition at line 223 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::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 257 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::NetworkEqual ( MaintainBuffEntry entry)
bool ns3::dsr::MaintainBuffer::PromiscEqual ( MaintainBuffEntry entry)
void ns3::dsr::MaintainBuffer::Purge ( )
private

Definition at line 230 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 235 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 227 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 249 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 253 of file dsr-maintain-buff.h.

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


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