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

A record that that holds information about an ArpCache entry. More...

#include <arp-cache.h>

+ Collaboration diagram for ns3::ArpCache::Entry:

Public Member Functions

 Entry (ArpCache *arp)
 Constructor.
void ClearRetries (void)
 Zero the counter of number of retries for an entry.
Ptr< PacketDequeuePending (void)
Ipv4Address GetIpv4Address (void) const
Address GetMacAddress (void) const
uint32_t GetRetries (void) const
void IncrementRetries (void)
 Increment the counter of number of retries for an entry.
bool IsAlive (void)
bool IsDead (void)
bool IsExpired (void) const
bool IsWaitReply (void)
void MarkAlive (Address macAddress)
void MarkDead (void)
 Changes the state of this entry to dead.
void MarkWaitReply (Ptr< Packet > waiting)
void SetIpv4Address (Ipv4Address destination)
bool UpdateWaitReply (Ptr< Packet > waiting)

Private Types

enum  ArpCacheEntryState_e { ALIVE, WAIT_REPLY, DEAD }

Private Member Functions

Time GetTimeout (void) const
void UpdateSeen (void)

Private Attributes

ArpCachem_arp
Ipv4Address m_ipv4Address
Time m_lastSeen
Address m_macAddress
std::list< Ptr< Packet > > m_pending
uint32_t m_retries
ArpCacheEntryState_e m_state

Detailed Description

A record that that holds information about an ArpCache entry.

Definition at line 116 of file arp-cache.h.

Member Enumeration Documentation

Enumerator:
ALIVE 
WAIT_REPLY 
DEAD 

Definition at line 193 of file arp-cache.h.

Constructor & Destructor Documentation

ns3::ArpCache::Entry::Entry ( ArpCache arp)

Constructor.

Parameters
arpThe ArpCache this entry belongs to

Definition at line 263 of file arp-cache.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::ArpCache::Entry::ClearRetries ( void  )

Zero the counter of number of retries for an entry.

Definition at line 415 of file arp-cache.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout().

+ Here is the caller graph for this function:

Ptr< Packet > ns3::ArpCache::Entry::DequeuePending ( void  )
Returns
0 is no packet is pending, the next packet to send if packets are pending.

Definition at line 382 of file arp-cache.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout(), and ns3::ArpL3Protocol::Receive().

+ Here is the caller graph for this function:

Ipv4Address ns3::ArpCache::Entry::GetIpv4Address ( void  ) const
Returns
The Ipv4Address for this entry

Definition at line 343 of file arp-cache.cc.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout().

+ Here is the caller graph for this function:

Address ns3::ArpCache::Entry::GetMacAddress ( void  ) const
Returns
The MacAddress of this entry

Definition at line 337 of file arp-cache.cc.

References NS_ASSERT.

Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().

+ Here is the caller graph for this function:

uint32_t ns3::ArpCache::Entry::GetRetries ( void  ) const
Returns
number of retries that have been sent for an ArpRequest in WaitReply state.

Definition at line 403 of file arp-cache.cc.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout().

+ Here is the caller graph for this function:

Time ns3::ArpCache::Entry::GetTimeout ( void  ) const
private

Definition at line 354 of file arp-cache.cc.

References ALIVE, DEAD, NS_ASSERT, ns3::Seconds(), and WAIT_REPLY.

+ Here is the call graph for this function:

void ns3::ArpCache::Entry::IncrementRetries ( void  )

Increment the counter of number of retries for an entry.

Definition at line 408 of file arp-cache.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout().

+ Here is the caller graph for this function:

bool ns3::ArpCache::Entry::IsAlive ( void  )
Returns
True if the state of this entry is alive; false otherwise.

Definition at line 278 of file arp-cache.cc.

Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().

+ Here is the caller graph for this function:

bool ns3::ArpCache::Entry::IsDead ( void  )
Returns
True if the state of this entry is dead; false otherwise.

Definition at line 273 of file arp-cache.cc.

Referenced by ns3::ArpL3Protocol::Lookup().

+ Here is the caller graph for this function:

bool ns3::ArpCache::Entry::IsExpired ( void  ) const
Returns
True if this entry has timed out; false otherwise.

This function returns true if the time elapsed strictly exceeds the timeout value (i.e., is not less than or equal to the timeout).

Definition at line 370 of file arp-cache.cc.

References ns3::Time::GetSeconds(), ns3::Now(), NS_LOG_DEBUG, and timeout.

Referenced by ns3::ArpL3Protocol::Lookup(), ns3::aodv::Neighbors::LookupMacAddress(), and ns3::dsr::RouteCache::LookupMacAddress().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::ArpCache::Entry::IsWaitReply ( void  )
Returns
True if the state of this entry is wait_reply; false otherwise.

Definition at line 283 of file arp-cache.cc.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout(), ns3::ArpL3Protocol::Lookup(), and ns3::ArpL3Protocol::Receive().

+ Here is the caller graph for this function:

void ns3::ArpCache::Entry::MarkAlive ( Address  macAddress)
Parameters
macAddress

Definition at line 298 of file arp-cache.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by ns3::EpcS1uUlTestCase::DoRun(), and ns3::ArpL3Protocol::Receive().

+ Here is the caller graph for this function:

void ns3::ArpCache::Entry::MarkDead ( void  )

Changes the state of this entry to dead.

Definition at line 290 of file arp-cache.cc.

References NS_LOG_FUNCTION.

Referenced by ns3::ArpCache::HandleWaitReplyTimeout().

+ Here is the caller graph for this function:

void ns3::ArpCache::Entry::MarkWaitReply ( Ptr< Packet waiting)
Parameters
waiting

Definition at line 325 of file arp-cache.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by ns3::EpcS1uUlTestCase::DoRun(), and ns3::ArpL3Protocol::Lookup().

+ Here is the caller graph for this function:

void ns3::ArpCache::Entry::SetIpv4Address ( Ipv4Address  destination)
Parameters
destinationThe Ipv4Address for this entry

Definition at line 348 of file arp-cache.cc.

References NS_LOG_FUNCTION.

void ns3::ArpCache::Entry::UpdateSeen ( void  )
private

Definition at line 397 of file arp-cache.cc.

References ns3::Now(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

bool ns3::ArpCache::Entry::UpdateWaitReply ( Ptr< Packet waiting)
Parameters
waiting
Returns

Definition at line 309 of file arp-cache.cc.

References NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by ns3::ArpL3Protocol::Lookup().

+ Here is the caller graph for this function:

Member Data Documentation

ArpCache* ns3::ArpCache::Entry::m_arp
private

Definition at line 201 of file arp-cache.h.

Ipv4Address ns3::ArpCache::Entry::m_ipv4Address
private

Definition at line 205 of file arp-cache.h.

Time ns3::ArpCache::Entry::m_lastSeen
private

Definition at line 203 of file arp-cache.h.

Address ns3::ArpCache::Entry::m_macAddress
private

Definition at line 204 of file arp-cache.h.

std::list<Ptr<Packet> > ns3::ArpCache::Entry::m_pending
private

Definition at line 206 of file arp-cache.h.

uint32_t ns3::ArpCache::Entry::m_retries
private

Definition at line 207 of file arp-cache.h.

ArpCacheEntryState_e ns3::ArpCache::Entry::m_state
private

Definition at line 202 of file arp-cache.h.


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