BlockAckCache cache. More...
#include "block-ack-cache.h"
Public Member Functions | |
void | FillBlockAckBitmap (CtrlBAckResponseHeader *blockAckHeader) |
Fill block ack bitmap function. More... | |
uint16_t | GetWinStart (void) const |
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) |
Init function. More... | |
void | UpdateWithBlockAckReq (uint16_t startingSeq) |
Update with block ack request function. More... | |
void | UpdateWithMpdu (const WifiMacHeader *hdr) |
Update with MPDU function. More... | |
Private Member Functions | |
void | ResetPortionOfBitmap (uint16_t start, uint16_t end) |
Reset portion of bitmap functiion. More... | |
Private Attributes | |
uint16_t | m_bitmap [4096] |
bitmap More... | |
uint16_t | m_winEnd |
window end More... | |
uint16_t | m_winSize |
window size More... | |
uint16_t | m_winStart |
window start More... | |
BlockAckCache cache.
Definition at line 36 of file block-ack-cache.h.
void ns3::BlockAckCache::FillBlockAckBitmap | ( | CtrlBAckResponseHeader * | blockAckHeader | ) |
Fill block ack bitmap function.
blockAckHeader | the block ack bitmap |
Definition at line 115 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 | ) | const |
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 45 of file block-ack-cache.cc.
References m_winStart.
void ns3::BlockAckCache::Init | ( | uint16_t | winStart, |
uint16_t | winSize | ||
) |
Init function.
winStart | the window start |
winSize | the window size |
Definition at line 35 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 |
Reset portion of bitmap functiion.
start | the starting position |
end | the ending position |
Definition at line 103 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 | ) |
Update with block ack request function.
startingSeq | the starting sequence |
Definition at line 74 of file block-ack-cache.cc.
References ns3::IsInWindow(), m_winEnd, m_winSize, m_winStart, NS_LOG_FUNCTION, ns3::QosUtilsIsOldPacket(), ResetPortionOfBitmap(), and WINSIZE_ASSERT.
void ns3::BlockAckCache::UpdateWithMpdu | ( | const WifiMacHeader * | hdr | ) |
Update with MPDU function.
hdr | the wifi MAC header |
Definition at line 51 of file block-ack-cache.cc.
References ns3::WifiMacHeader::GetFragmentNumber(), ns3::WifiMacHeader::GetSequenceNumber(), ns3::IsInWindow(), m_bitmap, m_winEnd, m_winSize, m_winStart, NS_LOG_FUNCTION, ns3::QosUtilsIsOldPacket(), ResetPortionOfBitmap(), and WINSIZE_ASSERT.
|
private |
bitmap
Definition at line 83 of file block-ack-cache.h.
Referenced by FillBlockAckBitmap(), Init(), ResetPortionOfBitmap(), and UpdateWithMpdu().
|
private |
window end
Definition at line 81 of file block-ack-cache.h.
Referenced by Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().
|
private |
window size
Definition at line 80 of file block-ack-cache.h.
Referenced by FillBlockAckBitmap(), Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().
|
private |
window start
Definition at line 79 of file block-ack-cache.h.
Referenced by GetWinStart(), Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().