awds::RTopology Class Reference
[Awdsrouting_mod]

class that contains all topology information of the routing More...

#include <Topology.h>

List of all members.

Classes

class  AdjList
 class that represents the adjacency list of the topology graph More...
class  LinkList
 list of neigbours More...
class  LinkQuality
 class that describes a link in the topology More...
struct  NDescr
 Struct that contains all information about a node in the topology. More...

Public Types

typedef uint16_t link_quality_t
typedef std::vector
< AdjList::iterator > 
ToDo

Public Member Functions

void enumerateNodes ()
int addTopoCmd ()
 RTopology (NodeId id, Routing *routing)
void setLocked (bool t)
bool getLocked () const
virtual void reset ()
virtual bool hasNode (const NodeId &node) const
virtual bool hasLink (const NodeId &from, const NodeId &to) const
void feed (const TopoPacket &p)
virtual std::string getNameOfNode (const NodeId &id) const
virtual bool getNodeByName (NodeId &id, const char *name) const
std::string getNameList () const
int getNumNodes () const
gea::AbsTime removeOldNodes ()
void createRemoveMessages (const NodeId &node, const NDescr &nDescr)
AdjList::iterator getNodeEntry (const NodeId &id, gea::AbsTime t)
void getNextHop (const NodeId &dest, NodeId &nextHop, bool &found)
void calcNextHop (const NodeId &id)
void calcRoutes ()
void print ()
void dumpNextHops (std::ostream &os)
virtual std::string getDotString () const
virtual std::string getAdjString () const
virtual std::string getXmlString () const

Static Public Member Functions

static void cleanup_nodes (gea::Handle *h, gea::AbsTime t, void *data)
static link_quality_t max_quality ()

Public Attributes

bool verbose
Metricmetric
char nodeName [32]
linuxbasic_cb * linux_cb
AdjList adjList
bool dirty
bool locked
const NodeId myNodeId
Callback< std::string & > newDotTopology
Callback< std::string & > newXmlTopologyDelta
struct
awds::Routing::NodesObserver * 
nodeObservers
struct
awds::Routing::LinksObserver * 
linkObserver
ToDo todo

Protected Member Functions

void sendNodesChanged () const
void sendNodeAdded (const NodeId &id) const
void sendNodeRemoved (const NodeId &id) const
void sendLinksChanged () const
void sendLinkAdded (const NodeId &from, const NodeId &to) const
void sendLinkRemoved (const NodeId &from, const NodeId &to) const
void updateTopology ()


Detailed Description

class that contains all topology information of the routing

Member Function Documentation

void RTopology::feed ( const TopoPacket p  ) 

void RTopology::getNextHop ( const NodeId dest,
NodeId nextHop,
bool &  found 
)

get next hop for a given destination

Parameters:
dest the destination of the route.
nextHop the next Hop is stored in the reference.
found true, iff the destination is reachable.

References dirty, and awds::RTopology::RTopology::AdjList::find().

int awds::RTopology::getNumNodes (  )  const [inline]

get the number of nodes in the topology

References adjList.

Referenced by awds::AwdsRouting::send_topo().

gea::AbsTime RTopology::removeOldNodes (  ) 

try to find node entries in the topology and remove them.

References locked.


Member Data Documentation

the adjacency list of the graph

Referenced by awds::AwdsRouting::foreachEdge(), awds::AwdsRouting::foreachNode(), and getNumNodes().

is the routing information outdated?

Referenced by feed(), and getNextHop().

When true, now topology updates are accepted

Referenced by feed(), and removeOldNodes().

the node identifier of this instance

Referenced by feed().


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

Generated on Fri Mar 27 13:58:27 2009 for AWDS by  doxygen 1.5.8