39 vector<RMTPort* > ret;
42 ret = lookupInt(dstAddr, qos);
45 for(
QoSFWDTableIt qIt = table.begin(); qIt != table.end(); qIt++){
46 ret = lookupInt(dstAddr, qIt->first);
47 if(!ret.empty()) {
return ret; }
55 vector<RMTPort* > ret;
57 if(it != table[qos].end()){
58 ret.push_back(it->second);
65 std::ostringstream os;
67 os << this->getFullPath()<<endl;
69 for(
QoSFWDTableIt qIt = table.begin(); qIt != table.end(); qIt++){
70 os <<
"\tQoS : " <<qIt->first << endl;
71 for(
FWDTableIt tIt = qIt->second.begin(); tIt != qIt->second.end(); tIt++){
72 os <<
"\t\t" <<tIt->first <<
" -> " <<tIt->second->getFullPath() << endl;
88 table[qos][addr] = port;
91 table[qos].erase(addr);
92 if(table[qos].empty()){
105 if(par(
"printAtEnd").boolValue()){
106 EV << toString() <<endl;
std::string getQoSId() const
Getter of selected QoS-cube identifier.
const APN & getIpcAddress() const
Getter of IPC Process address which should be unambiguous within DIF.
void remove(const std::string &addr, const std::string &qos)
QoSFWDTable::iterator QoSFWDTableIt
const std::string VAL_MGMTQOSID
virtual ConnectionId & getConnId()
void insert(const std::string &addr, const std::string &qos, RMTPort *port)
vector< RMTPort * > lookup(const PDU *pdu)
virtual Address & getDstAddr()
vector< RMTPort * > lookupInt(const string &dst, const std::string &qos)
const std::string & getName() const
Gets APN string name representation.
Register_Class(QoSTable::QoSTable)
FWDTable::iterator FWDTableIt
Address class holds IPC Process identification.