Maintains the state and information about transmitted MPDUs with ack policy block ack for an originator station. More...
#include "originator-block-ack-agreement.h"
 Inheritance diagram for ns3::OriginatorBlockAckAgreement:
 Collaboration diagram for ns3::OriginatorBlockAckAgreement:Public Types | |
| enum | State { PENDING, ESTABLISHED, INACTIVE, UNSUCCESSFUL } | 
| Represents the state for this agreement.  More... | |
Public Member Functions | |
| OriginatorBlockAckAgreement () | |
| OriginatorBlockAckAgreement (Mac48Address recipient, uint8_t tid) | |
| ~OriginatorBlockAckAgreement () | |
| void | CompleteExchange (void) | 
| bool | IsBlockAckRequestNeeded (void) const | 
| Returns true if all packets for which a block ack was negotiated have been transmitted so a block ack request is needed in order to acknowledge them.  More... | |
| bool | IsEstablished (void) const | 
| Check if the current state of this agreement is ESTABLISHED.  More... | |
| bool | IsInactive (void) const | 
| Check if the current state of this agreement is INACTIVE.  More... | |
| bool | IsPending (void) const | 
| Check if the current state of this agreement is PENDING.  More... | |
| bool | IsUnsuccessful (void) const | 
| Check if the current state of this agreement is UNSUCCESSFUL.  More... | |
| void | NotifyMpduTransmission (uint16_t nextSeqNumber) | 
| Notifies a packet's transmission with ack policy Block Ack.  More... | |
| void | SetState (enum State state) | 
  Public Member Functions inherited from ns3::BlockAckAgreement | |
| BlockAckAgreement () | |
| 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... | |
Private Attributes | |
| bool | m_needBlockAckReq | 
| uint16_t | m_sentMpdus | 
| enum State | m_state | 
Friends | |
| class | BlockAckManager | 
Additional Inherited Members | |
  Protected Attributes inherited from ns3::BlockAckAgreement | |
| 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 | 
| 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... | |
Maintains the state and information about transmitted MPDUs with ack policy block ack for an originator station.
Definition at line 33 of file originator-block-ack-agreement.h.
| ns3::OriginatorBlockAckAgreement::OriginatorBlockAckAgreement | ( | ) | 
Definition at line 26 of file originator-block-ack-agreement.cc.
| ns3::OriginatorBlockAckAgreement::OriginatorBlockAckAgreement | ( | Mac48Address | recipient, | 
| uint8_t | tid | ||
| ) | 
Definition at line 34 of file originator-block-ack-agreement.cc.
| ns3::OriginatorBlockAckAgreement::~OriginatorBlockAckAgreement | ( | ) | 
Definition at line 42 of file originator-block-ack-agreement.cc.
| void ns3::OriginatorBlockAckAgreement::CompleteExchange | ( | void | ) | 
Definition at line 101 of file originator-block-ack-agreement.cc.
References m_needBlockAckReq, and m_sentMpdus.
Referenced by ns3::BlockAckManager::CompleteAmpduExchange(), and ns3::BlockAckManager::ScheduleBlockAckReqIfNeeded().
 Here is the caller graph for this function:| bool ns3::OriginatorBlockAckAgreement::IsBlockAckRequestNeeded | ( | void | ) | const | 
Returns true if all packets for which a block ack was negotiated have been transmitted so a block ack request is needed in order to acknowledge them.
Definition at line 95 of file originator-block-ack-agreement.cc.
References m_needBlockAckReq.
| bool ns3::OriginatorBlockAckAgreement::IsEstablished | ( | void | ) | const | 
Check if the current state of this agreement is ESTABLISHED.
Definition at line 64 of file originator-block-ack-agreement.cc.
References ESTABLISHED, and m_state.
| bool ns3::OriginatorBlockAckAgreement::IsInactive | ( | void | ) | const | 
Check if the current state of this agreement is INACTIVE.
Definition at line 70 of file originator-block-ack-agreement.cc.
| bool ns3::OriginatorBlockAckAgreement::IsPending | ( | void | ) | const | 
Check if the current state of this agreement is PENDING.
Definition at line 58 of file originator-block-ack-agreement.cc.
| bool ns3::OriginatorBlockAckAgreement::IsUnsuccessful | ( | void | ) | const | 
Check if the current state of this agreement is UNSUCCESSFUL.
Definition at line 76 of file originator-block-ack-agreement.cc.
References m_state, and UNSUCCESSFUL.
| void ns3::OriginatorBlockAckAgreement::NotifyMpduTransmission | ( | uint16_t | nextSeqNumber | ) | 
Notifies a packet's transmission with ack policy Block Ack.
| nextSeqNumber | 
Definition at line 82 of file originator-block-ack-agreement.cc.
References ns3::BlockAckAgreement::m_bufferSize, m_needBlockAckReq, m_sentMpdus, ns3::BlockAckAgreement::m_startingSeq, and NS_ASSERT.
| void ns3::OriginatorBlockAckAgreement::SetState | ( | enum State | state | ) | 
Definition at line 47 of file originator-block-ack-agreement.cc.
References INACTIVE, m_needBlockAckReq, m_sentMpdus, and m_state.
Referenced by ns3::BlockAckManager::UpdateAgreement().
 Here is the caller graph for this function:
      
  | 
  friend | 
Definition at line 35 of file originator-block-ack-agreement.h.
      
  | 
  private | 
Definition at line 147 of file originator-block-ack-agreement.h.
Referenced by CompleteExchange(), IsBlockAckRequestNeeded(), NotifyMpduTransmission(), and SetState().
      
  | 
  private | 
Definition at line 146 of file originator-block-ack-agreement.h.
Referenced by CompleteExchange(), NotifyMpduTransmission(), and SetState().
      
  | 
  private | 
Definition at line 145 of file originator-block-ack-agreement.h.
Referenced by IsEstablished(), IsInactive(), IsPending(), IsUnsuccessful(), and SetState().