Public Member Functions

ns3::NdiscCache::Entry Class Reference

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

#include <ndisc-cache.h>

Collaboration diagram for ns3::NdiscCache::Entry:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Entry (NdiscCache *nd)
 Constructor.
void MarkIncomplete (Ptr< Packet > p)
 Changes the state to this entry to INCOMPLETE.
std::list< Ptr< Packet > > MarkReachable (Address mac)
 Changes the state to this entry to REACHABLE.
void MarkProbe ()
 Changes the state to this entry to PROBE.
std::list< Ptr< Packet > > MarkStale (Address mac)
 Changes the state to this entry to STALE.
void MarkStale ()
 Changes the state to this entry to STALE.
void MarkReachable ()
 Changes the state to this entry to REACHABLE.
void MarkDelay ()
 Change the state to this entry to DELAY.
void AddWaitingPacket (Ptr< Packet > p)
 Add a packet (or replace old value) in the queue.
void ClearWaitingPacket ()
 Clear the waiting packet list.
bool IsStale () const
 Is the entry STALE.
bool IsReachable () const
 Is the entry REACHABLE.
bool IsDelay () const
 Is the entry DELAY.
bool IsIncomplete () const
 Is the entry INCOMPLETE.
bool IsProbe () const
 Is the entry PROBE.
Address GetMacAddress () const
 Get the MAC address of this entry.
void SetMacAddress (Address mac)
 Set the MAC address of this entry.
bool IsRouter () const
 If the entry is a host or a router.
void SetRouter (bool router)
 Set the node type.
uint8_t GetNSRetransmit () const
 Get the number of NS retransmit.
void IncNSRetransmit ()
 Increment NS retransmit.
void ResetNSRetransmit ()
 Reset NS retransmit (=0).
Time GetLastReachabilityConfirmation () const
 Get the time of last reachability confirmation.
void UpdateLastReachabilityconfirmation ()
 Update the time of last reachability confirmation.
void StartReachableTimer ()
 Start the reachable timer.
void StopReachableTimer ()
 Stop the reachable timer.
void StartRetransmitTimer ()
 Start retransmit timer.
void StopRetransmitTimer ()
 Stop retransmit timer.
void StartProbeTimer ()
 Start probe timer.
void StopProbeTimer ()
 Stop probe timer.
void StartDelayTimer ()
 Start delay timer.
void StopDelayTimer ()
 Stop delay timer.
void FunctionReachableTimeout ()
 Function called when reachable timer timeout.
void FunctionRetransmitTimeout ()
 Function called when retransmit timer timeout. It verify that the NS retransmit has reached the max so discard the entry otherwise it retransmit a NS.
void FunctionProbeTimeout ()
 Function called when probe timer timeout.
void FunctionDelayTimeout ()
 Function called when delay timer timeout.
void SetIpv6Address (Ipv6Address ipv6Address)
 Set the IPv6 address.

Detailed Description

A record that holds information about an NdiscCache entry.


Constructor & Destructor Documentation

ns3::NdiscCache::Entry::Entry ( NdiscCache nd  ) 

Constructor.

Parameters:
nd The NdiscCache this entry belongs to.

Member Function Documentation

void ns3::NdiscCache::Entry::AddWaitingPacket ( Ptr< Packet p  ) 

Add a packet (or replace old value) in the queue.

Parameters:
p packet to add
Time ns3::NdiscCache::Entry::GetLastReachabilityConfirmation (  )  const

Get the time of last reachability confirmation.

Returns:
time
Address ns3::NdiscCache::Entry::GetMacAddress (  )  const

Get the MAC address of this entry.

Returns:
the L2 address
uint8_t ns3::NdiscCache::Entry::GetNSRetransmit (  )  const

Get the number of NS retransmit.

Returns:
number of NS that have been retransmit
bool ns3::NdiscCache::Entry::IsDelay (  )  const

Is the entry DELAY.

Returns:
true if the entry is in DELAY state, false otherwise
bool ns3::NdiscCache::Entry::IsIncomplete (  )  const

Is the entry INCOMPLETE.

Returns:
true if the entry is in INCOMPLETE state, false otherwise
bool ns3::NdiscCache::Entry::IsProbe (  )  const

Is the entry PROBE.

Returns:
true if the entry is in PROBE state, false otherwise
bool ns3::NdiscCache::Entry::IsReachable (  )  const

Is the entry REACHABLE.

Returns:
true if the entry is in REACHABLE state, false otherwise
bool ns3::NdiscCache::Entry::IsRouter (  )  const

If the entry is a host or a router.

Returns:
true if the node is a router, 0 if it is a host
bool ns3::NdiscCache::Entry::IsStale (  )  const

Is the entry STALE.

Returns:
true if the entry is in STALE state, false otherwise
void ns3::NdiscCache::Entry::MarkIncomplete ( Ptr< Packet p  ) 

Changes the state to this entry to INCOMPLETE.

Parameters:
p packet that wait to be sent
std::list<Ptr<Packet> > ns3::NdiscCache::Entry::MarkReachable ( Address  mac  ) 

Changes the state to this entry to REACHABLE.

Parameters:
mac MAC address
Returns:
the list of packet waiting
std::list<Ptr<Packet> > ns3::NdiscCache::Entry::MarkStale ( Address  mac  ) 

Changes the state to this entry to STALE.

Parameters:
mac L2 address
Returns:
the list of packet waiting
void ns3::NdiscCache::Entry::SetIpv6Address ( Ipv6Address  ipv6Address  ) 

Set the IPv6 address.

Parameters:
ipv6Address IPv6 address
void ns3::NdiscCache::Entry::SetMacAddress ( Address  mac  ) 

Set the MAC address of this entry.

Parameters:
mac the MAC address to set
void ns3::NdiscCache::Entry::SetRouter ( bool  router  ) 

Set the node type.

Parameters:
router true is a router, false means a host

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