diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-09 17:34:10 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-10-09 17:34:10 +0000 |
commit | 0265b721e9468ea54315b4c759ed894057d6c6d4 (patch) | |
tree | 3d255b674b1d9f300d842c3696c2bef6cd9f7869 /libjava/java/nio/channels/spi/AbstractSelectableChannel.java | |
parent | 6e82c5c2ec51f97ebf3f43529499a0c312b23f6f (diff) | |
download | ppe42-gcc-0265b721e9468ea54315b4c759ed894057d6c6d4.tar.gz ppe42-gcc-0265b721e9468ea54315b4c759ed894057d6c6d4.zip |
2003-10-09 Michael Koch <konqueror@gmx.de>
* java/nio/channels/spi/AbstractSelectableChannel.java
(registered): Made private.
(blocking): Likewise.
(LOCK): Likewise.
(provider): Likewise.
(keys): Made it a private LinkedList.
(AbstractSelectableChannel): Initialize keys.
(isRegistered): New implementation.
(locate): Rewritten.
(register): Rewritten.
* java/nio/channels/spi/AbstractSelectionKey.java
(ok): Removed.
(cancelled): New member variable.
(cancel): Rewritten.
(isValid): Rewritten.
* java/nio/channels/spi/AbstractSelector.java:
Some methods moved.
(closed): Make private.
(provider): Likewise.
(cancelledKeys): New member variable.
(AbstractSelector): Initialize cancelledKeys.
(cancelKey): New method.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72275 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 | 48 |
1 files changed, 21 insertions, 27 deletions
diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java index b13bb4af24f..b027b034ede 100644 --- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java @@ -1,5 +1,5 @@ /* AbstractSelectableChannel.java - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -48,11 +48,11 @@ import java.util.ListIterator; public abstract class AbstractSelectableChannel extends SelectableChannel { - int registered; - boolean blocking = true; - Object LOCK = new Object (); - SelectorProvider provider; - List keys; + private int registered; + private boolean blocking = true; + private Object LOCK = new Object(); + private SelectorProvider provider; + private LinkedList keys; /** * Initializes the channel @@ -60,6 +60,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel protected AbstractSelectableChannel (SelectorProvider provider) { this.provider = provider; + this.keys = new LinkedList(); } /** @@ -122,7 +123,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel */ public final boolean isRegistered() { - return registered > 0; + return !keys.isEmpty(); } /** @@ -154,28 +155,21 @@ public abstract class AbstractSelectableChannel extends SelectableChannel if (keys == null) return null; - SelectionKey k = null; ListIterator it = keys.listIterator (); while (it.hasNext ()) { - k = (SelectionKey) it.next (); - if (k.selector () == selector) - { - return k; - } + SelectionKey key = (SelectionKey) it.next(); + + if (key.selector() == selector) + return key; } - return k; + return null; } private void add (SelectionKey key) { - if (keys == null) - { - keys = new LinkedList (); - } - keys.add (key); } @@ -190,26 +184,26 @@ public abstract class AbstractSelectableChannel extends SelectableChannel if (!isOpen ()) throw new ClosedChannelException(); - SelectionKey k = null; + SelectionKey key = null; AbstractSelector selector = (AbstractSelector) selin; synchronized (LOCK) { - k = locate (selector); + key = locate (selector); - if (k != null) + if (key != null) { - k.attach (att); + key.attach (att); } else { - k = selector.register (this, ops, att); + key = selector.register (this, ops, att); - if (k != null) - add (k); + if (key != null) + add (key); } } - return k; + return key; } } |