Maintains information for a block ack agreement. More...
#include "block-ack-agreement.h"
Public Member Functions | |
BlockAckAgreement (Mac48Address peer, uint8_t tid) | |
Constructor for BlockAckAgreement with given peer and TID. More... | |
~BlockAckAgreement () | |
uint16_t | GetBufferSize (void) const |
Return the buffer size. More... | |
Mac48Address | GetPeer (void) const |
Return the peer address. More... | |
uint16_t | GetStartingSequence (void) const |
Return the starting squence number. More... | |
uint16_t | GetStartingSequenceControl (void) const |
Return the starting sequence control. More... | |
uint8_t | GetTid (void) const |
Return the Traffic ID (TID). More... | |
uint16_t | GetTimeout (void) const |
Return the timeout. More... | |
uint16_t | GetWinEnd (void) const |
Return the ending sequence number. More... | |
bool | IsAmsduSupported (void) const |
Check whether A-MSDU is supported. More... | |
bool | IsHtSupported (void) const |
Check whether HT is supported. More... | |
bool | IsImmediateBlockAck (void) const |
Check whether the current ACK policy is immediate block ACK. More... | |
void | SetAmsduSupport (bool supported) |
Enable or disable A-MSDU support. More... | |
void | SetBufferSize (uint16_t bufferSize) |
Set buffer size. More... | |
void | SetDelayedBlockAck (void) |
Set Block ACK policy to delayed ACK. More... | |
void | SetHtSupported (bool htSupported) |
Enable or disable HT support. More... | |
void | SetImmediateBlockAck (void) |
Set Block ACK policy to immediate ACK. More... | |
void | SetStartingSequence (uint16_t seq) |
Set starting sequence number. More... | |
void | SetStartingSequenceControl (uint16_t seq) |
Set starting sequence control. More... | |
void | SetTimeout (uint16_t timeout) |
Set timeout. More... | |
void | SetWinEnd (uint16_t seq) |
Set ending sequence number. More... | |
Protected Attributes | |
uint8_t | m_amsduSupported |
Flag whether MSDU aggregation is supported. More... | |
uint8_t | m_blockAckPolicy |
Type of block ack: immediate or delayed. More... | |
uint16_t | m_bufferSize |
Buffer size. More... | |
uint8_t | m_htSupported |
Flag whether HT is supported. More... | |
EventId | m_inactivityEvent |
inactivity event More... | |
Mac48Address | m_peer |
Peer address. More... | |
uint16_t | m_startingSeq |
Starting squence control. More... | |
uint8_t | m_tid |
Traffic ID. More... | |
uint16_t | m_timeout |
Timeout. More... | |
uint16_t | m_winEnd |
Ending sequence number. More... | |
Friends | |
class | MacLow |
Provide access to MacLow class. More... | |
Maintains information for a block ack agreement.
Definition at line 32 of file block-ack-agreement.h.
ns3::BlockAckAgreement::BlockAckAgreement | ( | Mac48Address | peer, |
uint8_t | tid | ||
) |
Constructor for BlockAckAgreement with given peer and TID.
peer | |
tid |
Definition at line 28 of file block-ack-agreement.cc.
References m_peer, m_tid, and NS_LOG_FUNCTION.
ns3::BlockAckAgreement::~BlockAckAgreement | ( | ) |
Definition at line 39 of file block-ack-agreement.cc.
References ns3::EventId::Cancel(), m_inactivityEvent, and NS_LOG_FUNCTION.
uint16_t ns3::BlockAckAgreement::GetBufferSize | ( | void | ) | const |
Return the buffer size.
Definition at line 113 of file block-ack-agreement.cc.
References m_bufferSize, and NS_LOG_FUNCTION.
Mac48Address ns3::BlockAckAgreement::GetPeer | ( | void | ) | const |
Return the peer address.
Definition at line 106 of file block-ack-agreement.cc.
References m_peer, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded().
uint16_t ns3::BlockAckAgreement::GetStartingSequence | ( | void | ) | const |
Return the starting squence number.
Definition at line 127 of file block-ack-agreement.cc.
References m_startingSeq, and NS_LOG_FUNCTION.
Referenced by ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded().
uint16_t ns3::BlockAckAgreement::GetStartingSequenceControl | ( | void | ) | const |
Return the starting sequence control.
Definition at line 134 of file block-ack-agreement.cc.
References m_startingSeq, and NS_LOG_FUNCTION.
uint8_t ns3::BlockAckAgreement::GetTid | ( | void | ) | const |
Return the Traffic ID (TID).
Definition at line 99 of file block-ack-agreement.cc.
References m_tid, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded(), and ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded().
uint16_t ns3::BlockAckAgreement::GetTimeout | ( | void | ) | const |
Return the timeout.
Definition at line 120 of file block-ack-agreement.cc.
References m_timeout, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded(), and ns3::BlockAckManager::UpdateAgreement().
uint16_t ns3::BlockAckAgreement::GetWinEnd | ( | void | ) | const |
Return the ending sequence number.
Definition at line 156 of file block-ack-agreement.cc.
References m_winEnd.
bool ns3::BlockAckAgreement::IsAmsduSupported | ( | void | ) | const |
Check whether A-MSDU is supported.
Definition at line 149 of file block-ack-agreement.cc.
References m_amsduSupported, and NS_LOG_FUNCTION.
bool ns3::BlockAckAgreement::IsHtSupported | ( | void | ) | const |
Check whether HT is supported.
Definition at line 175 of file block-ack-agreement.cc.
References m_htSupported, and NS_LOG_FUNCTION.
bool ns3::BlockAckAgreement::IsImmediateBlockAck | ( | void | ) | const |
Check whether the current ACK policy is immediate block ACK.
Definition at line 142 of file block-ack-agreement.cc.
References m_blockAckPolicy, and NS_LOG_FUNCTION.
void ns3::BlockAckAgreement::SetAmsduSupport | ( | bool | supported | ) |
Enable or disable A-MSDU support.
supported | enable or disable A-MSDU support |
Definition at line 92 of file block-ack-agreement.cc.
References m_amsduSupported, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::BlockAckManager::UpdateAgreement().
void ns3::BlockAckAgreement::SetBufferSize | ( | uint16_t | bufferSize | ) |
Set buffer size.
bufferSize |
Definition at line 46 of file block-ack-agreement.cc.
References m_bufferSize, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::BlockAckManager::UpdateAgreement().
void ns3::BlockAckAgreement::SetDelayedBlockAck | ( | void | ) |
Set Block ACK policy to delayed ACK.
Definition at line 85 of file block-ack-agreement.cc.
References m_blockAckPolicy, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::BlockAckManager::UpdateAgreement().
void ns3::BlockAckAgreement::SetHtSupported | ( | bool | htSupported | ) |
Enable or disable HT support.
htSupported | enable or disable HT support |
Definition at line 168 of file block-ack-agreement.cc.
References m_htSupported, and NS_LOG_FUNCTION.
void ns3::BlockAckAgreement::SetImmediateBlockAck | ( | void | ) |
Set Block ACK policy to immediate ACK.
Definition at line 78 of file block-ack-agreement.cc.
References m_blockAckPolicy, and NS_LOG_FUNCTION.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::BlockAckManager::UpdateAgreement().
void ns3::BlockAckAgreement::SetStartingSequence | ( | uint16_t | seq | ) |
Set starting sequence number.
seq | the starting sequence number |
Definition at line 62 of file block-ack-agreement.cc.
References m_startingSeq, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::BlockAckManager::CreateAgreement(), and ns3::MacLow::CreateBlockAckAgreement().
void ns3::BlockAckAgreement::SetStartingSequenceControl | ( | uint16_t | seq | ) |
Set starting sequence control.
seq | the starting sequence control |
Definition at line 70 of file block-ack-agreement.cc.
References m_startingSeq, NS_ASSERT, and NS_LOG_FUNCTION.
void ns3::BlockAckAgreement::SetTimeout | ( | uint16_t | timeout | ) |
Set timeout.
timeout |
Definition at line 55 of file block-ack-agreement.cc.
References m_timeout, NS_LOG_FUNCTION, and timeout.
Referenced by ns3::MacLow::CreateBlockAckAgreement(), and ns3::BlockAckManager::UpdateAgreement().
void ns3::BlockAckAgreement::SetWinEnd | ( | uint16_t | seq | ) |
Set ending sequence number.
seq | the ending sequence number |
Definition at line 162 of file block-ack-agreement.cc.
References m_winEnd.
|
friend |
Provide access to MacLow class.
Definition at line 35 of file block-ack-agreement.h.
|
protected |
Flag whether MSDU aggregation is supported.
Definition at line 164 of file block-ack-agreement.h.
Referenced by IsAmsduSupported(), and SetAmsduSupport().
|
protected |
Type of block ack: immediate or delayed.
Definition at line 165 of file block-ack-agreement.h.
Referenced by IsImmediateBlockAck(), SetDelayedBlockAck(), and SetImmediateBlockAck().
|
protected |
Buffer size.
Definition at line 167 of file block-ack-agreement.h.
Referenced by GetBufferSize(), ns3::OriginatorBlockAckAgreement::NotifyMpduTransmission(), and SetBufferSize().
|
protected |
Flag whether HT is supported.
Definition at line 171 of file block-ack-agreement.h.
Referenced by IsHtSupported(), and SetHtSupported().
|
protected |
inactivity event
Definition at line 172 of file block-ack-agreement.h.
Referenced by ns3::MacLow::ResetBlockAckInactivityTimerIfNeeded(), ns3::BlockAckManager::UpdateAgreement(), and ~BlockAckAgreement().
|
protected |
Peer address.
Definition at line 163 of file block-ack-agreement.h.
Referenced by BlockAckAgreement(), and GetPeer().
|
protected |
Starting squence control.
Definition at line 169 of file block-ack-agreement.h.
Referenced by GetStartingSequence(), GetStartingSequenceControl(), ns3::OriginatorBlockAckAgreement::NotifyMpduTransmission(), SetStartingSequence(), and SetStartingSequenceControl().
|
protected |
Traffic ID.
Definition at line 166 of file block-ack-agreement.h.
Referenced by BlockAckAgreement(), and GetTid().
|
protected |
Timeout.
Definition at line 168 of file block-ack-agreement.h.
Referenced by GetTimeout(), and SetTimeout().
|
protected |
Ending sequence number.
Definition at line 170 of file block-ack-agreement.h.
Referenced by GetWinEnd(), and SetWinEnd().