public static Collection<Node> takeNodes(int nodesNeeded, NodePool[] pools) { LOG.debug("Trying to grab {} free nodes from {}", nodesNeeded, pools); HashSet<Node> ret = new HashSet<>(); for (NodePool pool : pools) { Collection<Node> got = pool.takeNodes(nodesNeeded); ret.addAll(got); nodesNeeded -= got.size(); LOG.debug("Got {} nodes so far need {} more nodes", ret.size(), nodesNeeded); if (nodesNeeded <= 0) { break; } } return ret; }
Collection<Node> found = NodePool.takeNodes(nodesNeededFromOthers, lesserPools); _usedNodes += found.size(); allNodes.addAll(found);
public static Collection<Node> takeNodes(int nodesNeeded,NodePool[] pools) { LOG.debug("Trying to grab {} free nodes from {}",nodesNeeded, pools); HashSet<Node> ret = new HashSet<>(); for (NodePool pool: pools) { Collection<Node> got = pool.takeNodes(nodesNeeded); ret.addAll(got); nodesNeeded -= got.size(); LOG.debug("Got {} nodes so far need {} more nodes", ret.size(), nodesNeeded); if (nodesNeeded <= 0) { break; } } return ret; }
Collection<Node> found = NodePool.takeNodes(nodesNeededFromOthers, lesserPools); _usedNodes += found.size(); allNodes.addAll(found);