diff --git a/codec-socks/src/main/java/io/netty/handler/codec/socks/SocksCmdRequest.java b/codec-socks/src/main/java/io/netty/handler/codec/socks/SocksCmdRequest.java index 1587a2fb0d..d813c27f5f 100644 --- a/codec-socks/src/main/java/io/netty/handler/codec/socks/SocksCmdRequest.java +++ b/codec-socks/src/main/java/io/netty/handler/codec/socks/SocksCmdRequest.java @@ -17,7 +17,7 @@ package io.netty.handler.codec.socks; import io.netty.buffer.ByteBuf; import io.netty.util.CharsetUtil; -import io.netty.util.IPUtil; +import io.netty.util.IpAddresses; import java.net.IDN; @@ -46,7 +46,7 @@ public final class SocksCmdRequest extends SocksRequest { } switch (addressType) { case IPv4: - if (!IPUtil.isValidIPV4Address(host)) { + if (!IpAddresses.isValidIpV4Address(host)) { throw new IllegalArgumentException(host + " is not a valid IPv4 address"); } break; @@ -56,7 +56,7 @@ public final class SocksCmdRequest extends SocksRequest { } break; case IPv6: - if (!IPUtil.isValidIP6Address(host)) { + if (!IpAddresses.isValidIp6Address(host)) { throw new IllegalArgumentException(host + " is not a valid IPv6 address"); } break; @@ -116,7 +116,7 @@ public final class SocksCmdRequest extends SocksRequest { byteBuf.writeByte(addressType.getByteValue()); switch (addressType) { case IPv4: { - byteBuf.writeBytes(IPUtil.createByteArrayFromIPAddressString(host)); + byteBuf.writeBytes(IpAddresses.createByteArrayFromIpAddressString(host)); byteBuf.writeShort(port); break; } @@ -129,7 +129,7 @@ public final class SocksCmdRequest extends SocksRequest { } case IPv6: { - byteBuf.writeBytes(IPUtil.createByteArrayFromIPAddressString(host)); + byteBuf.writeBytes(IpAddresses.createByteArrayFromIpAddressString(host)); byteBuf.writeShort(port); break; } diff --git a/common/src/main/java/io/netty/util/IPUtil.java b/common/src/main/java/io/netty/util/IpAddresses.java similarity index 69% rename from common/src/main/java/io/netty/util/IPUtil.java rename to common/src/main/java/io/netty/util/IpAddresses.java index e64bc2d4e1..1a37f86e9e 100644 --- a/common/src/main/java/io/netty/util/IPUtil.java +++ b/common/src/main/java/io/netty/util/IpAddresses.java @@ -15,31 +15,183 @@ */ package io.netty.util; +import io.netty.logging.InternalLogger; +import io.netty.logging.InternalLoggerFactory; +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.net.NetworkInterface; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.SocketException; import java.util.ArrayList; +import java.util.Enumeration; import java.util.StringTokenizer; /** - * Utility functions for IPV6 operations. + * A class that holds a number of network-related constants. * - * see Inet6Util from the Apache Harmony project - * - * see org.apache.harmony.util.Inet6Util + * This class borrowed some of its methods from a modified fork of the + * Inet6Util class which was part of Apache Harmony. */ -public final class IPUtil { +public final class IpAddresses { - private IPUtil() { - // make this class a an utility class non-instantiable + /** + * The {@link InetAddress} representing the host machine + * + * We cache this because some machines take almost forever to return from + * {@link InetAddress}.getLocalHost(). This may be due to incorrect + * configuration of the hosts and DNS client configuration files. + */ + public static final InetAddress LOCALHOST; + + /** + * The loopback {@link NetworkInterface} on the current machine + */ + public static final NetworkInterface LOOPBACK_IF; + + /** + * The SOMAXCONN value of the current machine. If failed to get the value, 3072 is used as a + * default value. + */ + public static final int SOMAXCONN; + + /** + * The logger being used by this class + */ + private static final InternalLogger logger = + InternalLoggerFactory.getInstance(IpAddresses.class); + + static { + + //Start the process of discovering localhost + InetAddress localhost; + try { + localhost = InetAddress.getLocalHost(); + validateHost(localhost); + } catch (IOException e) { + // The default local host names did not work. Try hard-coded IPv4 address. + try { + localhost = InetAddress.getByAddress(new byte[] { 127, 0, 0, 1 }); + validateHost(localhost); + } catch (IOException e1) { + // The hard-coded IPv4 address did not work. Try hard coded IPv6 address. + try { + localhost = InetAddress.getByAddress(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }); + validateHost(localhost); + } catch (IOException e2) { + throw new Error("Failed to resolve localhost - incorrect network configuration?", e2); + } + } + } + + LOCALHOST = localhost; + + //Prepare to get the local NetworkInterface + NetworkInterface loopbackInterface; + + try { + //Automatically get the loopback interface + loopbackInterface = NetworkInterface.getByInetAddress(LOCALHOST); + } catch (SocketException e) { + //No? Alright. There is a backup! + loopbackInterface = null; + } + + //Check to see if a network interface was not found + if (loopbackInterface == null) { + try { + //Start iterating over all network interfaces + for (Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); + interfaces.hasMoreElements();) { + //Get the "next" interface + NetworkInterface networkInterface = interfaces.nextElement(); + + //Check to see if the interface is a loopback interface + if (networkInterface.isLoopback()) { + //Phew! The loopback interface was found. + loopbackInterface = networkInterface; + //No need to keep iterating + break; + } + } + } catch (SocketException e) { + //Nope. Can't do anything else, sorry! + logger.error("Failed to enumerate network interfaces", e); + } + } + + //Set the loopback interface constant + LOOPBACK_IF = loopbackInterface; + + int somaxconn = 3072; + BufferedReader in = null; + try { + in = new BufferedReader(new FileReader("/proc/sys/net/core/somaxconn")); + somaxconn = Integer.parseInt(in.readLine()); + } catch (Exception e) { + // Failed to get SOMAXCONN + } finally { + if (in != null) { + try { + in.close(); + } catch (Exception e) { + // Ignored. + } + } + } + + SOMAXCONN = somaxconn; } + private static void validateHost(InetAddress host) throws IOException { + ServerSocket ss = null; + Socket s1 = null; + Socket s2 = null; + try { + ss = new ServerSocket(); + ss.setReuseAddress(false); + ss.bind(new InetSocketAddress(host, 0)); + s1 = new Socket(host, ss.getLocalPort()); + s2 = ss.accept(); + } finally { + if (s2 != null) { + try { + s2.close(); + } catch (IOException e) { + // Ignore + } + } + if (s1 != null) { + try { + s1.close(); + } catch (IOException e) { + // Ignore + } + } + if (ss != null) { + try { + ss.close(); + } catch (IOException e) { + // Ignore + } + } + } + } + + /** * Creates an byte[] based on an ipAddressString. No error handling is * performed here. */ - public static byte[] createByteArrayFromIPAddressString( + public static byte[] createByteArrayFromIpAddressString( String ipAddressString) { - if (isValidIPV4Address(ipAddressString)) { + if (isValidIpV4Address(ipAddressString)) { StringTokenizer tokenizer = new StringTokenizer(ipAddressString, "."); String token; @@ -155,7 +307,7 @@ public final class IPUtil { /** Converts a 4 character hex word into a 2 byte word equivalent */ private static void convertToBytes(String hexWord, byte[] ipByteArray, - int byteIndex) { + int byteIndex) { int hexWordLength = hexWord.length(); int hexWordIndex = 0; @@ -229,7 +381,7 @@ public final class IPUtil { return 0; } - public static boolean isValidIP6Address(String ipAddress) { + public static boolean isValidIp6Address(String ipAddress) { int length = ipAddress.length(); boolean doubleColon = false; int numberOfColons = 0; @@ -279,7 +431,7 @@ public final class IPUtil { if (numberOfPeriods > 3) { return false; } - if (!isValidIP4Word(word.toString())) { + if (!isValidIp4Word(word.toString())) { return false; } if (numberOfColons != 6 && !doubleColon) { @@ -354,7 +506,7 @@ public final class IPUtil { // Check if we have an IPv4 ending if (numberOfPeriods > 0) { - if (numberOfPeriods != 3 || !isValidIP4Word(word.toString())) { + if (numberOfPeriods != 3 || !isValidIp4Word(word.toString())) { return false; } } else { @@ -378,7 +530,7 @@ public final class IPUtil { return true; } - public static boolean isValidIP4Word(String word) { + public static boolean isValidIp4Word(String word) { char c; if (word.length() < 1 || word.length() > 3) { return false; @@ -406,7 +558,7 @@ public final class IPUtil { * @return true, if the string represents an IPV4 address in dotted * notation, false otherwise */ - public static boolean isValidIPV4Address(String value) { + public static boolean isValidIpV4Address(String value) { int periods = 0; int i; @@ -450,4 +602,10 @@ public final class IPUtil { return true; } + /** + * A constructor to stop this class being constructed. + */ + private IpAddresses() { + // Unused + } } diff --git a/common/src/main/java/io/netty/util/NetworkConstants.java b/common/src/main/java/io/netty/util/NetworkConstants.java deleted file mode 100644 index 9629c4a21c..0000000000 --- a/common/src/main/java/io/netty/util/NetworkConstants.java +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 2012 The Netty Project - * - * The Netty Project licenses this file to you under the Apache License, - * version 2.0 (the "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ -package io.netty.util; - -import io.netty.logging.InternalLogger; -import io.netty.logging.InternalLoggerFactory; - -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.net.NetworkInterface; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.SocketException; -import java.util.Enumeration; - -/** - * A class that holds a number of network-related constants. - */ -public final class NetworkConstants { - - /** - * The {@link InetAddress} representing the host machine - * - * We cache this because some machines take almost forever to return from - * {@link InetAddress}.getLocalHost(). This may be due to incorrect - * configuration of the hosts and DNS client configuration files. - */ - public static final InetAddress LOCALHOST; - - /** - * The loopback {@link NetworkInterface} on the current machine - */ - public static final NetworkInterface LOOPBACK_IF; - - /** - * The SOMAXCONN value of the current machine. If failed to get the value, 3072 is used as a - * default value. - */ - public static final int SOMAXCONN; - - /** - * The logger being used by this class - */ - private static final InternalLogger logger = - InternalLoggerFactory.getInstance(NetworkConstants.class); - - static { - //Start the process of discovering localhost - InetAddress localhost; - try { - localhost = InetAddress.getLocalHost(); - validateHost(localhost); - } catch (IOException e) { - // The default local host names did not work. Try hard-coded IPv4 address. - try { - localhost = InetAddress.getByAddress(new byte[] { 127, 0, 0, 1 }); - validateHost(localhost); - } catch (IOException e1) { - // The hard-coded IPv4 address did not work. Try hard coded IPv6 address. - try { - localhost = InetAddress.getByAddress(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }); - validateHost(localhost); - } catch (IOException e2) { - throw new Error("Failed to resolve localhost - incorrect network configuration?", e2); - } - } - } - - LOCALHOST = localhost; - - //Prepare to get the local NetworkInterface - NetworkInterface loopbackInterface; - - try { - //Automatically get the loopback interface - loopbackInterface = NetworkInterface.getByInetAddress(LOCALHOST); - } catch (SocketException e) { - //No? Alright. There is a backup! - loopbackInterface = null; - } - - //Check to see if a network interface was not found - if (loopbackInterface == null) { - try { - //Start iterating over all network interfaces - for (Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); - interfaces.hasMoreElements();) { - //Get the "next" interface - NetworkInterface networkInterface = interfaces.nextElement(); - - //Check to see if the interface is a loopback interface - if (networkInterface.isLoopback()) { - //Phew! The loopback interface was found. - loopbackInterface = networkInterface; - //No need to keep iterating - break; - } - } - } catch (SocketException e) { - //Nope. Can't do anything else, sorry! - logger.error("Failed to enumerate network interfaces", e); - } - } - - //Set the loopback interface constant - LOOPBACK_IF = loopbackInterface; - - int somaxconn = 3072; - BufferedReader in = null; - try { - in = new BufferedReader(new FileReader("/proc/sys/net/core/somaxconn")); - somaxconn = Integer.parseInt(in.readLine()); - } catch (Exception e) { - // Failed to get SOMAXCONN - } finally { - if (in != null) { - try { - in.close(); - } catch (Exception e) { - // Ignored. - } - } - } - - SOMAXCONN = somaxconn; - } - - private static void validateHost(InetAddress host) throws IOException { - ServerSocket ss = null; - Socket s1 = null; - Socket s2 = null; - try { - ss = new ServerSocket(); - ss.setReuseAddress(false); - ss.bind(new InetSocketAddress(host, 0)); - s1 = new Socket(host, ss.getLocalPort()); - s2 = ss.accept(); - } finally { - if (s2 != null) { - try { - s2.close(); - } catch (IOException e) { - // Ignore - } - } - if (s1 != null) { - try { - s1.close(); - } catch (IOException e) { - // Ignore - } - } - if (ss != null) { - try { - ss.close(); - } catch (IOException e) { - // Ignore - } - } - } - } - - /** - * A constructor to stop this class being constructed. - */ - private NetworkConstants() { - // Unused - } -} diff --git a/common/src/test/java/io/netty/util/NetworkConstantsTest.java b/common/src/test/java/io/netty/util/IpAddressesTest.java similarity index 85% rename from common/src/test/java/io/netty/util/NetworkConstantsTest.java rename to common/src/test/java/io/netty/util/IpAddressesTest.java index aba727dc52..2ea66024f2 100644 --- a/common/src/test/java/io/netty/util/NetworkConstantsTest.java +++ b/common/src/test/java/io/netty/util/IpAddressesTest.java @@ -19,16 +19,16 @@ import org.junit.Test; import static org.junit.Assert.*; -public class NetworkConstantsTest { +public class IpAddressesTest { @Test public void testLocalhost() { - assertNotNull(NetworkConstants.LOCALHOST); + assertNotNull(IpAddresses.LOCALHOST); } @Test public void testLoopback() { - assertNotNull(NetworkConstants.LOOPBACK_IF); + assertNotNull(IpAddresses.LOOPBACK_IF); } } diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractClientSocketTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractClientSocketTest.java index 50171a7c06..31bb3d6511 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractClientSocketTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractClientSocketTest.java @@ -20,7 +20,7 @@ import io.netty.logging.InternalLogger; import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -47,7 +47,7 @@ public abstract class AbstractClientSocketTest { for (Factory e: COMBO) { cb = e.newInstance(); addr = new InetSocketAddress( - NetworkConstants.LOCALHOST, TestUtils.getFreePort()); + IpAddresses.LOCALHOST, TestUtils.getFreePort()); cb.remoteAddress(addr); logger.info(String.format( diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java index a90e9b192e..fc41d87d1a 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractDatagramTest.java @@ -21,7 +21,8 @@ import io.netty.logging.InternalLogger; import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; + import org.junit.Rule; import org.junit.rules.TestName; @@ -51,7 +52,7 @@ public abstract class AbstractDatagramTest { sb = e.getKey().newInstance(); cb = e.getValue().newInstance(); addr = new InetSocketAddress( - NetworkConstants.LOCALHOST, TestUtils.getFreePort()); + IpAddresses.LOCALHOST, TestUtils.getFreePort()); sb.localAddress(addr); cb.localAddress(0).remoteAddress(addr); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java index 8d3c829656..f761d08b90 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSctpTest.java @@ -21,7 +21,7 @@ import io.netty.logging.InternalLogger; import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import org.junit.Rule; import org.junit.rules.TestName; @@ -53,7 +53,7 @@ public abstract class AbstractSctpTest { sb = e.getKey().newInstance(); cb = e.getValue().newInstance(); addr = new InetSocketAddress( - NetworkConstants.LOCALHOST, TestUtils.getFreePort()); + IpAddresses.LOCALHOST, TestUtils.getFreePort()); sb.localAddress(addr); cb.remoteAddress(addr); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java index 5d03996f1b..450b192d0a 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractServerSocketTest.java @@ -20,7 +20,8 @@ import io.netty.logging.InternalLogger; import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; + import org.junit.Rule; import org.junit.rules.TestName; @@ -46,7 +47,7 @@ public abstract class AbstractServerSocketTest { for (Factory e: COMBO) { sb = e.newInstance(); addr = new InetSocketAddress( - NetworkConstants.LOCALHOST, TestUtils.getFreePort()); + IpAddresses.LOCALHOST, TestUtils.getFreePort()); sb.localAddress(addr); logger.info(String.format( diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java index 3867621888..420564fbec 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/AbstractSocketTest.java @@ -21,7 +21,8 @@ import io.netty.logging.InternalLogger; import io.netty.logging.InternalLoggerFactory; import io.netty.testsuite.transport.socket.SocketTestPermutation.Factory; import io.netty.testsuite.util.TestUtils; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; + import org.junit.Rule; import org.junit.rules.TestName; @@ -53,7 +54,7 @@ public abstract class AbstractSocketTest { sb = e.getKey().newInstance(); cb = e.getValue().newInstance(); addr = new InetSocketAddress( - NetworkConstants.LOCALHOST, TestUtils.getFreePort()); + IpAddresses.LOCALHOST, TestUtils.getFreePort()); sb.localAddress(addr); cb.remoteAddress(addr); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/DatagramMulticastTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/DatagramMulticastTest.java index 203891e3c2..9bb208738d 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/DatagramMulticastTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/DatagramMulticastTest.java @@ -24,7 +24,7 @@ import io.netty.channel.ChannelOption; import io.netty.channel.socket.DatagramChannel; import io.netty.channel.socket.DatagramPacket; import io.netty.channel.socket.oio.OioDatagramChannel; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import org.junit.Ignore; import org.junit.Test; @@ -56,9 +56,9 @@ public class DatagramMulticastTest extends AbstractDatagramTest { cb.handler(mhandler); - sb.option(ChannelOption.IP_MULTICAST_IF, NetworkConstants.LOOPBACK_IF); + sb.option(ChannelOption.IP_MULTICAST_IF, IpAddresses.LOOPBACK_IF); sb.option(ChannelOption.SO_REUSEADDR, true); - cb.option(ChannelOption.IP_MULTICAST_IF, NetworkConstants.LOOPBACK_IF); + cb.option(ChannelOption.IP_MULTICAST_IF, IpAddresses.LOOPBACK_IF); cb.option(ChannelOption.SO_REUSEADDR, true); cb.localAddress(addr.getPort()); @@ -75,13 +75,13 @@ public class DatagramMulticastTest extends AbstractDatagramTest { String group = "230.0.0.1"; InetSocketAddress groupAddress = new InetSocketAddress(group, addr.getPort()); - cc.joinGroup(groupAddress, NetworkConstants.LOOPBACK_IF).sync(); + cc.joinGroup(groupAddress, IpAddresses.LOOPBACK_IF).sync(); sc.write(new DatagramPacket(Unpooled.copyInt(1), groupAddress)).sync(); assertTrue(mhandler.await()); // leave the group - cc.leaveGroup(groupAddress, NetworkConstants.LOOPBACK_IF).sync(); + cc.leaveGroup(groupAddress, IpAddresses.LOOPBACK_IF).sync(); // sleep a second to make sure we left the group Thread.sleep(1000); diff --git a/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketSpdyEchoTest.java b/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketSpdyEchoTest.java index 77f0b56816..cca6a3b695 100644 --- a/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketSpdyEchoTest.java +++ b/testsuite/src/test/java/io/netty/testsuite/transport/socket/SocketSpdyEchoTest.java @@ -29,7 +29,7 @@ import io.netty.channel.socket.SocketChannel; import io.netty.handler.codec.spdy.SpdyConstants; import io.netty.handler.codec.spdy.SpdyFrameDecoder; import io.netty.handler.codec.spdy.SpdyFrameEncoder; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.io.IOException; import java.net.InetSocketAddress; @@ -197,7 +197,7 @@ public class SocketSpdyEchoTest extends AbstractSocketTest { Channel sc = sb.localAddress(0).bind().sync().channel(); int port = ((InetSocketAddress) sc.localAddress()).getPort(); - Channel cc = cb.remoteAddress(NetworkConstants.LOCALHOST, port).connect().sync().channel(); + Channel cc = cb.remoteAddress(IpAddresses.LOCALHOST, port).connect().sync().channel(); cc.write(frames); while (ch.counter < frames.writerIndex() - ignoredBytes) { diff --git a/testsuite/src/test/java/io/netty/testsuite/util/TestUtils.java b/testsuite/src/test/java/io/netty/testsuite/util/TestUtils.java index d1e50165ed..7698a55138 100644 --- a/testsuite/src/test/java/io/netty/testsuite/util/TestUtils.java +++ b/testsuite/src/test/java/io/netty/testsuite/util/TestUtils.java @@ -15,7 +15,7 @@ */ package io.netty.testsuite.util; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.io.IOException; import java.net.InetSocketAddress; @@ -64,7 +64,7 @@ public final class TestUtils { ss = new ServerSocket(); ss.setReuseAddress(false); - ss.bind(new InetSocketAddress(NetworkConstants.LOCALHOST, port)); + ss.bind(new InetSocketAddress(IpAddresses.LOCALHOST, port)); ss.close(); return port; diff --git a/transport/src/main/java/io/netty/channel/socket/DefaultSctpServerChannelConfig.java b/transport/src/main/java/io/netty/channel/socket/DefaultSctpServerChannelConfig.java index c2edbfbd33..18b371bef8 100644 --- a/transport/src/main/java/io/netty/channel/socket/DefaultSctpServerChannelConfig.java +++ b/transport/src/main/java/io/netty/channel/socket/DefaultSctpServerChannelConfig.java @@ -21,7 +21,7 @@ import io.netty.buffer.ByteBufAllocator; import io.netty.channel.ChannelException; import io.netty.channel.ChannelOption; import io.netty.channel.DefaultChannelConfig; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.io.IOException; import java.util.Map; @@ -36,7 +36,7 @@ import static com.sun.nio.sctp.SctpStandardSocketOptions.SO_SNDBUF; public class DefaultSctpServerChannelConfig extends DefaultChannelConfig implements SctpServerChannelConfig { private final SctpServerChannel serverChannel; - private volatile int backlog = NetworkConstants.SOMAXCONN; + private volatile int backlog = IpAddresses.SOMAXCONN; /** * Creates a new instance. diff --git a/transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java b/transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java index 4a996070c6..ed0495f7a1 100644 --- a/transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java +++ b/transport/src/main/java/io/netty/channel/socket/DefaultServerSocketChannelConfig.java @@ -21,7 +21,7 @@ import io.netty.buffer.ByteBufAllocator; import io.netty.channel.ChannelException; import io.netty.channel.ChannelOption; import io.netty.channel.DefaultChannelConfig; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.net.ServerSocket; import java.net.SocketException; @@ -34,7 +34,7 @@ public class DefaultServerSocketChannelConfig extends DefaultChannelConfig implements ServerSocketChannelConfig { private final ServerSocket socket; - private volatile int backlog = NetworkConstants.SOMAXCONN; + private volatile int backlog = IpAddresses.SOMAXCONN; /** * Creates a new instance. diff --git a/transport/src/main/java/io/netty/channel/socket/aio/AioServerSocketChannelConfig.java b/transport/src/main/java/io/netty/channel/socket/aio/AioServerSocketChannelConfig.java index 5bf6938096..cdcaee3b47 100644 --- a/transport/src/main/java/io/netty/channel/socket/aio/AioServerSocketChannelConfig.java +++ b/transport/src/main/java/io/netty/channel/socket/aio/AioServerSocketChannelConfig.java @@ -22,7 +22,7 @@ import io.netty.channel.ChannelException; import io.netty.channel.ChannelOption; import io.netty.channel.DefaultChannelConfig; import io.netty.channel.socket.ServerSocketChannelConfig; -import io.netty.util.NetworkConstants; +import io.netty.util.IpAddresses; import java.io.IOException; import java.net.SocketOption; @@ -38,6 +38,7 @@ import java.util.concurrent.atomic.AtomicReference; final class AioServerSocketChannelConfig extends DefaultChannelConfig implements ServerSocketChannelConfig { +<<<<<<< HEAD private final AtomicReference channel = new AtomicReference(); private volatile int backlog = NetworkConstants.SOMAXCONN; @@ -53,6 +54,10 @@ final class AioServerSocketChannelConfig extends DefaultChannelConfig */ AioServerSocketChannelConfig() { } +======= + private final AsynchronousServerSocketChannel channel; + private volatile int backlog = IpAddresses.SOMAXCONN; +>>>>>>> 9e370a3... Merge IPUtil and NetworkConstants into IpAddresses and also make naming of methods consistent /** * Creates a new instance with the given {@link AsynchronousServerSocketChannel} assigned to it.