Represent the Pending Address Specification field. More...
#include "lr-wpan-fields.h"
Public Member Functions | |
PendingAddrFields () | |
void | AddAddress (Mac16Address shortAddr) |
Add a short Pending Address to the Address List. | |
void | AddAddress (Mac64Address extAddr) |
Add a extended Pending Address to the Address List. | |
Buffer::Iterator | Deserialize (Buffer::Iterator i) |
Deserialize the all the Pending Address Fields. | |
uint8_t | GetNumExtAddr () const |
Get the number of Extended Pending Address indicated in the Pending Address Specification Field. | |
uint8_t | GetNumShortAddr () const |
Get the number of Short Pending Address indicated in the Pending Address Specification Field. | |
uint8_t | GetPndAddrSpecField () const |
Get the whole Pending Address Specification Field from the Pending Address Fields. | |
uint32_t | GetSerializedSize () const |
Get the size of the serialized Pending Address Fields. | |
bool | SearchAddress (Mac16Address shortAddr) |
Search for the short Pending Address in the Address List. | |
bool | SearchAddress (Mac64Address extAddr) |
Search for the extended Pending Address in the Address List. | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize the entire Pending Address Fields. | |
void | SetPndAddrSpecField (uint8_t pndAddrSpecField) |
Set the whole Pending Address Specification field. | |
Private Attributes | |
std::array< Mac64Address, 7 > | m_extAddrList |
Pending Extended Address List. | |
uint8_t | m_pndAddrSpecNumExtAddr |
Pending Address Specification field Number of Extended Address (Bits 4-6) Pending Address Specification field Reserved (Not Necessary) (Bit 7) | |
uint8_t | m_pndAddrSpecNumShortAddr |
Pending Address Specification field Number of Short Address (Bits 0-2) Pending Address Specification field Reserved (Not Necessary)(Bit 3) | |
std::array< Mac16Address, 7 > | m_shortAddrList |
Pending Short Address List. | |
Represent the Pending Address Specification field.
See IEEE 802.15.4-2011 Section 5.2.2.1.6. Figure 45
Definition at line 240 of file lr-wpan-fields.h.
ns3::lrwpan::PendingAddrFields::PendingAddrFields | ( | ) |
Definition at line 298 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr, and m_pndAddrSpecNumShortAddr.
void ns3::lrwpan::PendingAddrFields::AddAddress | ( | Mac16Address | shortAddr | ) |
Add a short Pending Address to the Address List.
shortAddr | The extended Pending Address List. |
Definition at line 330 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr, m_pndAddrSpecNumShortAddr, and m_shortAddrList.
void ns3::lrwpan::PendingAddrFields::AddAddress | ( | Mac64Address | extAddr | ) |
Add a extended Pending Address to the Address List.
extAddr | The extended Pending Address List. |
Definition at line 346 of file lr-wpan-fields.cc.
References m_extAddrList, m_pndAddrSpecNumExtAddr, and m_pndAddrSpecNumShortAddr.
Buffer::Iterator ns3::lrwpan::PendingAddrFields::Deserialize | ( | Buffer::Iterator | i | ) |
Deserialize the all the Pending Address Fields.
i | an iterator which points to where the Pending Address Fields should be read. |
Definition at line 429 of file lr-wpan-fields.cc.
References m_extAddrList, m_pndAddrSpecNumExtAddr, m_pndAddrSpecNumShortAddr, m_shortAddrList, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadU8(), and SetPndAddrSpecField().
Referenced by ns3::lrwpan::BeaconPayloadHeader::Deserialize().
uint8_t ns3::lrwpan::PendingAddrFields::GetNumExtAddr | ( | ) | const |
Get the number of Extended Pending Address indicated in the Pending Address Specification Field.
Definition at line 311 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr.
Referenced by ns3::lrwpan::operator<<().
uint8_t ns3::lrwpan::PendingAddrFields::GetNumShortAddr | ( | ) | const |
Get the number of Short Pending Address indicated in the Pending Address Specification Field.
Definition at line 305 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumShortAddr.
Referenced by ns3::lrwpan::operator<<().
uint8_t ns3::lrwpan::PendingAddrFields::GetPndAddrSpecField | ( | ) | const |
Get the whole Pending Address Specification Field from the Pending Address Fields.
Definition at line 317 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr, and m_pndAddrSpecNumShortAddr.
Referenced by ns3::lrwpan::BeaconPayloadHeader::Print(), and Serialize().
uint32_t ns3::lrwpan::PendingAddrFields::GetSerializedSize | ( | ) | const |
Get the size of the serialized Pending Address Fields.
Definition at line 399 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr, and m_pndAddrSpecNumShortAddr.
Referenced by ns3::lrwpan::BeaconPayloadHeader::GetSerializedSize().
bool ns3::lrwpan::PendingAddrFields::SearchAddress | ( | Mac16Address | shortAddr | ) |
Search for the short Pending Address in the Address List.
Definition at line 362 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumShortAddr, and m_shortAddrList.
bool ns3::lrwpan::PendingAddrFields::SearchAddress | ( | Mac64Address | extAddr | ) |
Search for the extended Pending Address in the Address List.
Definition at line 376 of file lr-wpan-fields.cc.
References m_extAddrList, and m_pndAddrSpecNumExtAddr.
Buffer::Iterator ns3::lrwpan::PendingAddrFields::Serialize | ( | Buffer::Iterator | i | ) | const |
Serialize the entire Pending Address Fields.
i | an iterator which points to where the Pending Address Fields should be written. |
Definition at line 411 of file lr-wpan-fields.cc.
References GetPndAddrSpecField(), m_extAddrList, m_pndAddrSpecNumExtAddr, m_pndAddrSpecNumShortAddr, m_shortAddrList, ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::lrwpan::BeaconPayloadHeader::Serialize().
void ns3::lrwpan::PendingAddrFields::SetPndAddrSpecField | ( | uint8_t | pndAddrSpecField | ) |
Set the whole Pending Address Specification field.
This field is part of the Pending Address Fields header.
pndAddrSpecField | The Pending Address Specification Field |
Definition at line 390 of file lr-wpan-fields.cc.
References m_pndAddrSpecNumExtAddr, and m_pndAddrSpecNumShortAddr.
Referenced by Deserialize().
|
private |
Pending Extended Address List.
Definition at line 317 of file lr-wpan-fields.h.
Referenced by AddAddress(), Deserialize(), SearchAddress(), and Serialize().
|
private |
Pending Address Specification field Number of Extended Address (Bits 4-6) Pending Address Specification field Reserved (Not Necessary) (Bit 7)
Definition at line 312 of file lr-wpan-fields.h.
Referenced by PendingAddrFields(), AddAddress(), AddAddress(), Deserialize(), GetNumExtAddr(), GetPndAddrSpecField(), GetSerializedSize(), SearchAddress(), Serialize(), and SetPndAddrSpecField().
|
private |
Pending Address Specification field Number of Short Address (Bits 0-2) Pending Address Specification field Reserved (Not Necessary)(Bit 3)
Definition at line 309 of file lr-wpan-fields.h.
Referenced by PendingAddrFields(), AddAddress(), AddAddress(), Deserialize(), GetNumShortAddr(), GetPndAddrSpecField(), GetSerializedSize(), SearchAddress(), Serialize(), and SetPndAddrSpecField().
|
private |
Pending Short Address List.
Definition at line 316 of file lr-wpan-fields.h.
Referenced by AddAddress(), Deserialize(), SearchAddress(), and Serialize().