A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::Ipv6ExtensionFragment::Fragments Class Reference

A Set of Fragment. More...

+ Inheritance diagram for ns3::Ipv6ExtensionFragment::Fragments:

Public Member Functions

 Fragments ()
 Constructor.
 
 ~Fragments ()
 Destructor.
 
void AddFragment (Ptr< Packet > fragment, uint16_t fragmentOffset, bool moreFragment)
 Add a fragment. More...
 
void CancelTimeout ()
 Cancel the timeout event.
 
Ptr< PacketGetPacket () const
 Get the entire packet. More...
 
Ptr< PacketGetPartialPacket () const
 Get the packet parts so far received. More...
 
bool IsEntire () const
 If all fragments have been added. More...
 
void SetTimeoutEventId (EventId event)
 Set the Timeout EventId.
 
void SetUnfragmentablePart (Ptr< Packet > unfragmentablePart)
 Set the unfragmentable part of the packet. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Fragments >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 

Private Attributes

bool m_moreFragment
 If other fragments will be sent.
 
std::list< std::pair< Ptr
< Packet >, uint16_t > > 
m_packetFragments
 The current fragments.
 
EventId m_timeoutEventId
 Timeout handler event.
 
Ptr< Packetm_unfragmentable
 The unfragmentable part.
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< Fragments >
static void Cleanup (void)
 

Detailed Description

A Set of Fragment.

Definition at line 303 of file ipv6-extension.h.

Member Function Documentation

void ns3::Ipv6ExtensionFragment::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 597 of file ipv6-extension.cc.

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

Get the entire packet.

Returns
the entire packet

Definition at line 645 of file ipv6-extension.cc.

References ns3::Packet::AddAtEnd(), and ns3::Packet::Copy().

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

Get the packet parts so far received.

Returns
the partial packet

Definition at line 657 of file ipv6-extension.cc.

References ns3::Packet::AddAtEnd(), and ns3::Packet::Copy().

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

If all fragments have been added.

Returns
true if the packet is entire

Definition at line 622 of file ipv6-extension.cc.

void ns3::Ipv6ExtensionFragment::Fragments::SetUnfragmentablePart ( Ptr< Packet unfragmentablePart)

Set the unfragmentable part of the packet.

Parameters
unfragmentablePartthe unfragmentable part

Definition at line 617 of file ipv6-extension.cc.


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