A Set of Fragment belonging to the same packet (src, dst, identification and proto) More...
Public Member Functions | |
Fragments () | |
Constructor. More... | |
~Fragments () | |
Destructor. More... | |
void | AddFragment (Ptr< Packet > fragment, uint16_t fragmentOffset, bool moreFragment) |
Add a fragment. More... | |
Ptr< Packet > | GetPacket () const |
Get the entire packet. More... | |
Ptr< Packet > | GetPartialPacket () const |
Get the complete part of the packet. More... | |
FragmentsTimeoutsListI_t | GetTimeoutIter () |
Get the Timeout iterator. More... | |
bool | IsEntire () const |
If all fragments have been added. 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 (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
std::list< std::pair< Ptr< Packet >, uint16_t > > | m_fragments |
The current fragments. More... | |
bool | m_moreFragment |
True if other fragments will be sent. More... | |
FragmentsTimeoutsListI_t | m_timeoutIter |
Timeout iterator to "event" handler. More... | |
A Set of Fragment belonging to the same packet (src, dst, identification and proto)
Definition at line 525 of file ipv4-l3-protocol.h.
ns3::Ipv4L3Protocol::Fragments::Fragments | ( | ) |
ns3::Ipv4L3Protocol::Fragments::~Fragments | ( | ) |
void ns3::Ipv4L3Protocol::Fragments::AddFragment | ( | Ptr< Packet > | fragment, |
uint16_t | fragmentOffset, | ||
bool | moreFragment | ||
) |
Add a fragment.
fragment | the fragment |
fragmentOffset | the offset of the fragment |
moreFragment | the bit "More Fragment" |
Definition at line 1584 of file ipv4-l3-protocol.cc.
References ns3::Ipv4L3Protocol::m_fragments, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv4L3Protocol::ProcessFragment().
Get the entire packet.
Definition at line 1637 of file ipv4-l3-protocol.cc.
References ns3::Packet::AddAtEnd(), ns3::Packet::Copy(), ns3::Packet::CreateFragment(), ns3::Packet::GetSize(), ns3::Ipv4L3Protocol::m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::Ipv4L3Protocol::ProcessFragment().
Get the complete part of the packet.
Definition at line 1675 of file ipv4-l3-protocol.cc.
References ns3::Packet::AddAtEnd(), ns3::Packet::CreateFragment(), ns3::Packet::GetSize(), ns3::Ipv4L3Protocol::m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Ipv4L3Protocol::FragmentsTimeoutsListI_t ns3::Ipv4L3Protocol::Fragments::GetTimeoutIter | ( | ) |
Get the Timeout iterator.
Definition at line 1717 of file ipv4-l3-protocol.cc.
Referenced by ns3::Ipv4L3Protocol::ProcessFragment().
bool ns3::Ipv4L3Protocol::Fragments::IsEntire | ( | ) | const |
If all fragments have been added.
Definition at line 1607 of file ipv4-l3-protocol.cc.
References list, ns3::Ipv4L3Protocol::m_fragments, max, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::Ipv4L3Protocol::ProcessFragment().
void ns3::Ipv4L3Protocol::Fragments::SetTimeoutIter | ( | FragmentsTimeoutsListI_t | iter | ) |
Set the Timeout iterator.
iter | The iterator. |
Definition at line 1710 of file ipv4-l3-protocol.cc.
Referenced by ns3::Ipv4L3Protocol::ProcessFragment().
The current fragments.
Definition at line 585 of file ipv4-l3-protocol.h.
|
private |
True if other fragments will be sent.
Definition at line 580 of file ipv4-l3-protocol.h.
|
private |
Timeout iterator to "event" handler.
Definition at line 590 of file ipv4-l3-protocol.h.