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.
The following configuration parameter is available:
Modifier and Type | Class and Description |
---|---|
(package private) static interface |
NioClient.KeyProcessor |
Modifier and Type | Field and Description |
---|---|
private static java.lang.Runnable[] |
CLOSE_TASKS |
private static java.lang.Thread |
closeThread |
private static PacketLogger |
packetLogger
Packet logger, if available.
|
private static java.lang.Runnable[] |
REGISTRATIONS_TASKS |
private static boolean |
run |
private static java.nio.channels.Selector |
selector |
private static java.lang.Thread |
selectorThread |
private static java.lang.Runnable[] |
TIMEOUT_TASKS |
Constructor and Description |
---|
NioClient() |
Modifier and Type | Method and Description |
---|---|
private static void |
addTask(java.lang.Runnable[] closeTasks,
java.lang.Runnable r,
boolean isTcpClient) |
static void |
close()
Shutdown the network I/O used by the
SimpleResolver . |
private static void |
close(boolean fromHook) |
private static void |
processReadyKeys() |
(package private) static void |
runSelector() |
private static void |
runTasks(java.lang.Runnable[] runnables) |
(package private) static java.nio.channels.Selector |
selector() |
(package private) static void |
setCloseTask(java.lang.Runnable r,
boolean isTcpClient) |
(package private) static void |
setPacketLogger(PacketLogger logger) |
(package private) static void |
setRegistrationsTask(java.lang.Runnable r,
boolean isTcpClient) |
(package private) static void |
setTimeoutTask(java.lang.Runnable r,
boolean isTcpClient) |
(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.lang.Runnable[] TIMEOUT_TASKS
private static final java.lang.Runnable[] REGISTRATIONS_TASKS
private static final java.lang.Runnable[] CLOSE_TASKS
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)
static void runSelector()
static void setTimeoutTask(java.lang.Runnable r, boolean isTcpClient)
static void setRegistrationsTask(java.lang.Runnable r, boolean isTcpClient)
static void setCloseTask(java.lang.Runnable r, boolean isTcpClient)
private static void addTask(java.lang.Runnable[] closeTasks, java.lang.Runnable r, boolean isTcpClient)
private static void runTasks(java.lang.Runnable[] runnables)
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)