#include <MPLSPacket.h>
Public Member Functions | |
MPLSPacket (const char *name=NULL) | |
MPLSPacket (const MPLSPacket &p) | |
virtual MPLSPacket & | operator= (const MPLSPacket &p) |
virtual MPLSPacket * | dup () 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 |
typedef std::stack<int> MPLSPacket::LabelStack [protected] |
MPLSPacket::MPLSPacket | ( | const MPLSPacket & | p | ) |
MPLSPacket & MPLSPacket::operator= | ( | const MPLSPacket & | p | ) | [virtual] |
virtual MPLSPacket* MPLSPacket::dup | ( | ) | const [inline, virtual] |
void MPLSPacket::swapLabel | ( | int | newLabel | ) | [inline] |
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] |
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] |
LabelStack MPLSPacket::labels [protected] |