wifi: WifiMacQueue Remove() shall remove items from blocked container queues

otherwise, we are unable to completely flush a queue
This commit is contained in:
Stefano Avallone
2025-05-10 12:47:13 +02:00
parent 60725a119b
commit 5128d699f4

View File

@@ -387,7 +387,13 @@ WifiMacQueue::PeekFirstAvailable(uint8_t linkId, Ptr<const WifiMpdu> item) const
Ptr<WifiMpdu>
WifiMacQueue::Remove()
{
return Remove(Peek());
if (auto queueId = m_scheduler->GetNext(m_ac, std::nullopt, false))
{
return Remove(GetContainer().GetQueue(queueId.value()).cbegin()->mpdu);
}
NS_LOG_DEBUG("The queue is empty");
return nullptr;
}
Ptr<WifiMpdu>