A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::BlockAckCache Class Reference

#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
 

Detailed Description

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

Member Function Documentation

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

+ Here is the caller graph for this function:

bool ns3::BlockAckCache::IsInWindow ( uint16_t  seq)
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().

+ Here is the caller graph for this function:

void ns3::BlockAckCache::ResetPortionOfBitmap ( uint16_t  start,
uint16_t  end 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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.

+ Here is the call graph for this function:

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

Member Data Documentation

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

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

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

uint16_t ns3::BlockAckCache::m_winEnd
private

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

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

uint8_t ns3::BlockAckCache::m_winSize
private

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

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

uint16_t ns3::BlockAckCache::m_winStart
private

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