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

Demultiplexes IPv6 extensions. More...

#include <ipv6-extension-demux.h>

+ Inheritance diagram for ns3::Ipv6ExtensionDemux:
+ Collaboration diagram for ns3::Ipv6ExtensionDemux:

Public Member Functions

 Ipv6ExtensionDemux ()
 Constructor.
virtual ~Ipv6ExtensionDemux ()
 Destructor.
Ptr< Ipv6ExtensionGetExtension (uint8_t extensionNumber)
 Get the extension corresponding to extensionNumber.
void Insert (Ptr< Ipv6Extension > extension)
 Insert a new IPv6 Extension.
void Remove (Ptr< Ipv6Extension > extension)
 Remove an extension from this demux.
void SetNode (Ptr< Node > node)
 Set the node.
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
AggregateIterator GetAggregateIterator (void) const
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 The interface ID.

Protected Member Functions

virtual void DoDispose ()
 Dispose object.
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoStart (void)
virtual void NotifyNewAggregate (void)

Private Types

typedef std::list< Ptr
< Ipv6Extension > > 
Ipv6ExtensionList_t

Private Attributes

Ipv6ExtensionList_t m_extensions
 List of IPv6 Extensions supported.
Ptr< Nodem_node
 The node.

Detailed Description

Demultiplexes IPv6 extensions.

Definition at line 38 of file ipv6-extension-demux.h.

Member Typedef Documentation

Constructor & Destructor Documentation

ns3::Ipv6ExtensionDemux::Ipv6ExtensionDemux ( )

Constructor.

Definition at line 45 of file ipv6-extension-demux.cc.

ns3::Ipv6ExtensionDemux::~Ipv6ExtensionDemux ( )
virtual

Destructor.

Definition at line 49 of file ipv6-extension-demux.cc.

Member Function Documentation

void ns3::Ipv6ExtensionDemux::DoDispose ( void  )
protectedvirtual

Dispose object.

Reimplemented from ns3::Object.

Definition at line 53 of file ipv6-extension-demux.cc.

References m_extensions, and m_node.

Ptr< Ipv6Extension > ns3::Ipv6ExtensionDemux::GetExtension ( uint8_t  extensionNumber)

Get the extension corresponding to extensionNumber.

Parameters
extensionNumberextension number of the extension to retrieve
Returns
a matching IPv6 extension

Definition at line 75 of file ipv6-extension-demux.cc.

References m_extensions.

TypeId ns3::Ipv6ExtensionDemux::GetTypeId ( void  )
static

The interface ID.

This method returns the TypeId associated to ns3::Ipv6ExtensionDemux.

Returns
type ID

Attributes defined for this type:

No TraceSources defined for this type.

Reimplemented from ns3::Object.

Definition at line 33 of file ipv6-extension-demux.cc.

References m_extensions, ns3::MakeObjectVectorAccessor(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

void ns3::Ipv6ExtensionDemux::Insert ( Ptr< Ipv6Extension extension)

Insert a new IPv6 Extension.

Parameters
extensionthe extension to insert

Definition at line 70 of file ipv6-extension-demux.cc.

References m_extensions.

void ns3::Ipv6ExtensionDemux::Remove ( Ptr< Ipv6Extension extension)

Remove an extension from this demux.

Parameters
extensionpointer on the extension to remove

Definition at line 87 of file ipv6-extension-demux.cc.

References m_extensions.

void ns3::Ipv6ExtensionDemux::SetNode ( Ptr< Node node)

Set the node.

Parameters
nodethe node to set

Definition at line 65 of file ipv6-extension-demux.cc.

References m_node.

Member Data Documentation

Ipv6ExtensionList_t ns3::Ipv6ExtensionDemux::m_extensions
private

List of IPv6 Extensions supported.

Definition at line 94 of file ipv6-extension-demux.h.

Referenced by DoDispose(), GetExtension(), GetTypeId(), Insert(), and Remove().

Ptr<Node> ns3::Ipv6ExtensionDemux::m_node
private

The node.

Definition at line 99 of file ipv6-extension-demux.h.

Referenced by DoDispose(), and SetNode().


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