be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl
Class PureMPLSCosLinkLoadComputer

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
      extended by be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.PureMPLSCosLinkLoadComputer
All Implemented Interfaces:
LinkLoadComputer

public class PureMPLSCosLinkLoadComputer
extends AbstractLinkLoadComputer

TODO: warning or error if 2 matrices are routed for different classes. This LinkLoadComputer computes MPLS load by routing some traffic matrices, each associated with a class of service. An element (src, dst) of the traffic matrix is routed on a primary lsp if the lsp path is from src to dst and that it accepts the associated cos (bandwidth reservation is not taken into account).

Creation date: 24/01/2008

Author:
Gaƫl Monfort (monfort@run.montefiore.ulg.ac.be)

Nested Class Summary
static class PureMPLSCosLinkLoadComputer.LOAD_BALANCING_OPTION
           
 
Field Summary
 
Fields inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
changeListener, domain
 
Constructor Summary
PureMPLSCosLinkLoadComputer(Domain domain)
           
 
Method Summary
 void addTrafficMatrix(TrafficMatrix tm, java.lang.String cos)
          Add a traffic matrix to be routed with the given class of service.
 void destroy()
          Destroy the linkLoadComputer: remove all listeners, invalidate the data and stop listening to events.
 LoadData detachData()
          Returns the data used by the link load computer and do not use it internally any more.
 boolean equals(java.lang.Object obj)
          returns true if the LinkLoadComputer uses the same parameters as the object o.
 CosMPLSLoadData getData()
          Returns a view of the data.
 java.lang.String getShortName()
          Return a string representing the parameters in short.
 java.util.List<TrafficMatrix> getTrafficMatrices()
          TODO: maybe change this to a set Returns the traffic matrix.
 void recompute()
          Recomputes the traffic for all given traffic matrices.
 void startListening()
          add the change listener to the domain, and to the currently used traffic matrices
 void stopListening()
          Remove the listener from the domain and from the currently used traffic matrices
 java.lang.String toString()
           
 
Methods inherited from class be.ac.ulg.montefiore.run.totem.trafficMatrix.model.impl.AbstractLinkLoadComputer
addListener, dataChanged, getDomain, invalidate, isUpToDate, removeListener, setUptoDate, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface be.ac.ulg.montefiore.run.totem.trafficMatrix.model.LinkLoadComputer
hashCode
 

Constructor Detail

PureMPLSCosLinkLoadComputer

public PureMPLSCosLinkLoadComputer(Domain domain)
Method Detail

addTrafficMatrix

public void addTrafficMatrix(TrafficMatrix tm,
                             java.lang.String cos)
Add a traffic matrix to be routed with the given class of service.

Parameters:
tm -
cos -

startListening

public void startListening()
Description copied from class: AbstractLinkLoadComputer
add the change listener to the domain, and to the currently used traffic matrices

Specified by:
startListening in interface LinkLoadComputer
Overrides:
startListening in class AbstractLinkLoadComputer

stopListening

public void stopListening()
Description copied from class: AbstractLinkLoadComputer
Remove the listener from the domain and from the currently used traffic matrices

Specified by:
stopListening in interface LinkLoadComputer
Overrides:
stopListening in class AbstractLinkLoadComputer

recompute

public void recompute()
Recomputes the traffic for all given traffic matrices.


getTrafficMatrices

public java.util.List<TrafficMatrix> getTrafficMatrices()
Description copied from interface: LinkLoadComputer
TODO: maybe change this to a set Returns the traffic matrix.

Returns:

getShortName

public java.lang.String getShortName()
Description copied from interface: LinkLoadComputer
Return a string representing the parameters in short.

Returns:

getData

public CosMPLSLoadData getData()
Description copied from interface: LinkLoadComputer
Returns a view of the data. The returned data are still used internally.

Returns:

detachData

public LoadData detachData()
Description copied from interface: LinkLoadComputer
Returns the data used by the link load computer and do not use it internally any more. After the data has been detached, the load has to be computed again by a call to LinkLoadComputer.recompute().

Returns:

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

destroy

public void destroy()
Description copied from class: AbstractLinkLoadComputer
Destroy the linkLoadComputer: remove all listeners, invalidate the data and stop listening to events.

Specified by:
destroy in interface LinkLoadComputer
Overrides:
destroy in class AbstractLinkLoadComputer

equals

public boolean equals(java.lang.Object obj)
Description copied from interface: LinkLoadComputer
returns true if the LinkLoadComputer uses the same parameters as the object o. (the computed data at a given moment are equivalent)

Specified by:
equals in interface LinkLoadComputer
Overrides:
equals in class java.lang.Object


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