add support for block ack in MacLowTransmissionParameters
This commit is contained in:
@@ -146,6 +146,21 @@ MacLowTransmissionParameters::EnableSuperFastAck (void)
|
||||
{
|
||||
m_waitAck = ACK_SUPER_FAST;
|
||||
}
|
||||
void
|
||||
MacLowTransmissionParameters::EnableBasicBlockAck (void)
|
||||
{
|
||||
m_waitAck = BLOCK_ACK_BASIC;
|
||||
}
|
||||
void
|
||||
MacLowTransmissionParameters::EnableCompressedBlockAck (void)
|
||||
{
|
||||
m_waitAck = BLOCK_ACK_COMPRESSED;
|
||||
}
|
||||
void
|
||||
MacLowTransmissionParameters::EnableMultiTidBlockAck (void)
|
||||
{
|
||||
m_waitAck = BLOCK_ACK_MULTI_TID;
|
||||
}
|
||||
void
|
||||
MacLowTransmissionParameters::EnableFastAck (void)
|
||||
{
|
||||
@@ -191,6 +206,21 @@ MacLowTransmissionParameters::MustWaitSuperFastAck (void) const
|
||||
{
|
||||
return (m_waitAck == ACK_SUPER_FAST);
|
||||
}
|
||||
bool
|
||||
MacLowTransmissionParameters::MustWaitBasicBlockAck (void) const
|
||||
{
|
||||
return (m_waitAck == BLOCK_ACK_BASIC)?true:false;
|
||||
}
|
||||
bool
|
||||
MacLowTransmissionParameters::MustWaitCompressedBlockAck (void) const
|
||||
{
|
||||
return (m_waitAck == BLOCK_ACK_COMPRESSED)?true:false;
|
||||
}
|
||||
bool
|
||||
MacLowTransmissionParameters::MustWaitMultiTidBlockAck (void) const
|
||||
{
|
||||
return (m_waitAck == BLOCK_ACK_MULTI_TID)?true:false;
|
||||
}
|
||||
bool
|
||||
MacLowTransmissionParameters::MustSendRts (void) const
|
||||
{
|
||||
@@ -239,6 +269,15 @@ std::ostream &operator << (std::ostream &os, const MacLowTransmissionParameters
|
||||
case MacLowTransmissionParameters::ACK_SUPER_FAST:
|
||||
os << "super-fast";
|
||||
break;
|
||||
case MacLowTransmissionParameters::BLOCK_ACK_BASIC:
|
||||
os << "basic-block-ack";
|
||||
break;
|
||||
case MacLowTransmissionParameters::BLOCK_ACK_COMPRESSED:
|
||||
os << "compressed-block-ack";
|
||||
break;
|
||||
case MacLowTransmissionParameters::BLOCK_ACK_MULTI_TID:
|
||||
os << "multi-tid-block-ack";
|
||||
break;
|
||||
}
|
||||
os << "]";
|
||||
return os;
|
||||
|
||||
@@ -156,6 +156,18 @@ public:
|
||||
* MacLowTransmissionListener::MissedAck
|
||||
*/
|
||||
void EnableSuperFastAck (void);
|
||||
/**
|
||||
* Wait BASICBLOCKACKTimeout for a Basic Block Ack Response frame.
|
||||
*/
|
||||
void EnableBasicBlockAck (void);
|
||||
/**
|
||||
* Wait COMPRESSEDBLOCKACKTimeout for a Compressed Block Ack Response frame.
|
||||
*/
|
||||
void EnableCompressedBlockAck (void);
|
||||
/**
|
||||
* NOT IMPLEMENTED FOR NOW
|
||||
*/
|
||||
void EnableMultiTidBlockAck (void);
|
||||
/**
|
||||
* Send a RTS, and wait CTSTimeout for a CTS. If we get a
|
||||
* CTS on time, call MacLowTransmissionListener::GotCts
|
||||
@@ -232,6 +244,24 @@ public:
|
||||
* \sa EnableSuperFastAck
|
||||
*/
|
||||
bool MustWaitSuperFastAck (void) const;
|
||||
/**
|
||||
* \returns true if block ack mechanism is used, false otherwise.
|
||||
*
|
||||
* \sa EnableBlockAck
|
||||
*/
|
||||
bool MustWaitBasicBlockAck (void) const;
|
||||
/**
|
||||
* \returns true if compressed block ack mechanism is used, false otherwise.
|
||||
*
|
||||
* \sa EnableCompressedBlockAck
|
||||
*/
|
||||
bool MustWaitCompressedBlockAck (void) const;
|
||||
/**
|
||||
* \returns true if multi-tid block ack mechanism is used, false otherwise.
|
||||
*
|
||||
* \sa EnableMultiTidBlockAck
|
||||
*/
|
||||
bool MustWaitMultiTidBlockAck (void) const;
|
||||
/**
|
||||
* \returns true if RTS should be sent and CTS waited for before
|
||||
* sending data, false otherwise.
|
||||
@@ -262,7 +292,10 @@ private:
|
||||
ACK_NONE,
|
||||
ACK_NORMAL,
|
||||
ACK_FAST,
|
||||
ACK_SUPER_FAST
|
||||
ACK_SUPER_FAST,
|
||||
BLOCK_ACK_BASIC,
|
||||
BLOCK_ACK_COMPRESSED,
|
||||
BLOCK_ACK_MULTI_TID
|
||||
} m_waitAck;
|
||||
bool m_sendRts;
|
||||
Time m_overrideDurationId;
|
||||
|
||||
Reference in New Issue
Block a user