public abstract class NioClient
extends java.lang.Object
SimpleResolver
. It is mostly an implementation detail of
dnsjava
and the only method intended to be called is close()
- and only if
dnsjava
is used in an application container like Tomcat. In a normal JVM setup close()
is called by a shutdown hook.Modifier and Type | Class and Description |
---|---|
(package private) static interface |
NioClient.KeyProcessor |
Modifier and Type | Field and Description |
---|---|
private static java.util.List<java.lang.Runnable> |
closeTasks |
private static java.lang.Thread |
closeThread |
private static PacketLogger |
packetLogger
Packet logger, if available.
|
private static boolean |
run |
private static java.nio.channels.Selector |
selector |
private static java.lang.Thread |
selectorThread |
private static java.util.List<java.lang.Runnable> |
timeoutTasks |
Constructor and Description |
---|
NioClient() |
Modifier and Type | Method and Description |
---|---|
(package private) static void |
addCloseTask(java.lang.Runnable r) |
(package private) static void |
addSelectorTimeoutTask(java.lang.Runnable r) |
static void |
close()
Shutdown the network I/O used by the
SimpleResolver . |
private static void |
close(boolean fromHook) |
private static void |
processReadyKeys() |
private static void |
runSelector() |
(package private) static java.nio.channels.Selector |
selector() |
(package private) static void |
setPacketLogger(PacketLogger logger) |
(package private) static void |
verboseLog(java.lang.String prefix,
java.net.SocketAddress local,
java.net.SocketAddress remote,
byte[] data) |
private static PacketLogger packetLogger
private static final java.util.List<java.lang.Runnable> timeoutTasks
private static final java.util.List<java.lang.Runnable> closeTasks
private static java.lang.Thread selectorThread
private static java.lang.Thread closeThread
private static volatile java.nio.channels.Selector selector
private static volatile boolean run
static java.nio.channels.Selector selector() throws java.io.IOException
java.io.IOException
public static void close()
SimpleResolver
.private static void close(boolean fromHook)
private static void runSelector()
static void addSelectorTimeoutTask(java.lang.Runnable r)
static void addCloseTask(java.lang.Runnable r)
private static void processReadyKeys()
static void verboseLog(java.lang.String prefix, java.net.SocketAddress local, java.net.SocketAddress remote, byte[] data)
static void setPacketLogger(PacketLogger logger)