Package org.apache.zookeeper.common
Class NettyUtils
- java.lang.Object
 - 
- org.apache.zookeeper.common.NettyUtils
 
 
- 
public class NettyUtils extends Object
Helper methods for netty code. 
- 
- 
Field Summary
Fields Modifier and Type Field Description static StringTHREAD_POOL_NAME_PREFIX 
- 
Constructor Summary
Constructors Constructor Description NettyUtils() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intgetClientReachableLocalInetAddressCount()Attempts to detect and return the number of local network addresses that could be used by a client to reach this server.static io.netty.channel.EventLoopGroupnewNioOrEpollEventLoopGroup()IfEpoll.isAvailable()== true, returns a newEpollEventLoopGroup, otherwise returns a newNioEventLoopGroup.static io.netty.channel.EventLoopGroupnewNioOrEpollEventLoopGroup(int nThreads)IfEpoll.isAvailable()== true, returns a newEpollEventLoopGroup, otherwise returns a newNioEventLoopGroup.static Class<? extends io.netty.channel.socket.ServerSocketChannel>nioOrEpollServerSocketChannel()IfEpoll.isAvailable()== true, returnsEpollServerSocketChannel, otherwise returnsNioServerSocketChannel.static Class<? extends io.netty.channel.socket.SocketChannel>nioOrEpollSocketChannel()IfEpoll.isAvailable()== true, returnsEpollSocketChannel, otherwise returnsNioSocketChannel. 
 - 
 
- 
- 
Field Detail
- 
THREAD_POOL_NAME_PREFIX
public static final String THREAD_POOL_NAME_PREFIX
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
newNioOrEpollEventLoopGroup
public static io.netty.channel.EventLoopGroup newNioOrEpollEventLoopGroup()
IfEpoll.isAvailable()== true, returns a newEpollEventLoopGroup, otherwise returns a newNioEventLoopGroup. Creates the event loop group using the default number of threads.- Returns:
 - a new 
EventLoopGroup. 
 
- 
newNioOrEpollEventLoopGroup
public static io.netty.channel.EventLoopGroup newNioOrEpollEventLoopGroup(int nThreads)
IfEpoll.isAvailable()== true, returns a newEpollEventLoopGroup, otherwise returns a newNioEventLoopGroup. Creates the event loop group using the specified number of threads instead of the default.- Parameters:
 nThreads- seeNioEventLoopGroup(int).- Returns:
 - a new 
EventLoopGroup. 
 
- 
nioOrEpollSocketChannel
public static Class<? extends io.netty.channel.socket.SocketChannel> nioOrEpollSocketChannel()
IfEpoll.isAvailable()== true, returnsEpollSocketChannel, otherwise returnsNioSocketChannel.- Returns:
 - a socket channel class.
 
 
- 
nioOrEpollServerSocketChannel
public static Class<? extends io.netty.channel.socket.ServerSocketChannel> nioOrEpollServerSocketChannel()
IfEpoll.isAvailable()== true, returnsEpollServerSocketChannel, otherwise returnsNioServerSocketChannel.- Returns:
 - a server socket channel class.
 
 
- 
getClientReachableLocalInetAddressCount
public static int getClientReachableLocalInetAddressCount()
Attempts to detect and return the number of local network addresses that could be used by a client to reach this server. This means we exclude the following address types:- Multicast addresses. Zookeeper server sockets use TCP, thus cannot bind to a multicast address.
 - Link-local addresses. Routers don't forward traffic sent to a link-local address, so any realistic server deployment would not have clients using these.
 - Loopback addresses. These are typically only used for testing.
 
- Returns:
 - the number of client-reachable local network addresses found, or 1 if listing the network interfaces fails.
 
 
 - 
 
 -