427 if (type == Integer.class) {
428 return Integer.valueOf(value);
429 } else {
430 return (value == 0) ? Boolean.FALSE : Boolean.TRUE;
431 }
432 }
433
434 public static boolean isFastTcpLoopbackRequested() {
435 String loopbackProp = GetPropertyAction
436 .privilegedGetProperty("jdk.net.useFastTcpLoopback", "false");
437 return loopbackProp.isEmpty() ? true : Boolean.parseBoolean(loopbackProp);
438 }
439
440 // -- Socket operations --
441
442 private static native boolean isIPv6Available0();
443
444 private static native boolean isReusePortAvailable0();
445
446 /*
447 * Returns 1 for Windows and -1 for Solaris/Linux/Mac OS
448 */
449 private static native int isExclusiveBindAvailable();
450
451 private static native boolean shouldSetBothIPv4AndIPv6Options0();
452
453 private static native boolean canIPv6SocketJoinIPv4Group0();
454
455 private static native boolean canJoin6WithIPv4Group0();
456
457 private static native boolean canUseIPv6OptionsWithIPv4LocalAddress0();
458
459 static FileDescriptor socket(boolean stream) throws IOException {
460 return socket(UNSPEC, stream);
461 }
462
463 static FileDescriptor socket(ProtocolFamily family, boolean stream) throws IOException {
464 boolean preferIPv6 = isIPv6Available() &&
465 (family != StandardProtocolFamily.INET);
466 return IOUtil.newFD(socket0(preferIPv6, stream, false, fastLoopback));
467 }
|
427 if (type == Integer.class) {
428 return Integer.valueOf(value);
429 } else {
430 return (value == 0) ? Boolean.FALSE : Boolean.TRUE;
431 }
432 }
433
434 public static boolean isFastTcpLoopbackRequested() {
435 String loopbackProp = GetPropertyAction
436 .privilegedGetProperty("jdk.net.useFastTcpLoopback", "false");
437 return loopbackProp.isEmpty() ? true : Boolean.parseBoolean(loopbackProp);
438 }
439
440 // -- Socket operations --
441
442 private static native boolean isIPv6Available0();
443
444 private static native boolean isReusePortAvailable0();
445
446 /*
447 * Returns 1 for Windows and -1 for Linux/Mac OS
448 */
449 private static native int isExclusiveBindAvailable();
450
451 private static native boolean shouldSetBothIPv4AndIPv6Options0();
452
453 private static native boolean canIPv6SocketJoinIPv4Group0();
454
455 private static native boolean canJoin6WithIPv4Group0();
456
457 private static native boolean canUseIPv6OptionsWithIPv4LocalAddress0();
458
459 static FileDescriptor socket(boolean stream) throws IOException {
460 return socket(UNSPEC, stream);
461 }
462
463 static FileDescriptor socket(ProtocolFamily family, boolean stream) throws IOException {
464 boolean preferIPv6 = isIPv6Available() &&
465 (family != StandardProtocolFamily.INET);
466 return IOUtil.newFD(socket0(preferIPv6, stream, false, fastLoopback));
467 }
|