summaryrefslogtreecommitdiffstats
path: root/libjava/java/nio/channels/spi/AbstractSelector.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/nio/channels/spi/AbstractSelector.java')
-rw-r--r--libjava/java/nio/channels/spi/AbstractSelector.java50
1 files changed, 32 insertions, 18 deletions
diff --git a/libjava/java/nio/channels/spi/AbstractSelector.java b/libjava/java/nio/channels/spi/AbstractSelector.java
index 033a8d7f98b..fc0aeca32d9 100644
--- a/libjava/java/nio/channels/spi/AbstractSelector.java
+++ b/libjava/java/nio/channels/spi/AbstractSelector.java
@@ -37,6 +37,7 @@ exception statement from your version. */
package java.nio.channels.spi;
+import java.io.IOException;
import java.nio.channels.SelectionKey;
import java.nio.channels.Selector;
import java.util.List;
@@ -44,57 +45,70 @@ import java.util.Set;
public abstract class AbstractSelector extends Selector
{
- boolean closed = true;
+ boolean closed = false;
SelectorProvider provider;
- protected AbstractSelector(SelectorProvider provider)
+ /**
+ * Initializes the slector.
+ */
+ protected AbstractSelector (SelectorProvider provider)
{
this.provider = provider;
}
- protected final void begin()
+ /**
+ * Marks the beginning of an I/O operation that might block indefinitely.
+ */
+ protected final void begin ()
{
}
/**
+ * Closes the channel.
+ *
* @exception IOException If an error occurs
*/
- public final void close()
+ public final void close () throws IOException
{
if (closed)
return;
+
closed = true;
- implCloseSelector();
+ implCloseSelector ();
}
- protected final void deregister(AbstractSelectionKey key)
+ /**
+ * Tells whether this channel is open or not.
+ */
+ public final boolean isOpen ()
{
- cancelledKeys().remove(key);
+ return ! closed;
}
-
- protected final void end()
+
+ protected final void deregister (AbstractSelectionKey key)
{
+ cancelledKeys ().remove (key);
}
- public final boolean isOpen()
+ protected final void end()
{
- return ! closed;
}
- public final SelectorProvider provider()
+ public final SelectorProvider provider ()
{
return provider;
}
-
+
protected final Set cancelledKeys()
{
return null;
}
-
+
/**
- * @exception IOException If an error occurs
+ * Closes the channel.
*/
- protected abstract void implCloseSelector();
-
- protected abstract SelectionKey register(AbstractSelectableChannel ch, int ops, Object att);
+ protected abstract void implCloseSelector () throws IOException;
+
+ protected abstract SelectionKey register (AbstractSelectableChannel ch,
+ int ops, Object att);
}
OpenPOWER on IntegriCloud