package uk.ac.imperial.lsds.seepmaster.infrastructure.master; import java.net.InetAddress; import java.util.Collection; import java.util.Set; import uk.ac.imperial.lsds.seep.comm.Connection; public interface InfrastructureManager { public ExecutionUnit buildExecutionUnit(InetAddress ip, int controlPort, int dataPort); public void addExecutionUnit(ExecutionUnit eu); public ExecutionUnit getExecutionUnit(); public boolean removeExecutionUnit(int id); public int executionUnitsAvailable(); public Collection<ExecutionUnit> executionUnitsInUse(); public void claimExecutionUnits(int numExecutionUnits); public void decommisionExecutionUnits(int numExecutionUnits); public void decommisionExecutionUnit(ExecutionUnit node); public Set<Connection> getConnectionsTo(Set<Integer> executionUnitIds); public Connection getConnectionTo(int executionUnitId); }