inet
inet copied to clipboard
802.11: When a block ACK is not received correctly, the originator retransmits all frames
It should send the block ack request again before retransmitting all frames.
Maybe like this?
bool QosAckHandler::isOutstandingFrame(const Ptr<const Ieee80211DataOrMgmtHeader>& header) { if (header->getType() == ST_DATA_WITH_QOS) { auto dataHeader = dynamicPtrCast<const Ieee80211DataHeader>(header); auto status = getQoSDataAckStatus(dataHeader); return status == QosAckHandler::Status::BLOCK_ACK_NOT_YET_REQUESTED || status == QosAckHandler::Status::BLOCK_ACK_NOT_ARRIVED; } else return false; }