MPLSPacket Class Reference

#include <MPLSPacket.h>

List of all members.


Detailed Description

Represents a packet with MPLS headers

Public Member Functions

 MPLSPacket (const char *name=NULL)
 MPLSPacket (const MPLSPacket &p)
virtual MPLSPacketoperator= (const MPLSPacket &p)
virtual MPLSPacketdup () const
void swapLabel (int newLabel)
void pushLabel (int newLabel)
void popLabel ()
bool hasLabel ()
int getTopLabel ()

Protected Types

typedef std::stack< int > LabelStack

Protected Attributes

LabelStack labels

Member Typedef Documentation

typedef std::stack<int> MPLSPacket::LabelStack [protected]


Constructor & Destructor Documentation

MPLSPacket::MPLSPacket ( const char *  name = NULL  ) 

00021                                        : cPacket(name)
00022 {
00023 }

MPLSPacket::MPLSPacket ( const MPLSPacket p  ) 

00026 {
00027     setName(p.getName());
00028     operator=(p);
00029 }


Member Function Documentation

MPLSPacket & MPLSPacket::operator= ( const MPLSPacket p  )  [virtual]

Referenced by MPLSPacket().

00033 {
00034     cPacket::operator=(p);
00035     return *this;
00036 }

virtual MPLSPacket* MPLSPacket::dup (  )  const [inline, virtual]

cloning function

00043 {return new MPLSPacket(*this);}

void MPLSPacket::swapLabel ( int  newLabel  )  [inline]

Swap Label operation

Referenced by MPLS::doStackOps().

00048 {labels.top()=newLabel;}

void MPLSPacket::pushLabel ( int  newLabel  )  [inline]

Pushes new label on the label stack

Referenced by MPLS::doStackOps().

00053 {labels.push(newLabel);addBitLength(32);}

void MPLSPacket::popLabel (  )  [inline]

Pops the top label

Referenced by MPLS::doStackOps().

00058 {labels.pop();addBitLength(-32);}

bool MPLSPacket::hasLabel (  )  [inline]

Returns true if the label stack is not empty

Referenced by MPLS::doStackOps(), MPLS::processMPLSPacketFromL2(), and MPLS::tryLabelAndForwardIPDatagram().

00063 {return !labels.empty();}

int MPLSPacket::getTopLabel (  )  [inline]

Returns the top label

Referenced by MPLS::processMPLSPacketFromL2().

00068 {return labels.top();}


Member Data Documentation


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

Generated on Fri Mar 20 18:51:20 2009 for INET Framework for OMNeT++/OMNEST by  doxygen 1.5.5