Dependencies
- java/11
- org.jboss.logging/jboss-logging/3.3.1.Final
- org.jboss.threads/jboss-threads/2.3.0.Beta2
- org.jboss.xnio/xnio-api/3.6.3.Final
- org.wildfly.client/wildfly-client-config/1.0.0.Final
- org.wildfly.common/wildfly-common/1.3.0.Final
Declarations
-
org
-
xnio
-
nio
- AbstractNioChannel
- AbstractNioStreamConnection
- ChannelClosed
-
Log
- log: Log
- socketLog: Log
- selectorLog: Log
- tcpServerLog: Log
- udpServerChannelLog: Log
- greeting(String): void
- taskFailed(Runnable, Throwable): void
- parameterOutOfRange(String): IllegalArgumentException
- optionOutOfRange(String): IllegalArgumentException
- readTimeout(): ReadTimeoutException
- writeTimeout(): WriteTimeoutException
- interruptedIO(): InterruptedIOException
- interruptedIO(int): InterruptedIOException
- workerShutDown(): ClosedWorkerException
- unsupported(String): UnsupportedOperationException
- failedToInvokeFileWatchCallback(Throwable): void
- noThreads(): IllegalArgumentException
- balancingTokens(): IllegalArgumentException
- balancingConnectionCount(): IllegalArgumentException
- bufferTooLarge(): IllegalArgumentException
- noSelectorProvider(): IllegalStateException
- unexpectedSelectorOpenProblem(Throwable): IllegalStateException
- notNioProvider(): IllegalArgumentException
- threadExiting(): RejectedExecutionException
- selectionError(IOException): void
- selectorProvider(SelectorProvider): void
- selectors(Object, Object): void
-
Log_$logger
- writeTimeout: String
- greeting: String
- LOCALE: Locale
- getLoggingLocale(): Locale
- greeting(String): void
- serialVersionUID: long
- FQCN: String
- Log_$logger(Logger): void
- greeting$str(): String
- taskFailed(Runnable, Throwable): void
- taskFailed: String
- taskFailed$str(): String
- parameterOutOfRange: String
- parameterOutOfRange$str(): String
- parameterOutOfRange(String): IllegalArgumentException
- optionOutOfRange: String
- optionOutOfRange$str(): String
- optionOutOfRange(String): IllegalArgumentException
- readTimeout: String
- readTimeout$str(): String
- readTimeout(): ReadTimeoutException
- writeTimeout$str(): String
- writeTimeout(): WriteTimeoutException
- interruptedIO: String
- interruptedIO$str(): String
- interruptedIO(): InterruptedIOException
- interruptedIO(int): InterruptedIOException
- workerShutDown: String
- workerShutDown$str(): String
- workerShutDown(): ClosedWorkerException
- unsupported: String
- unsupported$str(): String
- unsupported(String): UnsupportedOperationException
- failedToInvokeFileWatchCallback(Throwable): void
- failedToInvokeFileWatchCallback: String
- failedToInvokeFileWatchCallback$str(): String
- noThreads: String
- noThreads$str(): String
- noThreads(): IllegalArgumentException
- balancingTokens: String
- balancingTokens$str(): String
- balancingTokens(): IllegalArgumentException
- balancingConnectionCount: String
- balancingConnectionCount$str(): String
- balancingConnectionCount(): IllegalArgumentException
- bufferTooLarge: String
- bufferTooLarge$str(): String
- bufferTooLarge(): IllegalArgumentException
- noSelectorProvider: String
- noSelectorProvider$str(): String
- noSelectorProvider(): IllegalStateException
- unexpectedSelectorOpenProblem: String
- unexpectedSelectorOpenProblem$str(): String
- unexpectedSelectorOpenProblem(Throwable): IllegalStateException
- notNioProvider: String
- notNioProvider$str(): String
- notNioProvider(): IllegalArgumentException
- threadExiting: String
- threadExiting$str(): String
- threadExiting(): RejectedExecutionException
- selectionError(IOException): void
- selectionError: String
- selectionError$str(): String
- selectorProvider(SelectorProvider): void
- selectorProvider: String
- selectorProvider$str(): String
- selectors(Object, Object): void
- selectors: String
- selectors$str(): String
-
NioHandle
- workerThread: WorkerThread
- selectionKey: SelectionKey
- NioHandle(WorkerThread, SelectionKey): void
- resume(int): void
- wakeup(int): void
- suspend(int): void
- isResumed(int): boolean
- handleReady(int): void
- forceTermination(): void
- terminated(): void
- getWorkerThread(): WorkerThread
- getSelectionKey(): SelectionKey
- cancelKey(boolean): void
-
NioPipeSinkConduit
- sinkChannel: SinkChannel
- connection: NioPipeStreamConnection
- writeReadyHandler: WriteReadyHandler
- writeTimeout: int
- lastWrite: long
- writeTimeoutUpdater: AtomicIntegerFieldUpdater<NioPipeSinkConduit>
- NioPipeSinkConduit(WorkerThread, SelectionKey, NioPipeStreamConnection): void
- handleReady(int): void
- getWorker(): XnioWorker
- forceTermination(): void
- terminated(): void
- getAndSetWriteTimeout(int): int
- getWriteTimeout(): int
- checkWriteTimeout(boolean): void
- transferFrom(FileChannel, long, long): long
- transferFrom(StreamSourceChannel, long, ByteBuffer): long
- write(ByteBuffer): int
- write(ByteBuffer[], int, int): long
- writeFinal(ByteBuffer): int
- writeFinal(ByteBuffer[], int, int): long
- flush(): boolean
- terminateWrites(): void
- truncateWrites(): void
- writeTerminated(): void
- isWriteShutdown(): boolean
- resumeWrites(): void
- suspendWrites(): void
- wakeupWrites(): void
- isWriteResumed(): boolean
- awaitWritable(): void
- awaitWritable(long, TimeUnit): void
- getWriteThread(): XnioIoThread
- setWriteReadyHandler(WriteReadyHandler): void
-
NioPipeSourceConduit
- sourceChannel: SourceChannel
- connection: NioPipeStreamConnection
- readReadyHandler: ReadReadyHandler
- readTimeout: int
- lastRead: long
- readTimeoutUpdater: AtomicIntegerFieldUpdater<NioPipeSourceConduit>
- NioPipeSourceConduit(WorkerThread, SelectionKey, NioPipeStreamConnection): void
- handleReady(int): void
- getWorker(): XnioWorker
- forceTermination(): void
- terminated(): void
- getAndSetReadTimeout(int): int
- getReadTimeout(): int
- checkReadTimeout(boolean): void
- transferTo(long, long, FileChannel): long
- transferTo(long, ByteBuffer, StreamSinkChannel): long
- read(ByteBuffer): int
- read(ByteBuffer[], int, int): long
- terminateReads(): void
- readTerminated(): void
- isReadShutdown(): boolean
- resumeReads(): void
- suspendReads(): void
- wakeupReads(): void
- isReadResumed(): boolean
- awaitReadable(): void
- awaitReadable(long, TimeUnit): void
- getReadThread(): XnioIoThread
- setReadReadyHandler(ReadReadyHandler): void
-
NioPipeStreamConnection
- setOption(Option<Object>, Object): Object
- sourceChannel: SourceChannel
- sinkChannel: SinkChannel
- sourceConduit: NioPipeSourceConduit
- sinkConduit: NioPipeSinkConduit
- NioPipeStreamConnection(WorkerThread, SelectionKey, SelectionKey): void
- getPeerAddress(): SocketAddress
- getLocalAddress(): SocketAddress
- readClosed(): boolean
- writeClosed(): boolean
- notifyWriteClosed(): void
- notifyReadClosed(): void
- cancelKey(NioHandle): void
- closeChannel(Channel): void
- closeAction(): void
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- getSourcePipeChannel(): SourceChannel
- getSinkPipeChannel(): SinkChannel
-
NioSocketConduit
- socketChannel: SocketChannel
- connection: NioSocketStreamConnection
- readReadyHandler: ReadReadyHandler
- writeReadyHandler: WriteReadyHandler
- readTimeout: int
- lastRead: long
- readTimeoutUpdater: AtomicIntegerFieldUpdater<NioSocketConduit>
- writeTimeout: int
- lastWrite: long
- writeTimeoutUpdater: AtomicIntegerFieldUpdater<NioSocketConduit>
- NioSocketConduit(WorkerThread, SelectionKey, NioSocketStreamConnection): void
- handleReady(int): void
- getReadTimeout(): int
- wakeupReads(): void
- getWorker(): XnioWorker
- forceTermination(): void
- terminated(): void
- getAndSetWriteTimeout(int): int
- getWriteTimeout(): int
- checkWriteTimeout(boolean): void
- transferFrom(FileChannel, long, long): long
- transferFrom(StreamSourceChannel, long, ByteBuffer): long
- write(ByteBuffer): int
- write(ByteBuffer[], int, int): long
- writeFinal(ByteBuffer): int
- writeFinal(ByteBuffer[], int, int): long
- flush(): boolean
- terminateWrites(): void
- truncateWrites(): void
- writeTerminated(): void
- isWriteShutdown(): boolean
- resumeWrites(): void
- suspendWrites(): void
- wakeupWrites(): void
- isWriteResumed(): boolean
- awaitWritable(): void
- awaitWritable(long, TimeUnit): void
- getWriteThread(): XnioIoThread
- setWriteReadyHandler(WriteReadyHandler): void
- getAndSetReadTimeout(int): int
- checkReadTimeout(boolean): void
- transferTo(long, long, FileChannel): long
- transferTo(long, ByteBuffer, StreamSinkChannel): long
- read(ByteBuffer): int
- read(ByteBuffer[], int, int): long
- terminateReads(): void
- readTerminated(): void
- isReadShutdown(): boolean
- resumeReads(): void
- suspendReads(): void
- isReadResumed(): boolean
- awaitReadable(): void
- awaitReadable(long, TimeUnit): void
- getReadThread(): XnioIoThread
- setReadReadyHandler(ReadReadyHandler): void
- getSocketChannel(): SocketChannel
-
NioSocketStreamConnection
- closedHandle: ChannelClosed
- conduit: NioSocketConduit
- NioSocketStreamConnection(WorkerThread, SelectionKey, ChannelClosed): void
- getPeerAddress(): SocketAddress
- getLocalAddress(): SocketAddress
- OPTIONS: Set<Option<Object>>
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- setOption(Option<Object>, Object): Object
- closeAction(): void
- notifyWriteClosed(): void
- notifyReadClosed(): void
- getChannel(): SocketChannel
- getConduit(): NioSocketConduit
-
NioTcpServer
- CONN_HIGH_ONE: long
- FQCN: String
- acceptListener: ChannelListener<Channel>
- handles: NioTcpServerHandle[]
- channel: ServerSocketChannel
- socket: ServerSocket
- mbeanHandle: ManagementRegistration
- options: Set<Option<Object>>
- keepAlive: int
- oobInline: int
- tcpNoDelay: int
- sendBuffer: int
- connectionStatus: long
- readTimeout: int
- writeTimeout: int
- tokenConnectionCount: int
- resumed: boolean
- CONN_LOW_MASK: long
- CONN_LOW_BIT: long
- CONN_LOW_ONE: long
- CONN_HIGH_MASK: long
- CONN_HIGH_BIT: long
- toString(): String
- keepAliveUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- oobInlineUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- tcpNoDelayUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- sendBufferUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- readTimeoutUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- writeTimeoutUpdater: AtomicIntegerFieldUpdater<NioTcpServer>
- connectionStatusUpdater: AtomicLongFieldUpdater<NioTcpServer>
- NioTcpServer(NioXnioWorker, ServerSocketChannel, OptionMap): void
- badLowWater(int): IllegalArgumentException
- badHighWater(): IllegalArgumentException
- close(): void
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- setOption(Option<Object>, Object): Object
- updateWaterMark(int, int): long
- getHighWater(long): int
- getLowWater(long): int
- accept(): NioSocketStreamConnection
- getAcceptListener(): ChannelListener<Channel>
- setAcceptListener(ChannelListener<Channel>): void
- getAcceptSetter(): Setter<NioTcpServer>
- isOpen(): boolean
- getLocalAddress(): SocketAddress
- getLocalAddress(Class<SocketAddress>): SocketAddress
- suspendAccepts(): void
- resumeAccepts(): void
- isAcceptResumed(): boolean
- doResume(int): void
- wakeupAccepts(): void
- awaitAcceptable(): void
- awaitAcceptable(long, TimeUnit): void
- getAcceptThread(): XnioExecutor
- getHandle(int): NioTcpServerHandle
- getTokenConnectionCount(): int
-
NioTcpServerHandle
- freeTask: Runnable
- server: NioTcpServer
- count: int
- low: int
- high: int
- tokenCount: int
- stopped: boolean
- NioTcpServerHandle(NioTcpServer, SelectionKey, WorkerThread, int, int): void
- handleReady(int): void
- forceTermination(): void
- terminated(): void
- getFreeTask(): Runnable
- resume(): void
- suspend(): void
- channelClosed(): void
- freeConnection(): void
- setTokenCount(int): void
- setThreadNewCount(WorkerThread, int): void
- initializeTokenCount(int): void
- getConnection(): boolean
- executeSetTask(int, int): void
- getConnectionCount(): int
-
NioUdpChannel
- handle: NioUdpChannelHandle
- readListener: ChannelListener<Channel>
- writeListener: ChannelListener<Channel>
- datagramChannel: DatagramChannel
- callFlag: AtomicBoolean
- isReadResumed(): boolean
- isWriteResumed(): boolean
- NioUdpChannel(NioXnioWorker, DatagramChannel): void
- getLocalAddress(): SocketAddress
- getLocalAddress(Class<SocketAddress>): SocketAddress
- receiveFrom(SocketAddressBuffer, ByteBuffer): int
- receiveFrom(SocketAddressBuffer, ByteBuffer[]): long
- receiveFrom(SocketAddressBuffer, ByteBuffer[], int, int): long
- sendTo(SocketAddress, ByteBuffer): boolean
- sendTo(SocketAddress, ByteBuffer[]): boolean
- sendTo(SocketAddress, ByteBuffer[], int, int): boolean
- getReadListener(): ChannelListener<Channel>
- setReadListener(ChannelListener<Channel>): void
- getWriteListener(): ChannelListener<Channel>
- setWriteListener(ChannelListener<Channel>): void
- getReadSetter(): Setter<NioUdpChannel>
- getWriteSetter(): Setter<NioUdpChannel>
- flush(): boolean
- isOpen(): boolean
- close(): void
- cancelKeys(): void
- suspendReads(): void
- suspendWrites(): void
- resumeReads(): void
- resumeWrites(): void
- wakeupReads(): void
- wakeupWrites(): void
- shutdownReads(): void
- shutdownWrites(): void
- awaitReadable(): void
- awaitReadable(long, TimeUnit): void
- getReadThread(): XnioExecutor
- awaitWritable(): void
- awaitWritable(long, TimeUnit): void
- getWriteThread(): XnioExecutor
- join(InetAddress, NetworkInterface): Key
- join(InetAddress, NetworkInterface, InetAddress): Key
- OPTIONS: Set<Option<Object>>
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- setOption(Option<Object>, Object): Object
- toString(): String
- NioKey
- NioUdpChannelHandle
-
NioXnio
- static class initializer
- $1
- IS_HP_UX: boolean
- HAS_BUGGY_EVENT_PORT: boolean
- SelectorCreator
- tempSelectorCreator: SelectorCreator
- mainSelectorCreator: SelectorCreator
- NioXnio(): void
- build(Builder): XnioWorker
- createFileSystemWatcher(String, OptionMap): FileSystemWatcher
- selectorThreadLocal: ThreadLocal<FinalizableSelectorHolder>
- DefaultSelectorCreator
- getSelector(): Selector
- ConstructorSelectorCreator
- register(XnioWorkerMXBean): Closeable
- register(XnioServerMXBean): Closeable
- FinalizableSelectorHolder
- NioXnioProvider
-
NioXnioWorker
- CLOSE_REQ: int
- CLOSE_COMP: int
- workerStackSize: long
- state: int
- workerThreads: WorkerThread[]
- acceptThread: WorkerThread
- metrics: NioWorkerMetrics
- shutdownWaiter: Thread
- shutdownWaiterUpdater: AtomicReferenceFieldUpdater<NioXnioWorker, Thread>
- stateUpdater: AtomicIntegerFieldUpdater<NioXnioWorker>
- NioXnioWorker(Builder): void
- start(): void
- getBindAddressTable(): CidrAddressTable<InetSocketAddress>
- chooseThread(): WorkerThread
- getIoThread(int): WorkerThread
- getIoThreadCount(): int
- getAll(): WorkerThread[]
- createTcpConnectionServer(InetSocketAddress, ChannelListener<Channel>, OptionMap): AcceptingChannel<StreamConnection>
- createUdpServer(InetSocketAddress, ChannelListener<Channel>, OptionMap): MulticastMessageChannel
- isShutdown(): boolean
- isTerminated(): boolean
- openResourceUnconditionally(): void
- checkShutdown(): void
- closeResource(): void
- shutdown(): void
- shutdownNow(): List<Runnable>
- awaitTermination(long, TimeUnit): boolean
- awaitTermination(): void
- safeUnpark(Thread): void
- taskPoolTerminated(): void
- getOption(Option<Object>): Object
- getXnio(): NioXnio
- getAcceptThread(): WorkerThread
- getMXBean(): XnioWorkerMXBean
- registerServerMXBean(XnioServerMXBean): ManagementRegistration
-
NioWorkerMetrics
- workerName: String
- serverMetrics: CopyOnWriteArrayList<XnioServerMXBean>
- mbeanHandle: Closeable
- NioWorkerMetrics(String): void
- getProviderName(): String
- getName(): String
- isShutdownRequested(): boolean
- getCoreWorkerPoolSize(): int
- getMaxWorkerPoolSize(): int
- getBusyWorkerThreadCount(): int
- getIoThreadCount(): int
- getWorkerQueueSize(): int
- registerServerMXBean(XnioServerMXBean): ManagementRegistration
- getServerMXBeans(): Set<XnioServerMXBean>
- register(): void
- close(): void
- OsgiActivator
-
QueuedNioTcpServer
- channel: ServerSocketChannel
- socket: ServerSocket
- close(): void
- mbeanHandle: ManagementRegistration
- FQCN: String
- acceptListener: ChannelListener<Channel>
- handle: QueuedNioTcpServerHandle
- thread: WorkerThread
- acceptQueues: List<BlockingQueue<SocketChannel>>
- options: Set<Option<Object>>
- keepAlive: int
- oobInline: int
- tcpNoDelay: int
- sendBuffer: int
- connectionStatus: long
- readTimeout: int
- writeTimeout: int
- CONN_LOW_MASK: long
- CONN_LOW_BIT: long
- CONN_LOW_ONE: long
- CONN_HIGH_MASK: long
- CONN_HIGH_BIT: long
- CONN_HIGH_ONE: long
- openConnections: int
- suspendedDueToWatermark: boolean
- suspended: boolean
- keepAliveUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- oobInlineUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- tcpNoDelayUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- sendBufferUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- readTimeoutUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- writeTimeoutUpdater: AtomicIntegerFieldUpdater<QueuedNioTcpServer>
- connectionStatusUpdater: AtomicLongFieldUpdater<QueuedNioTcpServer>
- acceptTask: Runnable
- connectionClosedTask: Runnable
- QueuedNioTcpServer(NioXnioWorker, ServerSocketChannel, OptionMap): void
- badLowWater(int): IllegalArgumentException
- badHighWater(): IllegalArgumentException
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- setOption(Option<Object>, Object): Object
- updateWaterMark(int, int): long
- getHighWater(long): int
- getLowWater(long): int
- accept(): NioSocketStreamConnection
- toString(): String
- getAcceptListener(): ChannelListener<Channel>
- setAcceptListener(ChannelListener<Channel>): void
- getAcceptSetter(): Setter<QueuedNioTcpServer>
- isOpen(): boolean
- getLocalAddress(): SocketAddress
- getLocalAddress(Class<SocketAddress>): SocketAddress
- suspendAccepts(): void
- resumeAccepts(): void
- isAcceptResumed(): boolean
- wakeupAccepts(): void
- awaitAcceptable(): void
- awaitAcceptable(long, TimeUnit): void
- getAcceptThread(): XnioExecutor
- handleReady(): void
- connectionClosed(): void
- QueuedNioTcpServerHandle
- SelectorUtils
- Version
-
WatchServiceFileSystemWatcher
- threadIdCounter: AtomicInteger
- THREAD_NAME: String
- watchService: WatchService
- files: Map<File, PathData>
- pathDataByKey: Map<WatchKey, PathData>
- stopped: boolean
- watchThread: Thread
- WatchServiceFileSystemWatcher(String, boolean): void
- run(): void
- watchPath(File, FileChangeCallback): void
- addWatchedDirectory(PathData, File): void
- unwatchPath(File, FileChangeCallback): void
- close(): void
- doScan(File): Map<File, Long>
- invokeCallback(FileChangeCallback, List<FileChangeEvent>): void
- PathData
-
WorkerThread
- state: int
- SHUTDOWN: int
- stateUpdater: AtomicIntegerFieldUpdater<WorkerThread>
- static class initializer
- LONGEST_DELAY: long
- FQCN: String
- OLD_LOCKING: boolean
- THREAD_SAFE_SELECTION_KEYS: boolean
- START_TIME: long
- selector: Selector
- workLock: Object
- selectorWorkQueue: Queue<Runnable>
- delayWorkQueue: TreeSet<TimeKey>
- WorkerThread(NioXnioWorker, Selector, String, ThreadGroup, long, int): void
- getCurrent(): WorkerThread
- getWorker(): NioXnioWorker
-
acceptTcpStreamConnection(InetSocketAddress, ChannelListener<Channel>, ChannelListener<Channel>, OptionMap): IoFuture<StreamConnection>
-
$1
- getLocalAddress(): SocketAddress
- getLocalAddress(Class<SocketAddress>): SocketAddress
- getCloseSetter(): Setter<BoundChannel>
- getWorker(): XnioWorker
- getIoThread(): XnioIoThread
- close(): void
- isOpen(): boolean
- supportsOption(Option<Object>): boolean
- getOption(Option<Object>): Object
- setOption(Option<Object>, Object): Object
- $2
- $3
-
$1
- openTcpStreamConnection(InetSocketAddress, InetSocketAddress, ChannelListener<Channel>, ChannelListener<Channel>, OptionMap): IoFuture<StreamConnection>
- getNextThread(): WorkerThread
-
ConnectHandle
- futureResult: FutureResult<StreamConnection>
- connection: NioSocketStreamConnection
- openListener: ChannelListener<Channel>
- ConnectHandle(WorkerThread, SelectionKey, FutureResult<StreamConnection>, NioSocketStreamConnection, ChannelListener<Channel>): void
- handleReady(int): void
- getChannel(): SocketChannel
- forceTermination(): void
- terminated(): void
- getPeerThread(XnioIoFactory): WorkerThread
- createFullDuplexPipeConnection(XnioIoFactory): ChannelPipe<StreamConnection, StreamConnection>
- createHalfDuplexPipe(XnioIoFactory): ChannelPipe<StreamSourceChannel, StreamSinkChannel>
- polling: boolean
- run(): void
- safeRun(Runnable): void
- execute(Runnable): void
- shutdown(): void
- executeAfter(Runnable, long, TimeUnit): Key
- RepeatKey
- executeAtInterval(Runnable, long, TimeUnit): Key
- registerChannel(AbstractSelectableChannel): SelectionKey
- queueTask(Runnable): void
- cancelKey(SelectionKey, boolean): void
- setOps(SelectionKey, int): void
- clearOps(SelectionKey, int): void
- getSelector(): Selector
- equals(Object): boolean
- hashCode(): int
- seqGen: AtomicLong
- TimeKey
- SynchTask
- SelectNowTask
-
nio
-
xnio