INET Framework for OMNeT++/OMNEST
inet::ieee80211::RecipientBlockAckAgreement Class Reference

#include <RecipientBlockAckAgreement.h>

Public Member Functions

 RecipientBlockAckAgreement (MACAddress originatorAddress, Tid tid, SequenceNumber startingSequenceNumber, int bufferSize, simtime_t blockAckTimeoutValue)
 
virtual ~RecipientBlockAckAgreement ()
 
virtual void blockAckPolicyFrameReceived (Ieee80211DataFrame *frame)
 
virtual BlockAckRecordgetBlockAckRecord () const
 
virtual simtime_t getBlockAckTimeoutValue () const
 
virtual int getBufferSize () const
 
virtual int getStartingSequenceNumber () const
 
virtual void addbaResposneSent ()
 
virtual void calculateExpirationTime ()
 
virtual simtime_t getExpirationTime ()
 

Protected Attributes

BlockAckRecordblockAckRecord = nullptr
 
SequenceNumber startingSequenceNumber = -1
 
int bufferSize = -1
 
simtime_t blockAckTimeoutValue = 0
 
bool isAddbaResponseSent = false
 
simtime_t expirationTime = -1
 

Friends

std::ostream & operator<< (std::ostream &os, const RecipientBlockAckAgreement &agreement)
 

Constructor & Destructor Documentation

inet::ieee80211::RecipientBlockAckAgreement::RecipientBlockAckAgreement ( MACAddress  originatorAddress,
Tid  tid,
SequenceNumber  startingSequenceNumber,
int  bufferSize,
simtime_t  blockAckTimeoutValue 
)
24  :
27  blockAckTimeoutValue(lastUsedTime)
28 {
30  blockAckRecord = new BlockAckRecord(originatorAddress, tid);
31 }
int bufferSize
Definition: RecipientBlockAckAgreement.h:32
simtime_t blockAckTimeoutValue
Definition: RecipientBlockAckAgreement.h:33
BlockAckRecord * blockAckRecord
Definition: RecipientBlockAckAgreement.h:29
virtual void calculateExpirationTime()
Definition: RecipientBlockAckAgreement.h:49
SequenceNumber startingSequenceNumber
Definition: RecipientBlockAckAgreement.h:31
virtual inet::ieee80211::RecipientBlockAckAgreement::~RecipientBlockAckAgreement ( )
inlinevirtual
39 { delete blockAckRecord; }
BlockAckRecord * blockAckRecord
Definition: RecipientBlockAckAgreement.h:29

Member Function Documentation

virtual void inet::ieee80211::RecipientBlockAckAgreement::addbaResposneSent ( )
inlinevirtual
void inet::ieee80211::RecipientBlockAckAgreement::blockAckPolicyFrameReceived ( Ieee80211DataFrame frame)
virtual

Referenced by inet::ieee80211::BlockAckReordering::processReceivedQoSFrame().

34 {
35  ASSERT(frame->getAckPolicy() == BLOCK_ACK);
37 }
void blockAckPolicyFrameReceived(Ieee80211DataFrame *frame)
Definition: BlockAckRecord.cc:29
Definition: Ieee80211Frame_m.h:142
BlockAckRecord * blockAckRecord
Definition: RecipientBlockAckAgreement.h:29
virtual void inet::ieee80211::RecipientBlockAckAgreement::calculateExpirationTime ( )
inlinevirtual

Referenced by RecipientBlockAckAgreement().

49 { expirationTime = blockAckTimeoutValue == 0 ? SIMTIME_MAX : simTime() + blockAckTimeoutValue; }
simtime_t blockAckTimeoutValue
Definition: RecipientBlockAckAgreement.h:33
simtime_t expirationTime
Definition: RecipientBlockAckAgreement.h:35
virtual BlockAckRecord* inet::ieee80211::RecipientBlockAckAgreement::getBlockAckRecord ( ) const
inlinevirtual
virtual simtime_t inet::ieee80211::RecipientBlockAckAgreement::getBlockAckTimeoutValue ( ) const
inlinevirtual
44 { return blockAckTimeoutValue; }
simtime_t blockAckTimeoutValue
Definition: RecipientBlockAckAgreement.h:33
virtual int inet::ieee80211::RecipientBlockAckAgreement::getBufferSize ( ) const
inlinevirtual

Referenced by inet::ieee80211::BlockAckReordering::createReceiveBufferIfNecessary().

45 { return bufferSize; }
int bufferSize
Definition: RecipientBlockAckAgreement.h:32
virtual simtime_t inet::ieee80211::RecipientBlockAckAgreement::getExpirationTime ( )
inlinevirtual
50 { return expirationTime; }
simtime_t expirationTime
Definition: RecipientBlockAckAgreement.h:35
virtual int inet::ieee80211::RecipientBlockAckAgreement::getStartingSequenceNumber ( ) const
inlinevirtual

Referenced by inet::ieee80211::BlockAckReordering::createReceiveBufferIfNecessary().

46 { return startingSequenceNumber; }
SequenceNumber startingSequenceNumber
Definition: RecipientBlockAckAgreement.h:31

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const RecipientBlockAckAgreement agreement 
)
friend
40 {
41  os << "originator address = " << agreement.blockAckRecord->getOriginatorAddress() << ", "
42  << "tid = " << agreement.blockAckRecord->getTid() << ", "
43  << "starting sequence number = " << agreement.startingSequenceNumber << ", "
44  << "buffer size = " << agreement.bufferSize << ", "
45  << "block ack timeout value = " << agreement.blockAckTimeoutValue;
46  return os;
47 }

Member Data Documentation

BlockAckRecord* inet::ieee80211::RecipientBlockAckAgreement::blockAckRecord = nullptr
protected
simtime_t inet::ieee80211::RecipientBlockAckAgreement::blockAckTimeoutValue = 0
protected
int inet::ieee80211::RecipientBlockAckAgreement::bufferSize = -1
protected
simtime_t inet::ieee80211::RecipientBlockAckAgreement::expirationTime = -1
protected
bool inet::ieee80211::RecipientBlockAckAgreement::isAddbaResponseSent = false
protected
SequenceNumber inet::ieee80211::RecipientBlockAckAgreement::startingSequenceNumber = -1
protected

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