public interface IProvisioningAlgorithm
Contract that must be fulfilled such that a provisioning algorithm can be run in Net2Plan
.
The key difference with algorithms
is that provisioning algorithms are used to react to failure/reparation events. In contrast, algorithms
are used just for network planning.
com.net2plan.interfaces.IAlgorithm
Modifier and Type | Method and Description |
---|---|
ProvisioningActions |
executeProvisioningAlgorithm(NetPlan netPlan,
FailureNetState netState,
ResilienceEvents event,
Object internalStateObject)
Executes the provisioning algorithm.
|
String |
getDescription()
Returns the description.
|
List<Triple<String,String,String>> |
getParameters()
Returns the list of required parameters, where the first item of each element is the parameter name, the second one is the parameter value, and the third one is the parameter description.
|
Object |
initialize(NetPlan netPlan,
FailureNetState netState,
Map<String,String> algorithmParameters,
Map<String,String> net2planParameters) |
String getDescription()
List<Triple<String,String,String>> getParameters()
ProvisioningActions executeProvisioningAlgorithm(NetPlan netPlan, FailureNetState netState, ResilienceEvents event, Object internalStateObject)
netPlan
- Network plannetState
- Current network stateevent
- Resilience event: node/link/SRG failure, node/link/SRG reparationalgorithmParameters
- A key-value map with specific algorithm parameters.net2planParameters
- A key-value map with Net2Plan
-wide configuration optionsObject initialize(NetPlan netPlan, FailureNetState netState, Map<String,String> algorithmParameters, Map<String,String> net2planParameters)