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.

From-SVN: r79640
This commit is contained in:
Michael Koch 2004-03-18 21:32:22 +00:00 committed by Michael Koch
parent bdb5db66b1
commit 138f5109c1
4 changed files with 44 additions and 17 deletions

View file

@ -1,5 +1,5 @@
/* AbstractSelector.java --
Copyright (C) 2002, 2003 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -96,11 +96,17 @@ public abstract class AbstractSelector extends Selector
{
}
/**
* Returns the provider for this selector object.
*/
public final SelectorProvider provider ()
{
return provider;
}
/**
* Returns the cancelled keys set.
*/
protected final Set cancelledKeys()
{
if (!isOpen())
@ -109,11 +115,15 @@ public abstract class AbstractSelector extends Selector
return cancelledKeys;
}
/**
* Cancels a selection key.
*/
// This method is only called by AbstractSelectionKey.cancel().
final void cancelKey (AbstractSelectionKey key)
{
synchronized (cancelledKeys)
{
cancelledKeys.remove(key);
cancelledKeys.add(key);
}
}
@ -127,6 +137,6 @@ public abstract class AbstractSelector extends Selector
protected final void deregister (AbstractSelectionKey key)
{
// FIXME
((AbstractSelectableChannel) key.channel()).removeSelectionKey(key);
}
}