A Discrete-Event Network Simulator
API
ns3::aodv::IdCache Class Reference

Unique packets identification cache used for simple duplicate detection. More...

#include "aodv-id-cache.h"

+ Collaboration diagram for ns3::aodv::IdCache:

Classes

struct  IsExpired
 
struct  UniqueId
 Unique packet ID. More...
 

Public Member Functions

 IdCache (Time lifetime)
 c-tor More...
 
Time GetLifeTime () const
 Return lifetime for existing entries in cache. More...
 
uint32_t GetSize ()
 Return number of entries in cache. More...
 
bool IsDuplicate (Ipv4Address addr, uint32_t id)
 Check that entry (addr, id) exists in cache. Add entry, if it doesn't exist. More...
 
void Purge ()
 Remove all expired entries. More...
 
void SetLifetime (Time lifetime)
 Set lifetime for future added entries. More...
 

Private Attributes

std::vector< UniqueIdm_idCache
 Already seen IDs. More...
 
Time m_lifetime
 Default lifetime for ID records. More...
 

Detailed Description

Unique packets identification cache used for simple duplicate detection.

Definition at line 45 of file aodv-id-cache.h.

Constructor & Destructor Documentation

ns3::aodv::IdCache::IdCache ( Time  lifetime)
inline

c-tor

Definition at line 49 of file aodv-id-cache.h.

Member Function Documentation

Time ns3::aodv::IdCache::GetLifeTime ( ) const
inline

Return lifetime for existing entries in cache.

Definition at line 59 of file aodv-id-cache.h.

References m_lifetime.

Referenced by ns3::aodv::IdCacheTest::DoRun(), and ns3::aodv::DuplicatePacketDetection::GetLifetime().

+ Here is the caller graph for this function:

uint32_t ns3::aodv::IdCache::GetSize ( )

Return number of entries in cache.

Definition at line 56 of file aodv-id-cache.cc.

References m_idCache, and Purge().

Referenced by ns3::aodv::IdCacheTest::CheckTimeout1(), ns3::aodv::IdCacheTest::CheckTimeout2(), ns3::aodv::IdCacheTest::CheckTimeout3(), and ns3::aodv::IdCacheTest::DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::aodv::IdCache::IsDuplicate ( Ipv4Address  addr,
uint32_t  id 
)

Check that entry (addr, id) exists in cache. Add entry, if it doesn't exist.

Definition at line 36 of file aodv-id-cache.cc.

References m_idCache, m_lifetime, ns3::Simulator::Now(), and Purge().

Referenced by ns3::aodv::IdCacheTest::DoRun(), ns3::aodv::DuplicatePacketDetection::IsDuplicate(), ns3::aodv::RoutingProtocol::RecvRequest(), and ns3::aodv::RoutingProtocol::SendRequest().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::aodv::IdCache::Purge ( )

Remove all expired entries.

Definition at line 49 of file aodv-id-cache.cc.

References m_idCache.

Referenced by GetSize(), and IsDuplicate().

+ Here is the caller graph for this function:

void ns3::aodv::IdCache::SetLifetime ( Time  lifetime)
inline

Set lifetime for future added entries.

Definition at line 57 of file aodv-id-cache.h.

References m_lifetime.

Referenced by ns3::aodv::IdCacheTest::DoRun(), and ns3::aodv::DuplicatePacketDetection::SetLifetime().

+ Here is the caller graph for this function:

Member Data Documentation

std::vector<UniqueId> ns3::aodv::IdCache::m_idCache
private

Already seen IDs.

Definition at line 79 of file aodv-id-cache.h.

Referenced by GetSize(), IsDuplicate(), and Purge().

Time ns3::aodv::IdCache::m_lifetime
private

Default lifetime for ID records.

Definition at line 81 of file aodv-id-cache.h.

Referenced by GetLifeTime(), IsDuplicate(), and SetLifetime().


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