|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--SSF.OS.ProtocolSession
|
+--gov.nist.antd.merlin.util.AbstractAddDropConfigurator
|
+--gov.nist.antd.merlin.util.AutoConfigCtrl
|
+--gov.nist.antd.merlin.protocol.signaling.DynRecovery
This class implements a protocol of route protection
This class was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
| Nested Class Summary | |
protected class |
DynRecovery.HandledRoutesHTable
class used to know if a route is already handled by DynRecovery |
protected class |
DynRecovery.OXCHashTable
|
| Field Summary | |
protected DynRecovery.OXCHashTable |
answeredOXCs
the Table of OXC that haven t answered to a a set path message, located (used) only in source node |
(package private) static java.lang.String |
bckupAlgo
The Backup Algorithm for all DynRecovery nodes |
private boolean |
debug
Indicates if debug information is displayed. |
(package private) static java.lang.String |
defaultBckupAlgo
The Default Backup Algorithm for all DynRecovery nodes |
protected DynRecovery.HandledRoutesHTable |
handledRoutes
The Table of routes handled by this instance of DynRecovery |
private LinkStateTable |
linkStateTable
Table of link state information. |
private boolean |
messages
Indicates if message content should be displayed. |
protected Glass |
net
The net containing this instance of DynRecovery. |
protected OXCEdgeRouter |
oxc
The oxcEddgeRouter containing this instance of DynRecovery. |
static java.lang.String |
SESSION_NAME
The name of this protocolsession in the network. |
| Fields inherited from class gov.nist.antd.merlin.util.AbstractAddDropConfigurator |
addLambdaIDs, addLambdas, dropLambdaIDs, dropLambdas |
| Fields inherited from class SSF.OS.ProtocolSession |
name, use |
| Constructor Summary | |
DynRecovery()
Default constructor |
|
| Method Summary | |
boolean |
amIDestination(int routeID)
amIDestination |
boolean |
amISource(int routeID)
amISource |
void |
callback(EventMessage eventMsg)
This method implements the handler for the los of light detection. |
void |
config(com.renesys.raceway.DML.Configuration cfg)
Configuration |
protected int |
getADLDestNodeID(AddDropLambda adl)
getADLDestNodeID |
protected java.lang.String |
getBackupAlgo()
getBackupAlgo |
protected int |
getNextAddLambdaID(DynRecoveryHeader dynRecoveryHeader)
getNextAddLambdaID |
protected int |
getNextHostID(DynRecoveryHeader dynRecoveryHeader)
getNextHostID |
protected java.lang.String |
getTargetNode(DynRecoveryHeader dynRecoveryHeader)
getTargetNode return a string corresponding to the target node of this message |
private Fiber |
getTransmissionFiber(DynRecoveryHeader dynRecoveryHeader)
getTransmissionFiber |
protected void |
handleLOL_ADV(DynRecoveryHeader dynRecoveryHeader)
handleLOL_ADV LOL-ADV : Loss Of Light Advertisment this kind of message is propagated downstream until it reaches the Destination node of the Route |
protected void |
handleOXC_DONE(DynRecoveryHeader dynRecoveryHeader)
handleOXC_DONE these messages are propagated upstream along the backup route in order to notify to the source node that an OXC is configured the message is simply propagated towards the source node when crossing a normal node |
protected void |
handleSET_PATH_ACK(DynRecoveryHeader dynRecoveryHeader)
handleSET_PATH_ACK this message is propagated upstream, it enables the destination node to acknoledge the SET_PATH_DONE message coming from the souce node. |
protected void |
handleSET_PATH_DONE(DynRecoveryHeader dynRecoveryHeader)
handleSET_PATH_DONE this message is propagated downstream along the backuproute to notify the destination node that the path has been set up. |
protected void |
handleSET_PATH(DynRecoveryHeader dynRecoveryHeader)
handleSET_PATH this message is propagated upstream along the the backup route it triggers the configuration of the OXCs switches along the backup route |
void |
init()
Initialization routine, called by the ProtocolGraph after instantiation. |
boolean |
isDebug()
Return if the debug information must be displayed. |
boolean |
isDownStreamOfFailure(Lambda lambda,
OpticalConnection oRoute,
OpticalChannel oChannel)
Return true if the lambda is an in lambda |
boolean |
isMessagesOn()
isMessagesOn Return if the messages content is displayed. |
private void |
plugAtDestination(DynRecoveryHeader dynRecoveryHeader)
plugAtDestination plugs the backup Route in the protocol session using the original Route |
private void |
plugAtSource(DynRecoveryHeader dynRecoveryHeader)
plugAtSource plugs the backup Route in the protocol session using the original Route |
void |
printDynRecoveryMessage(java.lang.String message,
DynRecoveryHeader dynRecoveryHeader)
printDynRecoveryMessage print message, time and DynRecoveryHeader |
void |
printRoute(int routeID)
printRoute prints the node IDs of the route given as argument |
protected void |
process(Lambda lambda)
This method implements the handler for the los of light detection and recovery. |
boolean |
push(ProtocolMessage message,
ProtocolSession fromSession)
Print the message received. |
protected void |
setBackupAlgo(java.lang.String baName)
setBackupAlgo |
void |
setDebug(boolean value)
Set the attribute debug |
void |
setMessages(boolean value)
setMessages Set the attribute messages |
void |
transmit(DynRecoveryHeader dynRecoveryHeader)
Transmit Build the opticalFrameHeader and push the PDU to the oxcSwitch |
| Methods inherited from class gov.nist.antd.merlin.util.AutoConfigCtrl |
|
| Methods inherited from class gov.nist.antd.merlin.util.AbstractAddDropConfigurator |
configAddDrop, getAddLambdaIDs, getAddLambdas, getDropLambdaIDs, getDropLambdas, setAddLambdas, setDropLambdas, toDML |
| Methods inherited from class SSF.OS.ProtocolSession |
close, closed, debugIdentifier, inGraph, open, opened, pushAfterDelay, pushAfterDelayFailed, setGraph, version |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String SESSION_NAME
private LinkStateTable linkStateTable
private boolean debug
private boolean messages
protected DynRecovery.OXCHashTable answeredOXCs
protected DynRecovery.HandledRoutesHTable handledRoutes
static java.lang.String bckupAlgo
static final java.lang.String defaultBckupAlgo
protected Glass net
protected OXCEdgeRouter oxc
| Constructor Detail |
public DynRecovery()
| Method Detail |
protected void setBackupAlgo(java.lang.String baName)
baName - the backup Algorithm nameprotected java.lang.String getBackupAlgo()
public void config(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
config in interface com.renesys.raceway.DML.Configurableconfig in class AutoConfigCtrlcfg - The DML configuration
if - a configuration error occurs
com.renesys.raceway.DML.configException - if a configuration error occured
public void init()
throws ProtocolException
init in class AutoConfigCtrlif - a ProtocolException error occurs
ProtocolException - if an error occuredpublic void setDebug(boolean value)
value - The value for the attribute debugpublic boolean isDebug()
public void setMessages(boolean value)
value - The value for the attribute messagespublic boolean isMessagesOn()
public void printDynRecoveryMessage(java.lang.String message,
DynRecoveryHeader dynRecoveryHeader)
message - user textdynRecoveryHeader - the dynRecoveryHeader you want to print.
public boolean amISource(int routeID)
throws ProtocolException
routeID - is the current node the source of the route given by routeID
ProtocolException
public boolean amIDestination(int routeID)
throws ProtocolException
routeID - is the current node the destination of the route given by routeID
ProtocolException
public boolean isDownStreamOfFailure(Lambda lambda,
OpticalConnection oRoute,
OpticalChannel oChannel)
lambda - The Lambda to checkoRoute - The OpticalConnection that contains the lambdaoChannel - The channel in the route that contains the lambda.
public void printRoute(int routeID)
routeID - an OpticalConnection id.private Fiber getTransmissionFiber(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - a DynRecovery PDU to be transmitted.
protected int getNextHostID(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - a DynRecovery PDU to be transmitted
protected int getADLDestNodeID(AddDropLambda adl)
adl - an add-drop lambda
protected int getNextAddLambdaID(DynRecoveryHeader dynRecoveryHeader)
throws ProtocolException
dynRecoveryHeader - a DynRecovery PDU to be transmitted
ProtocolExceptionprivate void plugAtDestination(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - used to retrieve the Routeprivate void plugAtSource(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - used to retrieve the Routeprotected java.lang.String getTargetNode(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - : the DynRecovery message from which one can infer the target nodeprotected void handleLOL_ADV(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - the LOL_ADV message to be handledprotected void handleSET_PATH(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - the SET_PATH message to be handledprotected void handleOXC_DONE(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - the OXC_DONE message to be handledprotected void handleSET_PATH_DONE(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - the SET_PATH_DONE message to be handledprotected void handleSET_PATH_ACK(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - the SET_PATH_ACK message to be handledpublic void transmit(DynRecoveryHeader dynRecoveryHeader)
dynRecoveryHeader - a DynRecovery PDU to be transmitted
public boolean push(ProtocolMessage message,
ProtocolSession fromSession)
throws ProtocolException
push in class AutoConfigCtrlmessage - The message received.fromSession - The protocol session which sent the message.
ProtocolException - If a protocol session exception occurs.public void callback(EventMessage eventMsg)
callback in interface CallbackeventMsg - The event that occured.protected void process(Lambda lambda)
lambda - The failed lambda.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||