public static class WDMUtils.RSA extends Object
Modifier and Type | Field and Description |
---|---|
Node |
egressNode
The end node of the lightpath
|
Node |
ingressNode
The initial node of the lightpath
|
IntMatrix2D |
seqFrequencySlots_se
A 2D integer matrix with as many columns as traversed links (in the same order), and rows as the number of frequency slots occupied (the same in all the links).
|
List<Link> |
seqLinks
The sequence of traversed fibers
|
int[] |
seqRegeneratorsOccupancy_e
An integer vector with one coordinate per traversed fiber.
|
Constructor and Description |
---|
RSA(List<Link> seqLinks,
int occupiedSlotId)
Creates a RSA where the same one single slot is occupied in all the traversed links.
|
RSA(List<Link> seqLinks,
int initialSlot,
int numSlots)
Creates a RSA with the same set of contigous slots occupied in all the traversed fibers
|
RSA(List<Link> seqLinks,
int initialSlot,
int numSlots,
int[] seqRegenerators_e)
Creates a RSA with the same set of contigous slots occupied in all the traversed fibers
|
RSA(List<Link> seqLinks,
IntMatrix2D seqFrequencySlots_se)
Equivalent to
RSA (seqLinks , seqFrequencySlot, null) |
RSA(List<Link> seqLinks,
IntMatrix2D seqFrequencySlots_se,
int[] seqRegenerators_e)
Creates a RSA object from the provided information
|
RSA(Route r,
boolean initializeWithTheInitialState)
Creates a RSA object reading the information from the existing Route object (and its WDM-related attributes).
|
Modifier and Type | Method and Description |
---|---|
void |
checkFrequencySlotConversionOccupiesARegenerator()
Checks that in every node where the frequency slots of the RSA change, a regenerator is placed (if not, an exception is raised).
|
boolean |
equals(WDMUtils.RSA rsa)
Returns true if this RSA has the same sequence of links, occupied slots and regenerators as the given RSA
|
double |
getLengthInKm()
Gets the length of the RSA in km, summing the length of the traversed fibers
|
List<Node> |
getNodesWithFrequencySlotConversion()
Gets the list of nodes (in the same order as they are traversed) where frequency slot changes in the RSA.
|
int |
getNumSlots()
Gets the number of slots occupied in this RSA (the same in all the traversed fibers)
|
List<Node> |
getSignalRegenerationNodes()
Gets the list of nodes (in the same order as they are traversed) where a regenerator has been placed.
|
boolean |
hasFrequencySlotConversions()
Returns whether or not frequency slot conversions occur in this RSA (and thus converters would be needed)
|
boolean |
isDown()
Returns true if the path in the RSA is down (traverses a node/link that is down)
|
boolean |
isFrequencySlotContiguous()
Returns true if in ALL the links, the slots occupied are contigous
(e.g.
|
String |
toString() |
public final Node egressNode
public final Node ingressNode
public final IntMatrix2D seqFrequencySlots_se
public final int[] seqRegeneratorsOccupancy_e
public RSA(List<Link> seqLinks, int occupiedSlotId)
RSA (seqLinks , occupiedSlotId , 1)
seqLinks
- sequence of traversed fibersoccupiedSlotId
- the slot occupiedpublic RSA(List<Link> seqLinks, int initialSlot, int numSlots)
seqLinks
- Sequence of traversed fiberinitialSlot
- id of the initial frequency slot occupiednumSlots
- number of contiguous slots of the RSApublic RSA(List<Link> seqLinks, int initialSlot, int numSlots, int[] seqRegenerators_e)
seqLinks
- Sequence of traversed fiberinitialSlot
- id of the initial frequency slot occupiednumSlots
- number of contiguous slots of the RSAseqRegenerators_e
- vector with the sequence of traversed regenerators information (if null
, no regenerators are placed)public RSA(List<Link> seqLinks, IntMatrix2D seqFrequencySlots_se)
RSA (seqLinks , seqFrequencySlot, null)
seqLinks
- sequence of traversed fibers (a copy is made internally)seqFrequencySlots_se
- 2D array with the sequence of frequency slots information.public RSA(List<Link> seqLinks, IntMatrix2D seqFrequencySlots_se, int[] seqRegenerators_e)
seqLinks
- sequence of traversed fibers (a copy is made internally)seqFrequencySlots_se
- 2D array with the sequence of frequency slots information.seqRegenerators_e
- vector with the sequence of traversed regenerators information (if null
, no regenerators are placed)public RSA(Route r, boolean initializeWithTheInitialState)
r
- the route objectinitializeWithTheInitialState
- if true
, the RSA object created gets the information from the route primary path: sequence of links, and if not, from the route current sequence of traversed links.public void checkFrequencySlotConversionOccupiesARegenerator()
public boolean equals(WDMUtils.RSA rsa)
rsa
- The RSApublic double getLengthInKm()
public List<Node> getNodesWithFrequencySlotConversion()
public int getNumSlots()
public List<Node> getSignalRegenerationNodes()
public boolean hasFrequencySlotConversions()
true
if frequency slot conversion occurs, false
otherwisepublic boolean isDown()
public boolean isFrequencySlotContiguous()
true
if frequency slots occupied are contiguous in all the linksCopyright © 2018. All rights reserved.