The network layer Route Discovery Table See Zigbee specification r22.1.0, 3.6.3.2. More...
#include "zigbee-nwk-tables.h"
Public Member Functions | |
RouteDiscoveryTable () | |
Constructor of route discovery table. | |
bool | AddEntry (Ptr< RouteDiscoveryTableEntry > rt) |
Add an entry to the route discovery table, in essence the contents of a RREQ command. | |
void | Delete (uint8_t id, Mac16Address src) |
Delete an entry from the route discovery table. | |
void | Dispose () |
Dispose of the table and all its elements. | |
bool | LookUpEntry (uint8_t id, Mac16Address src, Ptr< RouteDiscoveryTableEntry > &entryFound) |
Look up for a route discovery table entry, the seareched entry must match the id and the src address of the initiator. | |
void | Print (Ptr< OutputStreamWrapper > stream) |
Print the contents of the route discovery table. | |
void | Purge () |
Purge old entries from the route discovery table. | |
Private Attributes | |
uint32_t | m_maxTableSize |
The maximum size of the route discovery table. | |
std::deque< Ptr< RouteDiscoveryTableEntry > > | m_routeDscTable |
The route discovery table object. | |
The network layer Route Discovery Table See Zigbee specification r22.1.0, 3.6.3.2.
Definition at line 1028 of file zigbee-nwk-tables.h.
ns3::zigbee::RouteDiscoveryTable::RouteDiscoveryTable | ( | ) |
Constructor of route discovery table.
Definition at line 586 of file zigbee-nwk-tables.cc.
References m_maxTableSize.
bool ns3::zigbee::RouteDiscoveryTable::AddEntry | ( | Ptr< RouteDiscoveryTableEntry > | rt | ) |
Add an entry to the route discovery table, in essence the contents of a RREQ command.
rt | The route discovery table entry. |
Definition at line 592 of file zigbee-nwk-tables.cc.
References m_maxTableSize, m_routeDscTable, and Purge().
Referenced by ns3::zigbee::ZigbeeNwk::FindNextHop(), and ns3::zigbee::ZigbeeNwk::ProcessManyToOneRoute().
void ns3::zigbee::RouteDiscoveryTable::Delete | ( | uint8_t | id, |
Mac16Address | src ) |
Delete an entry from the route discovery table.
id | The RREQ id of the entry to delete. |
src | The src address of the initiator of the entry to delete. |
Definition at line 634 of file zigbee-nwk-tables.cc.
References m_routeDscTable.
Referenced by ns3::zigbee::ZigbeeNwk::ReceiveRREP().
void ns3::zigbee::RouteDiscoveryTable::Dispose | ( | ) |
Dispose of the table and all its elements.
Definition at line 667 of file zigbee-nwk-tables.cc.
References m_routeDscTable.
Referenced by ns3::zigbee::ZigbeeNwk::DoDispose().
bool ns3::zigbee::RouteDiscoveryTable::LookUpEntry | ( | uint8_t | id, |
Mac16Address | src, | ||
Ptr< RouteDiscoveryTableEntry > & | entryFound ) |
Look up for a route discovery table entry, the seareched entry must match the id and the src address of the initiator.
id | The RREQ id (RREQ command sequence number) |
src | The 16 bit address of the initiator device. |
entryFound | The returned entry if found |
Definition at line 608 of file zigbee-nwk-tables.cc.
References m_routeDscTable, NS_LOG_FUNCTION, and Purge().
Referenced by ns3::zigbee::ZigbeeNwk::FindNextHop(), ns3::zigbee::ZigbeeNwk::ProcessManyToOneRoute(), and ns3::zigbee::ZigbeeNwk::ReceiveRREP().
void ns3::zigbee::RouteDiscoveryTable::Print | ( | Ptr< OutputStreamWrapper > | stream | ) |
Print the contents of the route discovery table.
stream | The stream object used to print the table. |
Definition at line 642 of file zigbee-nwk-tables.cc.
References m_routeDscTable, and Purge().
Referenced by ns3::zigbee::ZigbeeNwk::PrintRouteDiscoveryTable().
void ns3::zigbee::RouteDiscoveryTable::Purge | ( | ) |
Purge old entries from the route discovery table.
Definition at line 626 of file zigbee-nwk-tables.cc.
References m_routeDscTable, and ns3::Simulator::Now().
Referenced by AddEntry(), LookUpEntry(), and Print().
|
private |
The maximum size of the route discovery table.
Definition at line 1081 of file zigbee-nwk-tables.h.
Referenced by RouteDiscoveryTable(), and AddEntry().
|
private |
The route discovery table object.
Definition at line 1082 of file zigbee-nwk-tables.h.
Referenced by AddEntry(), Delete(), Dispose(), LookUpEntry(), Print(), and Purge().