|
INET Framework for OMNeT++/OMNEST
|
Abstract interface for classes that encapsulate the functionality of reassembling frames from fragments. More...
#include <IReassembly.h>
Public Member Functions | |
| virtual | ~IReassembly () |
| virtual Packet * | addFragment (Packet *frame)=0 |
| Add a fragment to the reassembly buffer. More... | |
| virtual void | purge (const MacAddress &address, int tid, int startSeqNumber, int endSeqNumber)=0 |
| Discard fragments from the reassembly buffer. More... | |
Abstract interface for classes that encapsulate the functionality of reassembling frames from fragments.
Fragmentation reassembly classes are typically instantiated as part of an UpperMac.
Add a fragment to the reassembly buffer.
If the new fragment completes a frame, then the reassembled frame is returned (and fragments are removed from the buffer), otherwise the function returns nullptr.
Implemented in inet::ieee80211::BasicReassembly.
Referenced by inet::ieee80211::RecipientMacDataService::defragment(), and inet::ieee80211::RecipientQosMacDataService::defragment().
|
pure virtual |
Discard fragments from the reassembly buffer.
Frames are identified by the transmitter address, the TID, and the sequence number range [startSeqNumber, endSeqNumber[. Set tid=-1 for non-QoS frames.
Implemented in inet::ieee80211::BasicReassembly.