A Discrete-Event Network Simulator
API
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ns3::BlockAckCache Class Reference

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...
 

Detailed Description

BlockAckCache cache.

Definition at line 36 of file block-ack-cache.h.

Member Function Documentation

◆ FillBlockAckBitmap()

void ns3::BlockAckCache::FillBlockAckBitmap ( CtrlBAckResponseHeader blockAckHeader)

◆ GetWinStart()

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.

Returns
window start

Definition at line 45 of file block-ack-cache.cc.

References m_winStart.

◆ Init()

void ns3::BlockAckCache::Init ( uint16_t  winStart,
uint16_t  winSize 
)

Init function.

Parameters
winStartthe window start
winSizethe 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().

◆ ResetPortionOfBitmap()

void ns3::BlockAckCache::ResetPortionOfBitmap ( uint16_t  start,
uint16_t  end 
)
private

Reset portion of bitmap functiion.

Parameters
startthe starting position
endthe 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().

◆ UpdateWithBlockAckReq()

void ns3::BlockAckCache::UpdateWithBlockAckReq ( uint16_t  startingSeq)

Update with block ack request function.

Parameters
startingSeqthe 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.

◆ UpdateWithMpdu()

void ns3::BlockAckCache::UpdateWithMpdu ( const WifiMacHeader hdr)

Member Data Documentation

◆ m_bitmap

uint16_t ns3::BlockAckCache::m_bitmap[4096]
private

bitmap

Definition at line 83 of file block-ack-cache.h.

Referenced by FillBlockAckBitmap(), Init(), ResetPortionOfBitmap(), and UpdateWithMpdu().

◆ m_winEnd

uint16_t ns3::BlockAckCache::m_winEnd
private

window end

Definition at line 81 of file block-ack-cache.h.

Referenced by Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().

◆ m_winSize

uint16_t ns3::BlockAckCache::m_winSize
private

window size

Definition at line 80 of file block-ack-cache.h.

Referenced by FillBlockAckBitmap(), Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().

◆ m_winStart

uint16_t ns3::BlockAckCache::m_winStart
private

window start

Definition at line 79 of file block-ack-cache.h.

Referenced by GetWinStart(), Init(), UpdateWithBlockAckReq(), and UpdateWithMpdu().


The documentation for this class was generated from the following files: