A record that holds information about an NdiscCache entry. More...
#include <ndisc-cache.h>
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. | |
Private Types | |
enum | NdiscCacheEntryState_e { INCOMPLETE, REACHABLE, STALE, DELAY, PROBE } |
The Entry state enumeration. More... | |
Private Attributes | |
Ipv6Address | m_ipv6Address |
The IPv6 address. | |
NdiscCacheEntryState_e | m_state |
The state of the entry. | |
NdiscCache * | m_ndCache |
the NdiscCache associated. | |
Address | m_macAddress |
The MAC address. | |
std::list< Ptr< Packet > > | m_waiting |
The list of packet waiting. | |
bool | m_router |
Type of node (router or host). | |
Timer | m_reachableTimer |
Reachable timer (used for NUD in REACHABLE state). | |
Timer | m_retransTimer |
Retransmission timer (used for NUD in INCOMPLETE state). | |
Timer | m_probeTimer |
Probe timer (used for NUD in PROBE state). | |
Timer | m_delayTimer |
Delay timer (used for NUD when in DELAY state). | |
Time | m_lastReachabilityConfirmation |
Last time we see a reachability confirmation. | |
uint8_t | m_nsRetransmit |
Number of NS retransmission. |
A record that holds information about an NdiscCache entry.
enum ns3::NdiscCache::Entry::NdiscCacheEntryState_e [private] |
The Entry state enumeration.
ns3::NdiscCache::Entry::Entry | ( | NdiscCache * | nd | ) |
Constructor.
nd | The NdiscCache this entry belongs to. |
Add a packet (or replace old value) in the queue.
p | packet to add |
Time ns3::NdiscCache::Entry::GetLastReachabilityConfirmation | ( | ) | const |
Get the time of last reachability confirmation.
Address ns3::NdiscCache::Entry::GetMacAddress | ( | ) | const |
Get the MAC address of this entry.
uint8_t ns3::NdiscCache::Entry::GetNSRetransmit | ( | ) | const |
Get the number of NS retransmit.
bool ns3::NdiscCache::Entry::IsDelay | ( | ) | const |
Is the entry DELAY.
bool ns3::NdiscCache::Entry::IsIncomplete | ( | ) | const |
Is the entry INCOMPLETE.
bool ns3::NdiscCache::Entry::IsProbe | ( | ) | const |
Is the entry PROBE.
bool ns3::NdiscCache::Entry::IsReachable | ( | ) | const |
Is the entry REACHABLE.
bool ns3::NdiscCache::Entry::IsRouter | ( | ) | const |
If the entry is a host or a router.
bool ns3::NdiscCache::Entry::IsStale | ( | ) | const |
Is the entry STALE.
Changes the state to this entry to INCOMPLETE.
p | packet that wait to be sent |
Changes the state to this entry to REACHABLE.
mac | MAC address |
Changes the state to this entry to STALE.
mac | L2 address |
void ns3::NdiscCache::Entry::SetIpv6Address | ( | Ipv6Address | ipv6Address | ) |
Set the IPv6 address.
ipv6Address | IPv6 address |
void ns3::NdiscCache::Entry::SetMacAddress | ( | Address | mac | ) |
Set the MAC address of this entry.
mac | the MAC address to set |
void ns3::NdiscCache::Entry::SetRouter | ( | bool | router | ) |
Set the node type.
router | true is a router, false means a host |