A Set of Fragment belonging to the same packet (src, dst, identification and proto) More...
Inheritance diagram for ns3::Ipv4L3Protocol::Fragments:
Collaboration diagram for ns3::Ipv4L3Protocol::Fragments:Public Member Functions | |
| Fragments () | |
| Constructor. | |
| void | AddFragment (Ptr< Packet > fragment, uint16_t fragmentOffset, bool moreFragment) |
| Add a fragment. | |
| Ptr< Packet > | GetPacket () const |
| Get the entire packet. | |
| Ptr< Packet > | GetPartialPacket () const |
| Get the complete part of the packet. | |
| FragmentsTimeoutsListI_t | GetTimeoutIter () |
| Get the Timeout iterator. | |
| bool | IsEntire () const |
| If all fragments have been added. | |
| void | SetTimeoutIter (FragmentsTimeoutsListI_t iter) |
| Set the Timeout iterator. | |
Public Member Functions inherited from ns3::SimpleRefCount< Fragments > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Private Attributes | |
| std::list< std::pair< Ptr< Packet >, uint16_t > > | m_fragments |
| The current fragments. | |
| bool | m_moreFragment |
| True if other fragments will be sent. | |
| FragmentsTimeoutsListI_t | m_timeoutIter |
| Timeout iterator to "event" handler. | |
A Set of Fragment belonging to the same packet (src, dst, identification and proto)
Definition at line 538 of file ipv4-l3-protocol.h.
| ns3::Ipv4L3Protocol::Fragments::Fragments | ( | ) |
Constructor.
Definition at line 1563 of file ipv4-l3-protocol.cc.
References m_moreFragment, and NS_LOG_FUNCTION.
| 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 1570 of file ipv4-l3-protocol.cc.
References m_fragments, m_moreFragment, and NS_LOG_FUNCTION.
Get the entire packet.
Definition at line 1625 of file ipv4-l3-protocol.cc.
References m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Get the complete part of the packet.
Definition at line 1663 of file ipv4-l3-protocol.cc.
References ns3::Create(), m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Here is the call graph for this function:| Ipv4L3Protocol::FragmentsTimeoutsListI_t ns3::Ipv4L3Protocol::Fragments::GetTimeoutIter | ( | ) |
Get the Timeout iterator.
Definition at line 1704 of file ipv4-l3-protocol.cc.
References m_timeoutIter.
| bool ns3::Ipv4L3Protocol::Fragments::IsEntire | ( | ) | const |
If all fragments have been added.
Definition at line 1595 of file ipv4-l3-protocol.cc.
References m_fragments, m_moreFragment, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
| void ns3::Ipv4L3Protocol::Fragments::SetTimeoutIter | ( | FragmentsTimeoutsListI_t | iter | ) |
Set the Timeout iterator.
| iter | The iterator. |
Definition at line 1698 of file ipv4-l3-protocol.cc.
References m_timeoutIter.
The current fragments.
Definition at line 593 of file ipv4-l3-protocol.h.
Referenced by AddFragment(), GetPacket(), GetPartialPacket(), and IsEntire().
|
private |
True if other fragments will be sent.
Definition at line 588 of file ipv4-l3-protocol.h.
Referenced by Fragments(), AddFragment(), and IsEntire().
|
private |
Timeout iterator to "event" handler.
Definition at line 598 of file ipv4-l3-protocol.h.
Referenced by GetTimeoutIter(), and SetTimeoutIter().