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()

Warning: this can be an expensive (time and memory) operation if there are a lot of items/containers.

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

@VisibleForTesting
public void dumpItemDistribution()


dumpItemDistribution

@VisibleForTesting
public void dumpItemDistribution(java.io.PrintStream out)


getContainerWorkrates

@Override
public java.util.Map getContainerWorkrates()


getCurrentPoolWorkrate

@Override
public double getCurrentPoolWorkrate()


getHighThreshold

@Override
public double getHighThreshold(ContainerType container)


getItemWorkrate

public java.lang.Double getItemWorkrate(ItemType item)


getItemWorkrates

@Override
public java.util.Map getItemWorkrates(ContainerType node)


getItemsForContainer

public java.util.Set getItemsForContainer(ContainerType node)


getLocation

@Override
public Location getLocation(ContainerType container)


getLowThreshold

@Override
public double getLowThreshold(ContainerType container)


getName

@Override
public java.lang.String getName()


getName

@Override
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

@Override
public double getTotalWorkrate(ContainerType container)


isCold

@Override
public boolean isCold()


isHot

@Override
public boolean isHot()


isItemAllowedIn

@Override
public boolean isItemAllowedIn(ItemType item, Location location)


isItemMoveable

@Override
public boolean isItemMoveable(ItemType item)


itemDistributionToString

@VisibleForTesting
public java.lang.String itemDistributionToString()
Warning: this can be an expensive (time and memory) operation if there are a lot of items/containers.


onContainerAdded

@Override
public void onContainerAdded(ContainerType newContainer, double lowThreshold, double highThreshold)


onContainerRemoved

@Override
public void onContainerRemoved(ContainerType oldContainer)


onItemAdded

@Override
public void onItemAdded(ItemType item, ContainerType parentContainer)


onItemAdded

@Override
public void onItemAdded(ItemType item, ContainerType parentContainer, boolean immovable)


onItemMoved

@Override
public void onItemMoved(ItemType item, ContainerType newNode)


onItemRemoved

@Override
public void onItemRemoved(ItemType item)


onItemWorkrateUpdated

@Override
public void onItemWorkrateUpdated(ItemType item, double newValue)


 

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