#include "block-ack-cache.h"
Public Member Functions | |
void | FillBlockAckBitmap (CtrlBAckResponseHeader *blockAckHeader) |
uint16_t | GetWinStart (void) |
When an A-MPDU is received, the window start may change to a new value depending on the sequence number of the received MPDU (standard11n page 134). More... | |
void | Init (uint16_t winStart, uint16_t winSize) |
void | UpdateWithBlockAckReq (uint16_t startingSeq) |
void | UpdateWithMpdu (const WifiMacHeader *hdr) |
Private Member Functions | |
bool | IsInWindow (uint16_t seq) |
void | ResetPortionOfBitmap (uint16_t start, uint16_t end) |
Private Attributes | |
uint16_t | m_bitmap [4096] |
uint16_t | m_winEnd |
uint8_t | m_winSize |
uint16_t | m_winStart |
Definition at line 36 of file block-ack-cache.h.
void ns3::BlockAckCache::FillBlockAckBitmap | ( | CtrlBAckResponseHeader * | blockAckHeader | ) |
Definition at line 121 of file block-ack-cache.cc.
References ns3::CtrlBAckResponseHeader::GetStartingSequence(), ns3::CtrlBAckResponseHeader::IsBasic(), ns3::CtrlBAckResponseHeader::IsCompressed(), ns3::CtrlBAckResponseHeader::IsMultiTid(), m_bitmap, m_winSize, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::CtrlBAckResponseHeader::SetReceivedPacket().
uint16_t ns3::BlockAckCache::GetWinStart | ( | void | ) |
When an A-MPDU is received, the window start may change to a new value depending on the sequence number of the received MPDU (standard11n page 134).
This function is used to retrieve this value in order to add it to the BlockAck.
Definition at line 44 of file block-ack-cache.cc.
References m_winStart.
void ns3::BlockAckCache::Init | ( | uint16_t | winStart, |
uint16_t | winSize | ||
) |
Definition at line 34 of file block-ack-cache.cc.
References m_bitmap, m_winEnd, m_winSize, m_winStart, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement().
|
private |
Definition at line 114 of file block-ack-cache.cc.
References m_winSize, m_winStart, and NS_LOG_FUNCTION.
Referenced by UpdateWithBlockAckReq(), and UpdateWithMpdu().
|
private |
Definition at line 102 of file block-ack-cache.cc.
References m_bitmap, NS_LOG_FUNCTION, and visualizer.core::start().
Referenced by UpdateWithBlockAckReq(), and UpdateWithMpdu().
void ns3::BlockAckCache::UpdateWithBlockAckReq | ( | uint16_t | startingSeq | ) |
Definition at line 73 of file block-ack-cache.cc.
References IsInWindow(), m_winEnd, m_winSize, m_winStart, NS_LOG_FUNCTION, ns3::QosUtilsIsOldPacket(), ResetPortionOfBitmap(), and WINSIZE_ASSERT.
void ns3::BlockAckCache::UpdateWithMpdu | ( | const WifiMacHeader * | hdr | ) |
Definition at line 50 of file block-ack-cache.cc.
References ns3::WifiMacHeader::GetFragmentNumber(), ns3::WifiMacHeader::GetSequenceNumber(), IsInWindow(), m_bitmap, m_winEnd, m_winStart, NS_LOG_FUNCTION, ns3::QosUtilsIsOldPacket(), ResetPortionOfBitmap(), and WINSIZE_ASSERT.
|
private |
Definition at line 61 of file block-ack-cache.h.
Referenced by FillBlockAckBitmap(), Init(), ResetPortionOfBitmap(), and UpdateWithMpdu().
|
private |
Definition at line 59 of file block-ack-cache.h.
Referenced by Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().
|
private |
Definition at line 58 of file block-ack-cache.h.
Referenced by FillBlockAckBitmap(), Init(), IsInWindow(), and UpdateWithBlockAckReq().
|
private |
Definition at line 57 of file block-ack-cache.h.
Referenced by GetWinStart(), Init(), IsInWindow(), UpdateWithBlockAckReq(), and UpdateWithMpdu().