java.lang.Object | |||
↳ | java.nio.channels.spi.AbstractInterruptibleChannel | ||
↳ | java.nio.channels.SelectableChannel | ||
↳ | java.nio.channels.spi.AbstractSelectableChannel |
Known Direct Subclasses |
AbstractSelectableChannel
is the base implementation class for
selectable channels. It declares methods for registering, unregistering and
closing selectable channels. It is thread-safe.
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new
AbstractSelectableChannel . |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets the object used for the synchronization of
register and
configureBlocking . | |||||||||||
Sets the blocking mode of this channel.
| |||||||||||
Indicates whether this channel is in blocking mode.
| |||||||||||
Indicates whether this channel is registered with one or more selectors.
| |||||||||||
Gets this channel's selection key for the specified selector.
| |||||||||||
Returns the selector provider that has created this channel.
| |||||||||||
Registers this channel with the specified selector for the specified
interest set.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Implements the channel closing behavior.
| |||||||||||
Implements the closing function of the SelectableChannel.
| |||||||||||
Implements the configuration of blocking/non-blocking mode.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.nio.channels.SelectableChannel
| |||||||||||
From class
java.nio.channels.spi.AbstractInterruptibleChannel
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
java.io.Closeable
| |||||||||||
From interface
java.nio.channels.Channel
| |||||||||||
From interface
java.nio.channels.InterruptibleChannel
|
Constructs a new AbstractSelectableChannel
.
selectorProvider | the selector provider that creates this channel. |
---|
Gets the object used for the synchronization of register
and
configureBlocking
.
Sets the blocking mode of this channel. A call to this method blocks if
other calls to this method or to register
are executing. The
actual setting of the mode is done by calling
implConfigureBlocking(boolean)
.
blockingMode | true for setting this channel's mode to blocking,
false to set it to non-blocking. |
---|
ClosedChannelException | if this channel is closed. |
---|---|
IllegalBlockingModeException | if block is true and this channel has been
registered with at least one selector. |
IOException | if an I/O error occurs. |
Indicates whether this channel is in blocking mode.
true
if this channel is blocking, false
otherwise.
Indicates whether this channel is registered with one or more selectors.
true
if this channel is registered with a selector,
false
otherwise.
Gets this channel's selection key for the specified selector.
selector | the selector with which this channel has been registered. |
---|
null
if this channel
has not been registered with selector
.
Returns the selector provider that has created this channel.
Registers this channel with the specified selector for the specified
interest set. If the channel is already registered with the selector, the
interest set
is updated to interestSet
and
the corresponding selection key is returned. If the channel is not yet
registered, this method calls the register
method of
selector
and adds the selection key to this channel's key set.
selector | the selector with which to register this channel. |
---|---|
interestSet | this channel's interest set . |
attachment | the object to attach, can be null . |
CancelledKeyException | if this channel is registered but its key has been canceled. |
---|---|
ClosedChannelException | if this channel is closed. |
IllegalArgumentException | if interestSet is not supported by this channel. |
IllegalBlockingModeException | if this channel is in blocking mode. |
IllegalSelectorException | if this channel does not have the same provider as the given selector. |
Implements the channel closing behavior. Calls
implCloseSelectableChannel()
first, then loops through the list
of selection keys and cancels them, which unregisters this channel from
all selectors it is registered with.
IOException | if a problem occurs while closing the channel. |
---|
Implements the closing function of the SelectableChannel. This method is
called from implCloseChannel()
.
IOException | if an I/O exception occurs. |
---|
Implements the configuration of blocking/non-blocking mode.
blocking | true for blocking, false for non-blocking. |
---|
IOException | if an I/O error occurs. |
---|