RINASim  October 2016
Documentation of framework for OMNeT++
NSPSimpleDC::IntDCRouting Class Referenceabstract

#include <IntDCRouting.h>

Inheritance diagram for NSPSimpleDC::IntDCRouting:
IntRouting NSPSimpleDC::Edge_Routing NSPSimpleDC::Fabric_Routing NSPSimpleDC::Spine_Routing NSPSimpleDC::TOR_Routing

Public Member Functions

bool processUpdate (IntRoutingUpdate *update)
 
void insertNeighbour (const Address &addr, const DCAddr &dst)
 
void removeNeighbour (const Address &addr, const DCAddr &dst)
 
vector< rtEntrygetChanges ()
 
vector< rtEntrygetAll ()
 
- Public Member Functions inherited from IntRouting
void receiveUpdate (IntRoutingUpdate *update)
 

Protected Member Functions

void onPolicyInit ()
 
virtual void handleMessage (cMessage *msg)
 
virtual void activeNeigh (const DCAddr &dst)=0
 
virtual void inactiveNeigh (const DCAddr &dst)=0
 
virtual void printAtEnd ()=0
 
virtual void startMyLinks ()=0
 
void scheduleUpdate ()
 
void scheduleClean ()
 
map< DCAddr, tableNode > * computeTable ()
 
vector< DCAddrgetNeis (DCAddr)
 
virtual set< DCAddrgetNotOptimalDst (map< DCAddr, tableNode > *table)=0
 
void finish ()
 
- Protected Member Functions inherited from IntRouting
void initialize ()
 
void sendUpdate (IntRoutingUpdate *update)
 

Protected Attributes

DCAddr Im
 
cMessage * clean
 
cMessage * start
 
cMessage * sched
 
int pods
 
int torXpod
 
int fabricXpod
 
int spineXfabric
 
int edgeSets
 
simtime_t updateWait
 
simtime_t expiration
 
map< linkId, linkInfomyLinks
 
map< linkId, linkInfolinksOk
 
map< linkId, linkInfolinksKo
 
set< AddressactiveNeighbours
 
map< DCAddr, set< const linkId * > > cache
 
- Protected Attributes inherited from IntRouting
Address myAddress
 

Detailed Description

Definition at line 92 of file IntDCRouting.h.

Member Function Documentation

virtual void NSPSimpleDC::IntDCRouting::activeNeigh ( const DCAddr dst)
protectedpure virtual
map< DCAddr, tableNode > * NSPSimpleDC::IntDCRouting::computeTable ( )
protected

Definition at line 261 of file IntDCRouting.cc.

Referenced by finish(), getAll(), and getChanges().

void NSPSimpleDC::IntDCRouting::finish ( )
protectedvirtual

Reimplemented from IntRouting.

Definition at line 421 of file IntDCRouting.cc.

vector< rtEntry > NSPSimpleDC::IntDCRouting::getAll ( )

Definition at line 400 of file IntDCRouting.cc.

vector< rtEntry > NSPSimpleDC::IntDCRouting::getChanges ( )

Definition at line 351 of file IntDCRouting.cc.

vector< DCAddr > NSPSimpleDC::IntDCRouting::getNeis ( DCAddr  n)
protected

Definition at line 320 of file IntDCRouting.cc.

Referenced by computeTable().

virtual set<DCAddr> NSPSimpleDC::IntDCRouting::getNotOptimalDst ( map< DCAddr, tableNode > *  table)
protectedpure virtual
void NSPSimpleDC::IntDCRouting::handleMessage ( cMessage *  msg)
protectedvirtual

Definition at line 80 of file IntDCRouting.cc.

virtual void NSPSimpleDC::IntDCRouting::inactiveNeigh ( const DCAddr dst)
protectedpure virtual
void NSPSimpleDC::IntDCRouting::insertNeighbour ( const Address addr,
const DCAddr dst 
)

Definition at line 233 of file IntDCRouting.cc.

void NSPSimpleDC::IntDCRouting::onPolicyInit ( )
protectedvirtual

Implements IntRouting.

Definition at line 137 of file IntDCRouting.cc.

virtual void NSPSimpleDC::IntDCRouting::printAtEnd ( )
protectedpure virtual
bool NSPSimpleDC::IntDCRouting::processUpdate ( IntRoutingUpdate update)
virtual

Implements IntRouting.

Definition at line 160 of file IntDCRouting.cc.

void NSPSimpleDC::IntDCRouting::removeNeighbour ( const Address addr,
const DCAddr dst 
)

Definition at line 239 of file IntDCRouting.cc.

void NSPSimpleDC::IntDCRouting::scheduleClean ( )
protected

Definition at line 252 of file IntDCRouting.cc.

Referenced by processUpdate().

virtual void NSPSimpleDC::IntDCRouting::startMyLinks ( )
protectedpure virtual

Member Data Documentation

set<Address> NSPSimpleDC::IntDCRouting::activeNeighbours
protected

Definition at line 113 of file IntDCRouting.h.

Referenced by handleMessage(), insertNeighbour(), and removeNeighbour().

map<DCAddr, set<const linkId *> > NSPSimpleDC::IntDCRouting::cache
protected

Definition at line 115 of file IntDCRouting.h.

Referenced by getAll(), and getChanges().

cMessage* NSPSimpleDC::IntDCRouting::clean
protected

Definition at line 108 of file IntDCRouting.h.

Referenced by handleMessage(), onPolicyInit(), and scheduleClean().

int NSPSimpleDC::IntDCRouting::edgeSets
protected
simtime_t NSPSimpleDC::IntDCRouting::expiration
protected

Definition at line 110 of file IntDCRouting.h.

Referenced by handleMessage(), onPolicyInit(), processUpdate(), and scheduleClean().

int NSPSimpleDC::IntDCRouting::fabricXpod
protected
map<linkId, linkInfo> NSPSimpleDC::IntDCRouting::linksOk
protected

Definition at line 112 of file IntDCRouting.h.

Referenced by handleMessage(), and processUpdate().

int NSPSimpleDC::IntDCRouting::pods
protected
cMessage * NSPSimpleDC::IntDCRouting::sched
protected

Definition at line 108 of file IntDCRouting.h.

Referenced by handleMessage(), onPolicyInit(), and scheduleUpdate().

int NSPSimpleDC::IntDCRouting::torXpod
protected
simtime_t NSPSimpleDC::IntDCRouting::updateWait
protected

Definition at line 110 of file IntDCRouting.h.

Referenced by onPolicyInit(), and scheduleUpdate().


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