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:
parent
45596747ca
commit
a4536c7a94
6 changed files with 186 additions and 67 deletions
|
@ -54,14 +54,8 @@ class ServerSocketChannelImpl extends ServerSocketChannel
|
|||
boolean connected = false;
|
||||
// InetSocketAddress sa;
|
||||
|
||||
// private static native int NioSocketAccept (ServerSocketChannelImpl server,
|
||||
// SocketChannelImpl s);
|
||||
|
||||
private static int NioSocketAccept (ServerSocketChannelImpl server,
|
||||
SocketChannelImpl s)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
private static native int SocketAccept (ServerSocketChannelImpl server,
|
||||
SocketChannelImpl s);
|
||||
|
||||
protected ServerSocketChannelImpl (SelectorProvider provider)
|
||||
{
|
||||
|
@ -101,13 +95,14 @@ class ServerSocketChannelImpl extends ServerSocketChannel
|
|||
|
||||
protected void implConfigureBlocking (boolean block)
|
||||
{
|
||||
blocking = block;
|
||||
}
|
||||
|
||||
public SocketChannel accept ()
|
||||
{
|
||||
SocketChannelImpl result = new SocketChannelImpl (provider ());
|
||||
result.sa = new InetSocketAddress (0);
|
||||
int res = NioSocketAccept (this, result);
|
||||
int res = SocketAccept (this,result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue