Public Member Functions | |
Fragments () | |
Constructor. More... | |
~Fragments () | |
Destructor. More... | |
void | AddFirstFragment (Ptr< Packet > fragment) |
Add the first packet fragment. More... | |
void | AddFragment (Ptr< Packet > fragment, uint16_t fragmentOffset) |
Add a fragment to the pool. More... | |
std::list< Ptr< Packet > > | GetFragments () const |
Get a list of the current stored fragments. More... | |
Ptr< Packet > | GetPacket () const |
Get the entire packet. More... | |
FragmentsTimeoutsListI_t | GetTimeoutIter () |
Get the Timeout iterator. More... | |
bool | IsEntire () const |
If all fragments have been added. More... | |
void | SetPacketSize (uint32_t packetSize) |
Set the packet-to-be-defragmented size. More... | |
void | SetTimeoutIter (FragmentsTimeoutsListI_t iter) |
Set the Timeout iterator. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Fragments > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Private Attributes | |
Ptr< Packet > | m_firstFragment |
The very first fragment. More... | |
std::list< std::pair< Ptr< Packet >, uint16_t > > | m_fragments |
The current fragments. More... | |
uint32_t | m_packetSize |
The size of the reconstructed packet (bytes). More... | |
FragmentsTimeoutsListI_t | m_timeoutIter |
Timeout iterator to "event" handler. More... | |
A Set of Fragments.
Definition at line 469 of file sixlowpan-net-device.h.
ns3::SixLowPanNetDevice::Fragments::Fragments | ( | ) |
Constructor.
Definition at line 2526 of file sixlowpan-net-device.cc.
References m_packetSize, and NS_LOG_FUNCTION.
ns3::SixLowPanNetDevice::Fragments::~Fragments | ( | ) |
Add the first packet fragment.
The first fragment is needed to allow the post-defragmentation decompression.
[in] | fragment | The fragment. |
Definition at line 2566 of file sixlowpan-net-device.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
void ns3::SixLowPanNetDevice::Fragments::AddFragment | ( | Ptr< Packet > | fragment, |
uint16_t | fragmentOffset | ||
) |
Add a fragment to the pool.
[in] | fragment | the fragment. |
[in] | fragmentOffset | the offset of the fragment. |
Definition at line 2538 of file sixlowpan-net-device.cc.
References ns3::Packet::GetSize(), ns3::SixLowPanNetDevice::m_fragments, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
Get a list of the current stored fragments.
Definition at line 2641 of file sixlowpan-net-device.cc.
References ns3::SixLowPanNetDevice::m_fragments.
Get the entire packet.
Definition at line 2603 of file sixlowpan-net-device.cc.
References ns3::Packet::AddAtEnd(), ns3::SixLowPanNetDevice::m_fragments, NS_ABORT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
SixLowPanNetDevice::FragmentsTimeoutsListI_t ns3::SixLowPanNetDevice::Fragments::GetTimeoutIter | ( | ) |
Get the Timeout iterator.
Definition at line 2658 of file sixlowpan-net-device.cc.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
bool ns3::SixLowPanNetDevice::Fragments::IsEntire | ( | ) | const |
If all fragments have been added.
Definition at line 2574 of file sixlowpan-net-device.cc.
References ns3::SixLowPanNetDevice::m_fragments, max, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
void ns3::SixLowPanNetDevice::Fragments::SetPacketSize | ( | uint32_t | packetSize | ) |
Set the packet-to-be-defragmented size.
[in] | packetSize | The packet size (bytes). |
Definition at line 2634 of file sixlowpan-net-device.cc.
References NS_LOG_FUNCTION, and packetSize.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
void ns3::SixLowPanNetDevice::Fragments::SetTimeoutIter | ( | FragmentsTimeoutsListI_t | iter | ) |
Set the Timeout iterator.
iter | The iterator. |
Definition at line 2652 of file sixlowpan-net-device.cc.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
The very first fragment.
Definition at line 546 of file sixlowpan-net-device.h.
|
private |
The current fragments.
Definition at line 541 of file sixlowpan-net-device.h.
|
private |
The size of the reconstructed packet (bytes).
Definition at line 536 of file sixlowpan-net-device.h.
Referenced by Fragments().
|
private |
Timeout iterator to "event" handler.
Definition at line 551 of file sixlowpan-net-device.h.