diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-18 21:32:22 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-18 21:32:22 +0000 |
commit | 8864445c659aee2b95b55fc75419cd40a44883cd (patch) | |
tree | b9305fc80248356b39b5865cf00472171b9932ff /libjava/java/nio/channels/spi/AbstractSelectableChannel.java | |
parent | 2cf6b98d9100a23f6ccd7c8d40cc143e20db9bc6 (diff) | |
download | ppe42-gcc-8864445c659aee2b95b55fc75419cd40a44883cd.tar.gz ppe42-gcc-8864445c659aee2b95b55fc75419cd40a44883cd.zip |
2004-03-18 Michael Koch <konqueror@gmx.de>
* java/nio/channels/spi/AbstractSelectableChannel.java
(keys): Initialize at declaration.
(locate): keys cant be null.
(add): Removed.
(addSelectionKey): New method.
(removeSelectionKey): New method.
* java/nio/channels/spi/AbstractSelectionKey.java
(cancel): Call AbstractSelector.cancelKey(SelectionKey key).
* java/nio/channels/spi/AbstractSelector.java
(provider): Javadoc added.
(cancelledKeys): Javadoc added.
(cancelKey): Javadoc added, add key to cancelledKeys.
(deregister): Implemented.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79640 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/nio/channels/spi/AbstractSelectableChannel.java')
-rw-r--r-- | libjava/java/nio/channels/spi/AbstractSelectableChannel.java | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java index 0a872bc7bc8..a07485df85f 100644 --- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java @@ -51,7 +51,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel private boolean blocking = true; private Object LOCK = new Object(); private SelectorProvider provider; - private LinkedList keys; + private LinkedList keys = new LinkedList(); /** * Initializes the channel @@ -59,7 +59,6 @@ public abstract class AbstractSelectableChannel extends SelectableChannel protected AbstractSelectableChannel (SelectorProvider provider) { this.provider = provider; - this.keys = new LinkedList(); } /** @@ -160,9 +159,6 @@ public abstract class AbstractSelectableChannel extends SelectableChannel private SelectionKey locate (Selector selector) { - if (keys == null) - return null; - ListIterator it = keys.listIterator (); while (it.hasNext ()) @@ -176,11 +172,6 @@ public abstract class AbstractSelectableChannel extends SelectableChannel return null; } - private void add (SelectionKey key) - { - keys.add (key); - } - /** * Registers this channel with the given selector, returning a selection key. * @@ -209,10 +200,21 @@ public abstract class AbstractSelectableChannel extends SelectableChannel key = selector.register (this, ops, att); if (key != null) - add (key); + addSelectionKey (key); } } return key; } + + void addSelectionKey(SelectionKey key) + { + keys.add(key); + } + + // This method gets called by AbstractSelector.deregister(). + void removeSelectionKey(SelectionKey key) + { + keys.remove(key); + } } |