wifi: WifiMacQueue Remove() shall remove items from blocked container queues
otherwise, we are unable to completely flush a queue
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user