2002-11-29 Michael Koch <konqueror@gmx.de>

* gnu/java/nio/DatagramChannelImpl:
	(fd): New member variable to store file descriptor of socket.
	* gnu/java/nio/SelectionKeyImpl.java:
	(ops): Removed.
	(readyOps): New member variable.
	(interestOps): New member variable.
	(readyOps): Implemented.
	(readyOps): New method to set member variable readyOps.
	(interestOps): Replaced ops by interestOps.
	* gnu/java/nio/SelectorImpl.java:
	(SelectorImpl): Initialize key sets.
	(select): Call select with -1 instead of Long.MAX_VALUE).
	(java_do_select): Make it a native method.
	(getFDsAsArray): New helper method.
	(select): Remove canceled keys, give only interested file discriptors
	to java_do_select, set ready ops.
	(add): No need to initialize keys set here.
	(add_selected): No need to initialize selected set here.
	(deregisterCanceledKeys): New helper method.
	(register): Set interest ops, set attachments, added handling of datagram
	channels.
	* gnu/java/nio/ServerSocketChannelImpl:
	(SocketAccept): Renamed from NioSocketAccept.
	(implConfigureBlocking): Implemented.
	(accept): Use SocketAccept instead of NioSocketAccept.
	* gnu/java/nio/SocketChannelImpl:
	Reactivate native methods.

From-SVN: r59632
This commit is contained in:
Michael Koch 2002-11-29 09:57:05 +00:00 committed by Michael Koch
parent 45596747ca
commit a4536c7a94
6 changed files with 186 additions and 67 deletions

View file

@ -44,7 +44,9 @@ import java.nio.channels.spi.AbstractSelectionKey;
public class SelectionKeyImpl extends AbstractSelectionKey
{
int fd, ops;
int fd;
int readyOps;
int interestOps;
SelectorImpl impl;
SelectableChannel ch;
@ -62,17 +64,23 @@ public class SelectionKeyImpl extends AbstractSelectionKey
public int readyOps ()
{
return 0;
return readyOps;
}
public SelectionKey readyOps (int ops)
{
readyOps = ops;
return this;
}
public int interestOps ()
{
return ops;
return interestOps;
}
public SelectionKey interestOps (int ops)
{
this.ops = ops;
interestOps = ops;
return this;
}