Class RootSplitter
java.lang.Object
org.btrplace.scheduler.runner.disjoint.splitter.RootSplitter
- All Implemented Interfaces:
ConstraintSplitter<Root>
public class RootSplitter extends Object implements ConstraintSplitter<Root>
Splitter for
Root
constraints.
When the constraint focuses VMs among different partitions,
the constraint is split.
This operation is conservative wrt. the constraint semantic.
- Author:
- Fabien Hermenier
-
Constructor Summary
Constructors Constructor Description RootSplitter()
-
Method Summary
Modifier and Type Method Description Class<Root>
getKey()
Get the class of the Constraint associated to the splitter.boolean
split(Root cstr, Instance origin, List<Instance> partitions, gnu.trove.map.hash.TIntIntHashMap vmsPosition, gnu.trove.map.hash.TIntIntHashMap nodePosition)
Ensure a given constraint fit into a single partition.
-
Constructor Details
-
RootSplitter
public RootSplitter()
-
-
Method Details
-
getKey
Description copied from interface:ConstraintSplitter
Get the class of the Constraint associated to the splitter.- Specified by:
getKey
in interfaceConstraintSplitter<Root>
- Returns:
- a Class derived from
Constraint
-
split
public boolean split(Root cstr, Instance origin, List<Instance> partitions, gnu.trove.map.hash.TIntIntHashMap vmsPosition, gnu.trove.map.hash.TIntIntHashMap nodePosition)Description copied from interface:ConstraintSplitter
Ensure a given constraint fit into a single partition. If necessary, the constraint may have be split. this call inserts the constrain (or its subdivisions) inside their respective instances- Specified by:
split
in interfaceConstraintSplitter<Root>
- Parameters:
cstr
- the model constraintorigin
- the original instance to splitpartitions
- the possible partitions @returnfalse
iff this leads to a problem without solutions.vmsPosition
- the partition associated to each VMnodePosition
- the partition associated to each node- Returns:
true
iff the split was successful.false
otherwise
-