public final class Channels extends Object
channels
. Unless otherwise specified, passing a null
argument to any of the methods defined here will cause a NullPointerException
to be thrown.
Modifier and Type | Class | Description |
---|---|---|
static interface |
Channels.SelectableChannelCloser |
An object used to coordinate the closing of a selectable channel created by readWriteSelectableChannel . |
Modifier and Type | Method | Description |
---|---|---|
static SelectableChannel |
readWriteSelectableChannel |
Creates a selectable channel to a file descriptor that supports an operation-set of OP_READ and OP_WRITE . |
public static SelectableChannel readWriteSelectableChannel(FileDescriptor fd, Channels.SelectableChannelCloser closer)
operation-set
of OP_READ
and OP_WRITE
. The selectable channel will be created by the default SelectorProvider
. The given file descriptor is a socket or resource that can be multiplexed by a Selector
for read and write readiness. Great care is required to coordinate direct use of the file descriptor with the use of the selectable channel. In particular, changing the blocking mode or closing the file descriptor without careful coordination will result in unspecified and unsafe side effects. The given SelectableChannelCloser
is invoked to close the file descriptor and to coordinate the closing when the channel is registered with a Selector
.
If there is a security manager set then its checkRead
and checkWrite
methods are invoked to check that the caller has permission to both read from and write to the file descriptor.
UnsupportedOperationException
if the default SelectorProvider
is not the JDK built-in implementation.fd
- The file descriptorcloser
- The object to close the channelIllegalArgumentException
- If the file descriptor is not valid
SecurityException
- If denied by the security manager
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.net/jdk/nio/Channels.html