#include <ReceiveBuffer.h>
◆ Fragments
◆ ReorderBuffer
◆ ReceiveBuffer()
| inet::ieee80211::ReceiveBuffer::ReceiveBuffer |
( |
int |
bufferSize, |
|
|
SequenceNumberCyclic |
nextExpectedSequenceNumber |
|
) |
| |
◆ ~ReceiveBuffer()
| inet::ieee80211::ReceiveBuffer::~ReceiveBuffer |
( |
| ) |
|
|
virtual |
82 for (
auto fragments :
buffer) {
83 for (
auto fragment : fragments.second)
◆ dropFramesUntil()
◆ getBuffer()
| const ReorderBuffer& inet::ieee80211::ReceiveBuffer::getBuffer |
( |
| ) |
|
|
inline |
◆ getBufferSize()
| int inet::ieee80211::ReceiveBuffer::getBufferSize |
( |
| ) |
|
|
inline |
◆ getLength()
| int inet::ieee80211::ReceiveBuffer::getLength |
( |
| ) |
|
|
inline |
◆ getNextExpectedSequenceNumber()
◆ insertFrame()
| bool inet::ieee80211::ReceiveBuffer::insertFrame |
( |
Packet * |
dataPacket, |
|
|
const Ptr< const Ieee80211DataHeader > & |
dataHeader |
|
) |
| |
27 auto sequenceNumber = dataHeader->getSequenceNumber();
28 auto fragmentNumber = dataHeader->getFragmentNumber();
32 auto it =
buffer.find(sequenceNumber.get());
34 auto& fragments = it->second;
36 for (
auto fragment : fragments) {
37 const auto& fragmentHeader = fragment->peekAtFront<Ieee80211DataHeader>();
38 if (fragmentHeader->getSequenceNumber() == sequenceNumber && fragmentHeader->getFragmentNumber() == fragmentNumber)
41 fragments.push_back(dataPacket);
44 buffer[sequenceNumber.get()].push_back(dataPacket);
Referenced by inet::ieee80211::BlockAckReordering::processReceivedQoSFrame().
◆ isFull()
| bool inet::ieee80211::ReceiveBuffer::isFull |
( |
| ) |
|
|
inline |
◆ removeFrame()
◆ setNextExpectedSequenceNumber()
| void inet::ieee80211::ReceiveBuffer::setNextExpectedSequenceNumber |
( |
SequenceNumberCyclic |
nextExpectedSequenceNumber | ) |
|
|
inline |
◆ buffer
◆ bufferSize
| int inet::ieee80211::ReceiveBuffer::bufferSize = -1 |
|
protected |
◆ length
| int inet::ieee80211::ReceiveBuffer::length = 0 |
|
protected |
◆ nextExpectedSequenceNumber
The documentation for this class was generated from the following files: