ppe.ec2
Class NiM

java.lang.Object
  extended by ppe.ec2.NiM

public class NiM
extends java.lang.Object

Network info manager.

Maintains a list and hts of NetworkInfo objects for all ec2 networks. This class contains a static instance of itself, which is the sole source for NetworkInfo in the app.

The list of NetworkInfo objects is updated by #findNetworks(), which queries aws for information.


Method Summary
static void addStateChangeListener(StateChangeListener listener)
           
static java.lang.String createNetworkID()
          Creates a string that identifies a set ec2 instances that constitute an mpi network.
static java.lang.String createUniqueDefaultNetworkName()
           
static void fireStateChangeEvent()
           
static NetworkInfo getForID(java.lang.String networkID)
           
static NetworkInfo getForIDWhenAvailable(java.lang.String networkID, long maxWait)
          Blocks until the ni is available or timeout is reached.
static NetworkInfo getForMasterHostname(java.lang.String hostName)
           
static NetworkInfo getForName(java.lang.String networkName)
           
static java.util.List<NetworkInfo> getNetworks()
           
static boolean IDExists(java.lang.String ID)
           
static void init()
           
static boolean nameExists(java.lang.String name)
           
static boolean networkRunning()
           
static boolean register(NetworkInfo ni)
           
static java.lang.String summarize()
           
static void update(Ec2Wrangler ec2w)
           
static void update(java.util.List<InstanceStatus> instances)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

init

public static void init()

register

public static boolean register(NetworkInfo ni)

update

public static void update(Ec2Wrangler ec2w)

update

public static void update(java.util.List<InstanceStatus> instances)

getForID

public static NetworkInfo getForID(java.lang.String networkID)

getForIDWhenAvailable

public static NetworkInfo getForIDWhenAvailable(java.lang.String networkID,
                                                long maxWait)
                                         throws NoSuchNetworkException
Blocks until the ni is available or timeout is reached.

Parameters:
networkID -
maxWait -
Returns:
Throws:
NoSuchNetworkException

getForName

public static NetworkInfo getForName(java.lang.String networkName)

getForMasterHostname

public static NetworkInfo getForMasterHostname(java.lang.String hostName)

getNetworks

public static java.util.List<NetworkInfo> getNetworks()

IDExists

public static boolean IDExists(java.lang.String ID)

nameExists

public static boolean nameExists(java.lang.String name)

createNetworkID

public static java.lang.String createNetworkID()
Creates a string that identifies a set ec2 instances that constitute an mpi network. The ID is ec2-mpi-<date time> e.g.
ec2-mpi-20110221211549123

Each instance is given a networkID tag with the value created by this method.


createUniqueDefaultNetworkName

public static java.lang.String createUniqueDefaultNetworkName()

summarize

public static java.lang.String summarize()

addStateChangeListener

public static void addStateChangeListener(StateChangeListener listener)

fireStateChangeEvent

public static void fireStateChangeEvent()

networkRunning

public static boolean networkRunning()