be.ac.ulg.montefiore.run.totem.domain.model
Interface SPFCache

All Known Implementing Classes:
SPFCacheImpl

public interface SPFCache

The SPFCache is designed to improve the performance of SPF path computation. It's based on the assumption that path does not change except when a link metric change, a link status change, a link addition or a link remove. So it can improve the performance if multiple call to getPath are done without metric, status or links changes.

Creation date: 07-Jul-2005 15:03:45

Author:
Fabian Skivee (skivee@run.montefiore.ulg.ac.be)

Nested Class Summary
static interface SPFCache.SPFCacheListener
          The listener that updates the SPF cache
 
Method Summary
 void clear()
          Remove all the SPF path in the cache
 void clearPath(Node src, Node dst)
          Remove the SPF path computed between source node an destination node from the cache This method must be used if the path have potentially changed.
 SPFCache.SPFCacheListener getListener()
          Get the domain listener of the cache
 Path getPath(Node src, Node dst)
          Get the SPF path between a source node and a destination node
 java.util.List<Path> getPath(Node src, Node dst, boolean ECMP)
          Get all the SPF path between a source node and a destination node if the ECMP is true and a single SPF otherwise
 java.util.List<Path> getPath(Node src, Node dst, boolean ECMP, boolean stopOnError)
          Get all the SPF path between a source node and a destination node if the ECMP is true and a single SPF otherwise
 

Method Detail

getListener

SPFCache.SPFCacheListener getListener()
Get the domain listener of the cache

Returns:
the domain listener of the cache

getPath

Path getPath(Node src,
             Node dst)
             throws NoRouteToHostException,
                    RoutingException
Get the SPF path between a source node and a destination node

Parameters:
src - the source node
dst - the destination node
Returns:
the SPF path
Throws:
NoRouteToHostException
RoutingException

getPath

java.util.List<Path> getPath(Node src,
                             Node dst,
                             boolean ECMP)
                             throws NoRouteToHostException,
                                    RoutingException
Get all the SPF path between a source node and a destination node if the ECMP is true and a single SPF otherwise

Parameters:
src - the source node
dst - the destination node
ECMP - true if equal cost multiple path is activated and false otherwise
Returns:
a list of equal cost SPF
Throws:
NoRouteToHostException
RoutingException

getPath

java.util.List<Path> getPath(Node src,
                             Node dst,
                             boolean ECMP,
                             boolean stopOnError)
                             throws NoRouteToHostException,
                                    RoutingException
Get all the SPF path between a source node and a destination node if the ECMP is true and a single SPF otherwise

Parameters:
src - the source node
dst - the destination node
ECMP - true if equal cost multiple path is activated and false otherwise
stopOnError -
Returns:
a list of equal cost SPF
Throws:
NoRouteToHostException
RoutingException

clearPath

void clearPath(Node src,
               Node dst)
Remove the SPF path computed between source node an destination node from the cache This method must be used if the path have potentially changed.

Parameters:
src - the source node
dst - the destination node

clear

void clear()
Remove all the SPF path in the cache



Copyright © 2004-2007 Research Unit in Networking, All Rights Reserved.