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

IPv6 Option base. More...

#include <ipv6-option.h>

+ Inheritance diagram for ns3::Ipv6Option:
+ Collaboration diagram for ns3::Ipv6Option:

Public Member Functions

virtual ~Ipv6Option ()
 Destructor.
virtual uint8_t GetOptionNumber () const =0
 Get the option number.
virtual uint8_t Process (Ptr< Packet > packet, uint8_t offset, Ipv6Header const &ipv6Header, bool &isDropped)=0
 Process method.
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 ()
 Get the type identificator.

Private Attributes

Ptr< Nodem_node
 The node.

Additional Inherited Members

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

Detailed Description

IPv6 Option base.

If you want to implement a new IPv6 option, all you have to do is implement a subclass of this class and add it to an Ipv6OptionDemux.

Definition at line 45 of file ipv6-option.h.

Constructor & Destructor Documentation

ns3::Ipv6Option::~Ipv6Option ( )
virtual

Destructor.

Definition at line 46 of file ipv6-option.cc.

References NS_LOG_FUNCTION_NOARGS.

Member Function Documentation

virtual uint8_t ns3::Ipv6Option::GetOptionNumber ( ) const
pure virtual

Get the option number.

Returns
option number

Implemented in ns3::Ipv6OptionRouterAlert, ns3::Ipv6OptionJumbogram, ns3::Ipv6OptionPadn, and ns3::Ipv6OptionPad1.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

Get the type identificator.

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

Returns
type identificator

Attributes defined for this type:

No TraceSources defined for this type.

Reimplemented from ns3::Object.

Reimplemented in ns3::Ipv6OptionRouterAlert, ns3::Ipv6OptionJumbogram, ns3::Ipv6OptionPadn, and ns3::Ipv6OptionPad1.

Definition at line 34 of file ipv6-option.cc.

References GetOptionNumber(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

virtual uint8_t ns3::Ipv6Option::Process ( Ptr< Packet packet,
uint8_t  offset,
Ipv6Header const &  ipv6Header,
bool &  isDropped 
)
pure virtual

Process method.

Called from Ipv6L3Protocol::Receive.

Parameters
packetthe packet
offsetthe offset of the extension to process
ipv6Headerthe IPv6 header of packet received
isDroppedif the packet must be dropped
Returns
the processed size

Implemented in ns3::Ipv6OptionRouterAlert, ns3::Ipv6OptionJumbogram, ns3::Ipv6OptionPadn, and ns3::Ipv6OptionPad1.

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

Set the node.

Parameters
nodethe node to set

Definition at line 51 of file ipv6-option.cc.

References m_node, and NS_LOG_FUNCTION.

Member Data Documentation

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

The node.

Definition at line 87 of file ipv6-option.h.

Referenced by SetNode().


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