INET Framework for OMNeT++/OMNEST
PortTable Class Reference

#include <portTable.h>

List of all members.

Classes

struct  s_port

Public Types

enum  e_port_state {
  OFF = 0, BLOCKING = 1, DISCARTING = 2, LEARNING = 3,
  FORWARDING = 4
}
typedef enum
PortTable::e_port_state 
tPortState
typedef struct PortTable::s_port tPort
typedef std::vector< tPorttPortList

Public Member Functions

tPort getPort (int)
tPortState getState (int)
void setState (int, tPortState)
void setState (std::vector< int > &, tPortState)
void allState (tPortState)
void allOff ()
void off (std::vector< int > &)
void forwarding (std::vector< int > &)

Protected Member Functions

virtual void initialize ()
virtual void handleMessage (cMessage *msg)

Private Member Functions

void initDefault ()

Private Attributes

int portCount
tPortList list

Detailed Description

Definition at line 22 of file portTable.h.


Member Typedef Documentation

typedef std::vector<tPort> PortTable::tPortList

Definition at line 38 of file portTable.h.


Member Enumeration Documentation

Enumerator:
OFF 
BLOCKING 
DISCARTING 
LEARNING 
FORWARDING 

Definition at line 26 of file portTable.h.

                                    {
                  OFF = 0,
                  BLOCKING = 1,
                  DISCARTING = 2,
                  LEARNING = 3,
                  FORWARDING = 4,
          } tPortState;

Member Function Documentation

Definition at line 64 of file portTable.cc.

                       {
        Enter_Method_Silent();
        allState(OFF);
        return;
}

Definition at line 56 of file portTable.cc.

Referenced by allOff().

                                                  {
        Enter_Method_Silent();
        for (unsigned int i = 0; i < (unsigned int)portCount; i++) {
                setState(i, state);
        }
        return;
}
void PortTable::forwarding ( std::vector< int > &  pList)

Definition at line 77 of file portTable.cc.

                                                {
        Enter_Method_Silent();
                setState(pList, FORWARDING);

        return;
}

Definition at line 23 of file portTable.cc.

Referenced by getState().

                                          {
        Enter_Method_Silent();
        if (port < 0 || port >= portCount) {
                error("PortTable: exceeded portTable limit in getPort() / getState()");
        }

        return list.at(port);

}

Definition at line 32 of file portTable.cc.

                                                {
        Enter_Method_Silent();
        return getPort(port).state;
}
void PortTable::handleMessage ( cMessage *  msg) [protected, virtual]

Definition at line 106 of file portTable.cc.

{

}
void PortTable::initDefault ( ) [private]

Definition at line 87 of file portTable.cc.

Referenced by initialize().

                            {
        tPort tmp;
        tmp.state = FORWARDING;
        list.insert(list.begin(), portCount, tmp);
        return;
}
void PortTable::initialize ( ) [protected, virtual]

Definition at line 96 of file portTable.cc.

{
        portCount = par("portCount");

        initDefault();

        WATCH_VECTOR(list);
        return;
}
void PortTable::off ( std::vector< int > &  pList)

Definition at line 70 of file portTable.cc.

                                         {
        Enter_Method_Silent();
                setState(pList, OFF);

        return;
}
void PortTable::setState ( int  port,
PortTable::tPortState  state 
)

Definition at line 38 of file portTable.cc.

Referenced by allState(), forwarding(), off(), and setState().

                                                            {
        Enter_Method_Silent();
        if (port < 0 || port >= portCount) {
                error("PortTable: exceeded portTable limit in setState()");
        }
        list.at(port).state = state;

        return;
}
void PortTable::setState ( std::vector< int > &  pList,
PortTable::tPortState  state 
)

Definition at line 48 of file portTable.cc.

                                                                         {
        Enter_Method_Silent();
        for (unsigned int i = 0; i < pList.size(); i++) {
                setState(pList.at(i), state);
        }
        return;
}

Member Data Documentation

Definition at line 56 of file portTable.h.

Referenced by getPort(), initDefault(), initialize(), and setState().

int PortTable::portCount [private]

Definition at line 55 of file portTable.h.

Referenced by allState(), getPort(), initDefault(), initialize(), and setState().


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