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

DSR error buffer. More...

#include <dsr-errorbuff.h>

+ Collaboration diagram for ns3::dsr::ErrorBuffer:

Public Member Functions

 ErrorBuffer ()
bool Dequeue (Ipv4Address dst, ErrorBuffEntry &entry)
void DropPacketForErrLink (Ipv4Address source, Ipv4Address nextHop)
bool Enqueue (ErrorBuffEntry &entry)
bool Find (Ipv4Address dst)
std::vector< ErrorBuffEntry > & GetBuffer ()
uint32_t GetSize ()
uint32_t GetMaxQueueLen () const
void SetMaxQueueLen (uint32_t len)
Time GetErrorBufferTimeout () const
void SetErrorBufferTimeout (Time t)

Private Member Functions

void Drop (ErrorBuffEntry en, std::string reason)
void DropLink (ErrorBuffEntry en, std::string reason)
void Purge ()

Static Private Member Functions

static bool LinkEqual (ErrorBuffEntry en, const std::vector< Ipv4Address > link)

Private Attributes

std::vector< ErrorBuffEntrym_errorBuffer
Time m_errorBufferTimeout
uint32_t m_maxLen

Detailed Description

DSR error buffer.

Definition at line 138 of file dsr-errorbuff.h.

Constructor & Destructor Documentation

ns3::dsr::ErrorBuffer::ErrorBuffer ( )
inline

Definition at line 142 of file dsr-errorbuff.h.

Member Function Documentation

bool ns3::dsr::ErrorBuffer::Dequeue ( Ipv4Address  dst,
ErrorBuffEntry entry 
)

Definition at line 107 of file dsr-errorbuff.cc.

References ns3::dsr::ErrorBuffEntry::GetPacket(), ns3::Packet::GetSize(), m_errorBuffer, NS_LOG_DEBUG, and Purge().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::ErrorBuffer::Drop ( ErrorBuffEntry  en,
std::string  reason 
)
private

Definition at line 176 of file dsr-errorbuff.cc.

References ns3::dsr::ErrorBuffEntry::GetDestination(), ns3::dsr::ErrorBuffEntry::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::ErrorBuffer::DropLink ( ErrorBuffEntry  en,
std::string  reason 
)
private

Definition at line 185 of file dsr-errorbuff.cc.

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

Referenced by DropPacketForErrLink().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::ErrorBuffer::DropPacketForErrLink ( Ipv4Address  source,
Ipv4Address  nextHop 
)

Definition at line 83 of file dsr-errorbuff.cc.

References DropLink(), LinkEqual(), list, m_errorBuffer, NS_LOG_FUNCTION, and Purge().

Referenced by ns3::dsr::DsrRouting::AddRoute(), and ns3::dsr::DsrRouting::AddRoute_Link().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 127 of file dsr-errorbuff.cc.

References m_errorBuffer, and NS_LOG_DEBUG.

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

+ Here is the caller graph for this function:

std::vector<ErrorBuffEntry>& ns3::dsr::ErrorBuffer::GetBuffer ( )
inline

Definition at line 175 of file dsr-errorbuff.h.

References m_errorBuffer.

Time ns3::dsr::ErrorBuffer::GetErrorBufferTimeout ( ) const
inline

Definition at line 165 of file dsr-errorbuff.h.

References m_errorBufferTimeout.

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

Definition at line 157 of file dsr-errorbuff.h.

References m_maxLen.

uint32_t ns3::dsr::ErrorBuffer::GetSize ( )

Definition at line 45 of file dsr-errorbuff.cc.

References m_errorBuffer, and Purge().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 194 of file dsr-errorbuff.h.

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

Referenced by DropPacketForErrLink().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 155 of file dsr-errorbuff.cc.

References Drop(), m_errorBuffer, and NS_LOG_DEBUG.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::dsr::ErrorBuffer::SetErrorBufferTimeout ( Time  t)
inline

Definition at line 169 of file dsr-errorbuff.h.

References m_errorBufferTimeout.

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

+ Here is the caller graph for this function:

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

Definition at line 161 of file dsr-errorbuff.h.

References m_maxLen.

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

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<ErrorBuffEntry> ns3::dsr::ErrorBuffer::m_errorBuffer
private

Definition at line 182 of file dsr-errorbuff.h.

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

Time ns3::dsr::ErrorBuffer::m_errorBufferTimeout
private

Definition at line 192 of file dsr-errorbuff.h.

Referenced by Enqueue(), GetErrorBufferTimeout(), and SetErrorBufferTimeout().

uint32_t ns3::dsr::ErrorBuffer::m_maxLen
private

Definition at line 190 of file dsr-errorbuff.h.

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


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