public static int[] getRandomAvailableTCPPortRange(final int count, final boolean useMembershipPortRange) { List<Keeper> list = getUniquePortRangeKeepers(useMembershipPortRange, AvailablePort.SOCKET, count); int[] ports = new int[list.size()]; int i = 0; for (Keeper k : list) { ports[i] = k.getPort(); k.release(); i++; } return ports; }
/** * Returns an array of unique randomly available tcp ports * * @param count number of desired ports * @param useMembershipPortRange whether to use the configured membership-port-range * @return the ports */ public static int[] getRandomAvailableTCPPorts(int count, boolean useMembershipPortRange) { List<Keeper> list = getRandomAvailableTCPPortKeepers(count, useMembershipPortRange); int[] ports = new int[list.size()]; int i = 0; for (Keeper k : list) { ports[i] = k.getPort(); k.release(); i++; } return ports; }
/** * Test to see if a given port is available port on all interfaces on this host. * * @return true of if the port is free on all interfaces */ private static boolean testAllInterfaces(int port) { Keeper k = keepAllInterfaces(port); if (k != null) { k.release(); return true; } else { return false; } }
private static boolean testOneInterface(InetAddress addr, int port) { Keeper k = keepOneInterface(addr, port); if (k != null) { k.release(); return true; } else { return false; } }
private static void releaseKeepers(List<Keeper> keepers) { for (Keeper keeper : keepers) { keeper.release(); } }