Package org.xbill.DNS
Class NioClient
java.lang.Object
org.xbill.DNS.NioClient
- Direct Known Subclasses:
NioTcpClient,NioUdpClient
Manages the network I/O for the
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:
- "dnsjava.nio.selector_timeout"
- Set selector timeout in milliseconds. Default/Max 1000, Min 1.
- "dnsjava.nio.register_shutdown_hook"
- Register Shutdown Hook termination of NIO. Default True.
- Since:
- 3.4
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Runnable[]private static booleanprivate static Threadprivate static final Objectprivate static PacketLoggerPacket logger, if available.(package private) static final Stringprivate static booleanprivate static Selector(package private) static final Stringprivate static Threadprivate static final Runnable[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidstatic voidclose()Shutdown the network I/O used by theSimpleResolver.private static voidclose(boolean fromHook) private static voidprivate static voidrunClose()private static void(package private) static voidprivate static void(package private) static Selectorselector()(package private) static voidsetCloseTask(Runnable r, boolean isTcpClient) (package private) static voidsetPacketLogger(PacketLogger logger) (package private) static voidsetRegistrationsTask(Consumer<Selector> r, boolean isTcpClient) (package private) static voidsetTimeoutTask(Runnable r, boolean isTcpClient) (package private) static voidverboseLog(String prefix, SocketAddress local, SocketAddress remote, byte[] data) (package private) static voidverboseLog(String prefix, SocketAddress local, SocketAddress remote, ByteBuffer data)
-
Field Details
-
SELECTOR_TIMEOUT_PROPERTY
- See Also:
-
REGISTER_SHUTDOWN_HOOK_PROPERTY
- See Also:
-
NIO_CLIENT_LOCK
-
packetLogger
Packet logger, if available. -
TIMEOUT_TASKS
-
TCP_REGISTRATIONS_TASK
-
UDP_REGISTRATIONS_TASK
-
CLOSE_TASKS
-
selectorThread
-
closeThread
-
selector
-
run
private static volatile boolean run -
closeDone
private static volatile boolean closeDone
-
-
Constructor Details
-
NioClient
public NioClient()
-
-
Method Details
-
selector
- Throws:
IOException
-
close
public static void close()Shutdown the network I/O used by theSimpleResolver.- Since:
- 3.4.0
-
close
private static void close(boolean fromHook) -
runSelector
static void runSelector() -
runClose
private static void runClose() -
setTimeoutTask
-
setRegistrationsTask
-
setCloseTask
-
addTask
-
runTasks
-
runRegistrationTasks
private static void runRegistrationTasks() -
processReadyKeys
private static void processReadyKeys() -
verboseLog
-
verboseLog
-
setPacketLogger
-