A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::aodv::DuplicatePacketDetection Class Reference

Helper class used to remember already seen packets and detect duplicates. More...

#include "aodv-dpd.h"

+ Collaboration diagram for ns3::aodv::DuplicatePacketDetection:

Public Member Functions

 DuplicatePacketDetection (Time lifetime)
 Constructor.
 
Time GetLifetime () const
 Get duplicate record lifetime.
 
bool IsDuplicate (Ptr< const Packet > p, const Ipv4Header &header)
 Check if the packet is a duplicate.
 
void SetLifetime (Time lifetime)
 Set duplicate record lifetime.
 

Private Attributes

IdCache m_idCache
 Impl.
 

Detailed Description

Helper class used to remember already seen packets and detect duplicates.

Currently duplicate detection is based on unique packet ID given by Packet::GetUid () This approach is known to be weak (ns3::Packet UID is an internal identifier and not intended for logical uniqueness in models) and should be changed.

Definition at line 33 of file aodv-dpd.h.

Constructor & Destructor Documentation

◆ DuplicatePacketDetection()

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

Constructor.

Parameters
lifetimethe lifetime for added entries

Definition at line 40 of file aodv-dpd.h.

Member Function Documentation

◆ GetLifetime()

Time ns3::aodv::DuplicatePacketDetection::GetLifetime ( ) const

Get duplicate record lifetime.

Returns
the duplicate record lifetime

Definition at line 31 of file aodv-dpd.cc.

References ns3::aodv::IdCache::GetLifeTime(), and m_idCache.

+ Here is the call graph for this function:

◆ IsDuplicate()

bool ns3::aodv::DuplicatePacketDetection::IsDuplicate ( Ptr< const Packet > p,
const Ipv4Header & header )

Check if the packet is a duplicate.

If not, save information about this packet.

Parameters
pthe packet to check
headerthe IP header to check
Returns
true if duplicate

Definition at line 19 of file aodv-dpd.cc.

References ns3::Ipv4Header::GetSource(), ns3::aodv::IdCache::IsDuplicate(), and m_idCache.

Referenced by ns3::aodv::RoutingProtocol::RouteInput().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetLifetime()

void ns3::aodv::DuplicatePacketDetection::SetLifetime ( Time lifetime)

Set duplicate record lifetime.

Parameters
lifetimethe lifetime for duplicate records

Definition at line 25 of file aodv-dpd.cc.

References m_idCache, and ns3::aodv::IdCache::SetLifetime().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_idCache

IdCache ns3::aodv::DuplicatePacketDetection::m_idCache
private

Impl.

Definition at line 65 of file aodv-dpd.h.

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


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