A Set of Fragment. More...
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 > > | GetFraments () const |
Get a list of the current stored fragments. More... | |
Ptr< Packet > | GetPacket () const |
Get the entire packet. More... | |
bool | IsEntire () const |
If all fragments have been added. More... | |
void | SetPacketSize (uint32_t packetSize) |
Set the packet-to-be-defragmented size. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Fragments > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) 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... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Fragments > | |
static void | Cleanup (void) |
Noop. More... | |
A Set of Fragment.
Definition at line 321 of file sixlowpan-net-device.h.
ns3::SixLowPanNetDevice::Fragments::Fragments | ( | ) |
Constructor.
Definition at line 1923 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.
fragment | the fragment |
Definition at line 1960 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.
fragment | the fragment |
fragmentOffset | the offset of the fragment |
Definition at line 1934 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 2035 of file sixlowpan-net-device.cc.
References ns3::SixLowPanNetDevice::m_fragments.
Get the entire packet.
Definition at line 1999 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().
bool ns3::SixLowPanNetDevice::Fragments::IsEntire | ( | ) | const |
If all fragments have been added.
Definition at line 1967 of file sixlowpan-net-device.cc.
References list, ns3::SixLowPanNetDevice::m_fragments, 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.
packetSize | the packet size (bytes) |
Definition at line 2029 of file sixlowpan-net-device.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::SixLowPanNetDevice::ProcessFragment().
The very first fragment.
Definition at line 385 of file sixlowpan-net-device.h.
|
private |
The current fragments.
Definition at line 380 of file sixlowpan-net-device.h.
|
private |
The size of the reconstructed packet (bytes).
Definition at line 375 of file sixlowpan-net-device.h.
Referenced by Fragments().