bcds.phison.sim
Class PmLinkFailure<V,E>

java.lang.Object
  extended by bcds.phison.sim.PmBase<V,E>
      extended by bcds.phison.sim.PmLinkFailure<V,E>
All Implemented Interfaces:
ProcessingModule<V,E>, WithEnvParams

public class PmLinkFailure<V,E>
extends PmBase<V,E>
implements ProcessingModule<V,E>

Process (single) link failures, that is, act upon LINK_FAILURE and LINK_REPAIR events. No recovery is attempted; once failed, connections are lost for ever. NOTE that this class supports unprotected and dedicated protections only. - 2010-09-17 Converted to a "Pm" (processing module) from the code within Sim.java.


Constructor Summary
PmLinkFailure()
           
 
Method Summary
 java.lang.Object[] getEnvParams()
          Returns an empty array.
 void registerLinkFailureEvent(bcds.phison.sim.PmLinkFailure.Stats st, SimEvents ev, E e, java.lang.String traf_type, TED<V,E> ted)
          Updates: - the number of concurrent link failures, - the list of links that have failed, - the number of connections affected by the failure, - the affected capacity, - the histogram "failure notification time".
 void run(SimEvents evtype, ConnectionInfo<V,E> rq)
          Empty implementation.
 void setup(SimCore<V,E> sim)
          Saves the parameter sim, which can later be obtained by calling the sim() method.
 void shutdown()
          Empty implementation.
 
Methods inherited from class bcds.phison.sim.PmBase
ctx, env, getEnviron, getId, getName, opt, sim, stats
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bcds.phison.sim.ProcessingModule
getId, sim
 
Methods inherited from interface bcds.phison.WithEnvParams
getEnviron, getName
 

Constructor Detail

PmLinkFailure

public PmLinkFailure()
Method Detail

setup

public void setup(SimCore<V,E> sim)
Description copied from class: PmBase
Saves the parameter sim, which can later be obtained by calling the sim() method. It also calls adaptTypes if the environment object is non-null (which should normally be).

Specified by:
setup in interface ProcessingModule<V,E>
Overrides:
setup in class PmBase<V,E>

run

public void run(SimEvents evtype,
                ConnectionInfo<V,E> rq)
Description copied from class: PmBase
Empty implementation.

Specified by:
run in interface ProcessingModule<V,E>
Overrides:
run in class PmBase<V,E>

shutdown

public void shutdown()
Description copied from class: PmBase
Empty implementation.

Specified by:
shutdown in interface ProcessingModule<V,E>
Overrides:
shutdown in class PmBase<V,E>

registerLinkFailureEvent

public void registerLinkFailureEvent(bcds.phison.sim.PmLinkFailure.Stats st,
                                     SimEvents ev,
                                     E e,
                                     java.lang.String traf_type,
                                     TED<V,E> ted)
Updates: - the number of concurrent link failures, - the list of links that have failed, - the number of connections affected by the failure, - the affected capacity, - the histogram "failure notification time".

Parameters:
ev. - The type of event.
e. - The affected link.
traf_type. - The traffic or demand type. null means "any type", i.e., global statistics.
ted. - Needed to obtain the list of connections passing thourgh e, and for accessing the graph (ted.g).

getEnvParams

public java.lang.Object[] getEnvParams()
Description copied from class: PmBase
Returns an empty array. This is the default implementation, suitable for modules that do not need additional environment parameters.

Specified by:
getEnvParams in interface WithEnvParams
Overrides:
getEnvParams in class PmBase<V,E>