This class stores the fragments of a packet waiting to be rebuilt. More...
Inheritance diagram for ns3::Ipv6ExtensionFragment::Fragments:
Collaboration diagram for ns3::Ipv6ExtensionFragment::Fragments: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 packet parts so far received. 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... | |
| void | SetUnfragmentablePart (Ptr< Packet > unfragmentablePart) |
| Set the unfragmentable part of the packet. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Fragments > | |
| SimpleRefCount () | |
| Default 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 operator. More... | |
| void | Ref (void) const |
| Increment the reference count. More... | |
| void | Unref (void) const |
| Decrement the reference count. More... | |
Private Attributes | |
| bool | m_moreFragment |
| If other fragments will be sent. More... | |
| std::list< std::pair< Ptr< Packet >, uint16_t > > | m_packetFragments |
| The current fragments. More... | |
| FragmentsTimeoutsListI_t | m_timeoutIter |
| Timeout iterator to "event" handler. More... | |
| Ptr< Packet > | m_unfragmentable |
| The unfragmentable part. More... | |
This class stores the fragments of a packet waiting to be rebuilt.
Definition at line 340 of file ipv6-extension.h.
| ns3::Ipv6ExtensionFragment::Fragments::Fragments | ( | ) |
Constructor.
Definition at line 670 of file ipv6-extension.cc.
| ns3::Ipv6ExtensionFragment::Fragments::~Fragments | ( | ) |
Destructor.
Definition at line 675 of file ipv6-extension.cc.
| void ns3::Ipv6ExtensionFragment::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 679 of file ipv6-extension.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the caller graph for this function:Get the entire packet.
Definition at line 729 of file ipv6-extension.cc.
References ns3::Packet::AddAtEnd(), ns3::Packet::Copy(), and list.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the call graph for this function:
Here is the caller graph for this function:Get the packet parts so far received.
Definition at line 741 of file ipv6-extension.cc.
References ns3::Packet::AddAtEnd(), ns3::Packet::Copy(), and list.
Referenced by ns3::Ipv6ExtensionFragment::HandleFragmentsTimeout().
Here is the call graph for this function:
Here is the caller graph for this function:| Ipv6ExtensionFragment::FragmentsTimeoutsListI_t ns3::Ipv6ExtensionFragment::Fragments::GetTimeoutIter | ( | ) |
Get the Timeout iterator.
Definition at line 776 of file ipv6-extension.cc.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the caller graph for this function:| bool ns3::Ipv6ExtensionFragment::Fragments::IsEntire | ( | ) | const |
If all fragments have been added.
Definition at line 706 of file ipv6-extension.cc.
References list.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the caller graph for this function:| void ns3::Ipv6ExtensionFragment::Fragments::SetTimeoutIter | ( | FragmentsTimeoutsListI_t | iter | ) |
Set the Timeout iterator.
| iter | The iterator. |
Definition at line 769 of file ipv6-extension.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the caller graph for this function:| void ns3::Ipv6ExtensionFragment::Fragments::SetUnfragmentablePart | ( | Ptr< Packet > | unfragmentablePart | ) |
Set the unfragmentable part of the packet.
| unfragmentablePart | the unfragmentable part |
Definition at line 700 of file ipv6-extension.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::Ipv6ExtensionFragment::Process().
Here is the caller graph for this function:
|
private |
If other fragments will be sent.
Definition at line 401 of file ipv6-extension.h.
|
private |
The current fragments.
Definition at line 406 of file ipv6-extension.h.
|
private |
Timeout iterator to "event" handler.
Definition at line 416 of file ipv6-extension.h.
The unfragmentable part.
Definition at line 411 of file ipv6-extension.h.