/** * Returns a {@link ChannelOption} for the given {@link java.net.SocketOption}. */ public static <T> ChannelOption<T> of(java.net.SocketOption<T> option) { return new NioChannelOption<T>(option); }
/** * Returns a {@link ChannelOption} for the given {@link java.net.SocketOption}. */ public static <T> ChannelOption<T> of(java.net.SocketOption<T> option) { return new NioChannelOption<T>(option); }
/** * Returns a {@link ChannelOption} for the given {@link java.net.SocketOption}. */ public static <T> ChannelOption<T> of(java.net.SocketOption<T> option) { return new NioChannelOption<T>(option); }
@SuppressWarnings("unchecked") static ChannelOption[] getOptions(Channel jdkChannel) { java.nio.channels.NetworkChannel channel = (java.nio.channels.NetworkChannel) jdkChannel; Set<java.net.SocketOption<?>> supportedOpts = channel.supportedOptions(); if (channel instanceof ServerSocketChannel) { List<ChannelOption<?>> extraOpts = new ArrayList<ChannelOption<?>>(supportedOpts.size()); for (java.net.SocketOption<?> opt : supportedOpts) { if (opt == java.net.StandardSocketOptions.IP_TOS) { // Skip IP_TOS as a workaround for a JDK bug: // See http://mail.openjdk.java.net/pipermail/nio-dev/2018-August/005365.html continue; } extraOpts.add(new NioChannelOption(opt)); } return extraOpts.toArray(new ChannelOption[0]); } else { ChannelOption<?>[] extraOpts = new ChannelOption[supportedOpts.size()]; int i = 0; for (java.net.SocketOption<?> opt : supportedOpts) { extraOpts[i++] = new NioChannelOption(opt); } return extraOpts; } } }
@SuppressWarnings("unchecked") static ChannelOption[] getOptions(Channel jdkChannel) { java.nio.channels.NetworkChannel channel = (java.nio.channels.NetworkChannel) jdkChannel; Set<java.net.SocketOption<?>> supportedOpts = channel.supportedOptions(); if (channel instanceof ServerSocketChannel) { List<ChannelOption<?>> extraOpts = new ArrayList<ChannelOption<?>>(supportedOpts.size()); for (java.net.SocketOption<?> opt : supportedOpts) { if (opt == java.net.StandardSocketOptions.IP_TOS) { // Skip IP_TOS as a workaround for a JDK bug: // See http://mail.openjdk.java.net/pipermail/nio-dev/2018-August/005365.html continue; } extraOpts.add(new NioChannelOption(opt)); } return extraOpts.toArray(new ChannelOption[0]); } else { ChannelOption<?>[] extraOpts = new ChannelOption[supportedOpts.size()]; int i = 0; for (java.net.SocketOption<?> opt : supportedOpts) { extraOpts[i++] = new NioChannelOption(opt); } return extraOpts; } } }
@SuppressWarnings("unchecked") static ChannelOption[] getOptions(Channel jdkChannel) { java.nio.channels.NetworkChannel channel = (java.nio.channels.NetworkChannel) jdkChannel; Set<java.net.SocketOption<?>> supportedOpts = channel.supportedOptions(); if (channel instanceof ServerSocketChannel) { List<ChannelOption<?>> extraOpts = new ArrayList<ChannelOption<?>>(supportedOpts.size()); for (java.net.SocketOption<?> opt : supportedOpts) { if (opt == java.net.StandardSocketOptions.IP_TOS) { // Skip IP_TOS as a workaround for a JDK bug: // See http://mail.openjdk.java.net/pipermail/nio-dev/2018-August/005365.html continue; } extraOpts.add(new NioChannelOption(opt)); } return extraOpts.toArray(new ChannelOption[0]); } else { ChannelOption<?>[] extraOpts = new ChannelOption[supportedOpts.size()]; int i = 0; for (java.net.SocketOption<?> opt : supportedOpts) { extraOpts[i++] = new NioChannelOption(opt); } return extraOpts; } } }
/** * Returns a {@link ChannelOption} for the given {@link SocketOption}. */ public static <T> ChannelOption<T> of(SocketOption<T> option) { return new NioChannelOption<T>(option); }
@SuppressWarnings("unchecked") static ChannelOption[] getOptions(NetworkChannel channel) { Set<SocketOption<?>> supportedOpts = channel.supportedOptions(); ChannelOption<?>[] extraOpts = new ChannelOption[supportedOpts.size()]; int i = 0; for (SocketOption<?> opt : supportedOpts) { extraOpts[i++] = new NioChannelOption(opt); } return extraOpts; } }