Brooklyn

brooklyn.policy.loadbalancing
[Java] Class DefaultBalanceablePoolModel

java.lang.Object
  brooklyn.policy.loadbalancing.DefaultBalanceablePoolModel
All Implemented Interfaces:
BalanceablePoolModel

public class DefaultBalanceablePoolModel

Standard implementation of BalanceablePoolModel, providing essential arithmetic for item and container workrates and thresholds. See subclasses for specific requirements for migrating items.


Constructor Summary
DefaultBalanceablePoolModel(java.lang.String name)

 
Method Summary
void dumpItemDistribution()

void dumpItemDistribution(java.io.PrintStream out)

java.util.Map getContainerWorkrates()

double getCurrentPoolWorkrate()

double getHighThreshold(ContainerType container)

java.lang.Double getItemWorkrate(ItemType item)

java.util.Map getItemWorkrates(ContainerType node)

java.util.Set getItemsForContainer(ContainerType node)

Location getLocation(ContainerType container)

double getLowThreshold(ContainerType container)

java.lang.String getName()

java.lang.String getName(ContainerType container)

ContainerType getParentContainer(ItemType item)

java.util.Set getPoolContents()

double getPoolHighThreshold()

double getPoolLowThreshold()

int getPoolSize()

double getTotalWorkrate(ContainerType container)

boolean isCold()

boolean isHot()

boolean isItemAllowedIn(ItemType item, Location location)

boolean isItemMoveable(ItemType item)

java.lang.String itemDistributionToString()

void onContainerAdded(ContainerType newContainer, double lowThreshold, double highThreshold)

void onContainerRemoved(ContainerType oldContainer)

void onItemAdded(ItemType item, ContainerType parentContainer)

void onItemAdded(ItemType item, ContainerType parentContainer, boolean immovable)

void onItemMoved(ItemType item, ContainerType newNode)

void onItemRemoved(ItemType item)

void onItemWorkrateUpdated(ItemType item, double newValue)

 
Methods inherited from class java.lang.Object
java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()
 

Constructor Detail

DefaultBalanceablePoolModel

public DefaultBalanceablePoolModel(java.lang.String name)


 
Method Detail

dumpItemDistribution

public void dumpItemDistribution()


dumpItemDistribution

public void dumpItemDistribution(java.io.PrintStream out)


getContainerWorkrates

return
public java.util.Map getContainerWorkrates()


getCurrentPoolWorkrate

@Override
public double getCurrentPoolWorkrate()


getHighThreshold

public double getHighThreshold(ContainerType container)


getItemWorkrate

public java.lang.Double getItemWorkrate(ItemType item)


getItemWorkrates

return
public java.util.Map getItemWorkrates(ContainerType node)


getItemsForContainer

public java.util.Set getItemsForContainer(ContainerType node)


getLocation

Double
public Location getLocation(ContainerType container)


getLowThreshold

public double getLowThreshold(ContainerType container)


getName

@Override
public java.lang.String getName()


getName

public java.lang.String getName(ContainerType container)


getParentContainer

public ContainerType getParentContainer(ItemType item)


getPoolContents

@Override
public java.util.Set getPoolContents()


getPoolHighThreshold

@Override
public double getPoolHighThreshold()


getPoolLowThreshold

@Override
public double getPoolLowThreshold()


getPoolSize

@Override
public int getPoolSize()


getTotalWorkrate

if
public double getTotalWorkrate(ContainerType container)


isCold

public boolean isCold()


isHot

@Override
public boolean isHot()


isItemAllowedIn

// Mutator
public boolean isItemAllowedIn(ItemType item, Location location)


isItemMoveable

public boolean isItemMoveable(ItemType item)


itemDistributionToString

for (ItemType item : getItemsForContainer(container)) {
public java.lang.String itemDistributionToString()


onContainerAdded

containerToHighThreshold.put(newContainer, highThreshold);
public void onContainerAdded(ContainerType newContainer, double lowThreshold, double highThreshold)


onContainerRemoved

public void onContainerRemoved(ContainerType oldContainer)


onItemAdded

immovableItems.add(item);
public void onItemAdded(ItemType item, ContainerType parentContainer)


onItemAdded

if (parentContainer != null) containerToItems.put(parentContainer, item);
public void onItemAdded(ItemType item, ContainerType parentContainer, boolean immovable)


onItemMoved

return;
public void onItemMoved(ItemType item, ContainerType newNode)


onItemRemoved

Double oldValue = itemToWorkrate.put(item, newValue);
public void onItemRemoved(ItemType item)


onItemWorkrateUpdated

private boolean hasItem(ItemType item) {
public void onItemWorkrateUpdated(ItemType item, double newValue)


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.