private Inet4Address getValidIPv4(List<Inet4Address> addresses) { Inet4Address valid = null; int maxWeight = -1; for (Inet4Address address : addresses) { int weight = 0; if (!address.getHostName().equals(address.getHostAddress())) weight += 1; if (address.isLinkLocalAddress()) weight += 4; if (address.isSiteLocalAddress()) weight += 8; if (weight > maxWeight) { maxWeight = weight; valid = address; } } return valid; }
System.out.println(inet4Address.isSiteLocalAddress());
@JRubyMethod(name = "ipv4_private?") public IRubyObject ipv4_private_p(ThreadContext context) { if (getAddressFamily() == AF_INET) { return context.runtime.newBoolean(getInet4Address().isSiteLocalAddress()); } return context.runtime.newBoolean(false); }
@JRubyMethod(name = "ipv4_private?") public IRubyObject ipv4_private_p(ThreadContext context) { if (getAddressFamily() == AF_INET) { return context.runtime.newBoolean(getInet4Address().isSiteLocalAddress()); } return context.runtime.newBoolean(false); }