summaryrefslogtreecommitdiffstats
path: root/libjava/java/nio/channels/spi/AbstractSelectableChannel.java
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-09 17:34:10 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-09 17:34:10 +0000
commit0265b721e9468ea54315b4c759ed894057d6c6d4 (patch)
tree3d255b674b1d9f300d842c3696c2bef6cd9f7869 /libjava/java/nio/channels/spi/AbstractSelectableChannel.java
parent6e82c5c2ec51f97ebf3f43529499a0c312b23f6f (diff)
downloadppe42-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.java48
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;
}
}
OpenPOWER on IntegriCloud