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 squence 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 | 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 25 of file originator-block-ack-agreement.cc.
| ns3::OriginatorBlockAckAgreement::OriginatorBlockAckAgreement | ( | Mac48Address | recipient, |
| uint8_t | tid | ||
| ) |
Definition at line 32 of file originator-block-ack-agreement.cc.
| ns3::OriginatorBlockAckAgreement::~OriginatorBlockAckAgreement | ( | ) |
Definition at line 39 of file originator-block-ack-agreement.cc.
| void ns3::OriginatorBlockAckAgreement::CompleteExchange | ( | void | ) |
Definition at line 90 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 85 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 58 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 63 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 53 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 68 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 73 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 43 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 144 of file originator-block-ack-agreement.h.
Referenced by CompleteExchange(), IsBlockAckRequestNeeded(), NotifyMpduTransmission(), and SetState().
|
private |
Definition at line 143 of file originator-block-ack-agreement.h.
Referenced by CompleteExchange(), NotifyMpduTransmission(), and SetState().
|
private |
Definition at line 142 of file originator-block-ack-agreement.h.
Referenced by IsEstablished(), IsInactive(), IsPending(), IsUnsuccessful(), and SetState().