32 #ifndef DSR_RREQ_TABLE_H
33 #define DSR_RREQ_TABLE_H
35 #include "ns3/simulator.h"
36 #include "ns3/timer.h"
37 #include "ns3/ipv4-address.h"
38 #include "ns3/callback.h"
std::list< ReceivedRreqEntry > m_sourceRequests
Ipv4Address m_neighborAddress
keep track of time values and allow control of global simulation resolution
uint32_t GetRreqCnt(Ipv4Address dst)
std::map< Ipv4Address, std::list< ReceivedRreqEntry > > m_sourceRreqMap
std::map< Ipv4Address, RreqTableEntry > m_rreqDstMap
void SetRreqTableSize(uint32_t rt)
void SetIdentification(uint16_t i)
uint16_t m_identification
void SetRreqIdSize(uint32_t id)
uint32_t m_requestTableSize
void RemoveLeastExpire(std::map< Ipv4Address, RreqTableEntry > &rreqDstMap)
static TypeId GetTypeId()
Get the type identificator.
void FindAndUpdate(Ipv4Address dst)
Ipv4Address GetDestination() const
std::vector< BlackList > m_blackList
void SetDestination(Ipv4Address d)
uint32_t GetRreqTableSize() const
Ipv4Address m_destination
uint32_t GetUniqueRreqIdSize() const
void SetUniqueRreqIdSize(uint32_t uid)
uint32_t GetInitHopLimit() const
bool MarkLinkAsUnidirectional(Ipv4Address neighbor, Time blacklistTimeout)
Mark entry as unidirectional (e.g. add this neighbor to "blacklist" for blacklistTimeout period) ...
void SetSource(Ipv4Address s)
Time NonpropRequestTimeout
virtual ~RreqTable()
Destructor.
bool operator==(ReceivedRreqEntry const &o) const
Compare send buffer entries.
std::map< Ipv4Address, uint32_t > m_rreqIdCache
void SetInitHopLimit(uint32_t hl)
uint32_t GetRreqIdSize() const
maintain list of RreqTable entry
void RemoveRreqEntry(Ipv4Address dst)
BlackList * FindUnidirectional(Ipv4Address neighbor)
Verify if entry is unidirectional or not(e.g. add this neighbor to "blacklist" for blacklistTimeout p...
uint16_t GetIdentification() const
bool operator()(const struct BlackList &b) const
Ipv4 addresses are stored in host order in this class.
BlackList(Ipv4Address ip, Time t)
bool FindSourceEntry(Ipv4Address src, Ipv4Address dst, uint16_t id)
Time GetExpireTime() const
a base class which provides memory management and object aggregation
void SetExpireTime(Time exp)
a unique identifier for an interface.
uint32_t CheckUniqueRreqId(Ipv4Address dst)
Ipv4Address GetSource() const