fenzo-core/src/main/java/com/netflix/fenzo/TaskSchedulingService.java
public void requestVmCurrentStates(Action1<List<VirtualMachineCurrentState>> action) throws TaskQueueException {
        if (!vmCurrStateRequest.offer(action))
            throw new TaskQueueException("Too many pending actions submitted for getting VM current state");
    }
public void requestVmCurrentStates(Action1<List<VirtualMachineCurrentState>> action) throws TaskQueueException {
        if (!vmCurrStateRequest.offer(action))
            throw new TaskQueueException("Too many pending actions submitted for getting VM current state");
    }
Get the current states of all known VMs and call the given action when available. Although an ongoing scheduling
iteration is unaffected by this call, onset of the next scheduling iteration may be delayed until the call to the
given {@code action} returns. Therefore, it is expected that the {@code action} callback return quickly.
@param action The action to call with VM states.
@throws TaskQueueException if too many actions are pending to get VM states.