A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::Ipv4L3Protocol::Fragments Class Reference

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< PacketGetPacket () const
 Get the entire packet.
 
Ptr< PacketGetPartialPacket () 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.
 
SimpleRefCountoperator= (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.
 

Detailed Description

A Set of Fragment belonging to the same packet (src, dst, identification and proto)

Definition at line 544 of file ipv4-l3-protocol.h.

Constructor & Destructor Documentation

◆ Fragments()

ns3::Ipv4L3Protocol::Fragments::Fragments ( )

Constructor.

Definition at line 1577 of file ipv4-l3-protocol.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ AddFragment()

void ns3::Ipv4L3Protocol::Fragments::AddFragment ( Ptr< Packet > fragment,
uint16_t fragmentOffset,
bool moreFragment )

Add a fragment.

Parameters
fragmentthe fragment
fragmentOffsetthe offset of the fragment
moreFragmentthe bit "More Fragment"

Definition at line 1584 of file ipv4-l3-protocol.cc.

References ns3::Ipv4L3Protocol::m_fragments, and NS_LOG_FUNCTION.

◆ GetPacket()

Ptr< Packet > ns3::Ipv4L3Protocol::Fragments::GetPacket ( ) const

Get the entire packet.

Returns
the entire packet

Definition at line 1639 of file ipv4-l3-protocol.cc.

References ns3::Ipv4L3Protocol::m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ GetPartialPacket()

Ptr< Packet > ns3::Ipv4L3Protocol::Fragments::GetPartialPacket ( ) const

Get the complete part of the packet.

Returns
the part we have complete

Definition at line 1677 of file ipv4-l3-protocol.cc.

References ns3::Create(), ns3::Ipv4L3Protocol::m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

+ Here is the call graph for this function:

◆ GetTimeoutIter()

Ipv4L3Protocol::FragmentsTimeoutsListI_t ns3::Ipv4L3Protocol::Fragments::GetTimeoutIter ( )

Get the Timeout iterator.

Returns
The iterator.

Definition at line 1718 of file ipv4-l3-protocol.cc.

◆ IsEntire()

bool ns3::Ipv4L3Protocol::Fragments::IsEntire ( ) const

If all fragments have been added.

Returns
true if the packet is entire

Definition at line 1609 of file ipv4-l3-protocol.cc.

References ns3::Ipv4L3Protocol::m_fragments, NS_LOG_FUNCTION, and NS_LOG_LOGIC.

◆ SetTimeoutIter()

void ns3::Ipv4L3Protocol::Fragments::SetTimeoutIter ( FragmentsTimeoutsListI_t iter)

Set the Timeout iterator.

Parameters
iterThe iterator.

Definition at line 1712 of file ipv4-l3-protocol.cc.

Member Data Documentation

◆ m_fragments

std::list<std::pair<Ptr<Packet>, uint16_t> > ns3::Ipv4L3Protocol::Fragments::m_fragments
private

The current fragments.

Definition at line 599 of file ipv4-l3-protocol.h.

◆ m_moreFragment

bool ns3::Ipv4L3Protocol::Fragments::m_moreFragment
private

True if other fragments will be sent.

Definition at line 594 of file ipv4-l3-protocol.h.

◆ m_timeoutIter

FragmentsTimeoutsListI_t ns3::Ipv4L3Protocol::Fragments::m_timeoutIter
private

Timeout iterator to "event" handler.

Definition at line 604 of file ipv4-l3-protocol.h.


The documentation for this class was generated from the following files: