Class RRMAlgorithm


  • public class RRMAlgorithm
    extends Object
    RRM algorithm model and utility methods.
    • Constructor Detail

      • RRMAlgorithm

        public RRMAlgorithm​(String name)
        Constructor (with no arguments).
    • Method Detail

      • parse

        public static RRMAlgorithm parse​(String name,
                                         String argsRaw)
        Construct an RRMAlgorithm with a raw arguments string.
        Parameters:
        name - the algorithm name, which must exist in RRMAlgorithm.AlgorithmType
        argsRaw - the arguments as a comma-separated list of key=value pairs, e.g. key1=val1,key2=val2,key3=val3
        Returns:
        the parsed object, or null if parsing failed
      • getName

        public String getName()
        Return the algorithm name.
      • run

        public RRMAlgorithm.AlgorithmResult run​(DeviceDataManager deviceDataManager,
                                                ConfigManager configManager,
                                                Modeler modeler,
                                                String zone,
                                                boolean dryRun,
                                                boolean allowDefaultMode,
                                                boolean updateImmediately)
        Run the algorithm.
        Parameters:
        deviceDataManager - the device data manager
        configManager - the ConfigManager module instance
        modeler - the Modeler module instance
        zone - the RF zone
        dryRun - if set, do not apply changes
        allowDefaultMode - if false, "mode" argument must be present and valid (returns error if invalid)
        updateImmediately - true if the method should queue the zone for update and interrupt the config manager thread to trigger immediate update
        Returns:
        the algorithm result, with exactly one field set ("error" upon failure, any others upon success)