From: Michael Koch Date: Thu, 25 Sep 2003 21:14:43 +0000 (+0000) Subject: 2003-09-25 Michael Koch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1bfb64ff9a95faf36b928d9243a4a6c34005dd31;p=gcc.git 2003-09-25 Michael Koch * gnu/java/nio/DatagramChannelImpl.java (getNativeFD): New method. * gnu/java/nio/SelectionKeyImpl.java (SelectionKeyImpl): Class made abstract. (fd): Removed. (SelectionKeyImpl): Remove fd argument. (getNativeFD): New method. * gnu/java/nio/SocketChannelImpl.java (getNativeFD): New method. gnu/java/nio/DatagramChannelSelectionKey.java, * gnu/java/nio/SocketChannelSelectionKey.java: New files. * Makefile.am (ordinary_java_source_files): Added new files gnu/java/nio/DatagramChannelSelectionKey.java and gnu/java/nio/SocketChannelSelectionKey.java. * Makefile.in: Regenerated. From-SVN: r71797 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 151c76ff8af..70cc0c54612 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,22 @@ +2003-09-25 Michael Koch + + * gnu/java/nio/DatagramChannelImpl.java + (getNativeFD): New method. + * gnu/java/nio/SelectionKeyImpl.java + (SelectionKeyImpl): Class made abstract. + (fd): Removed. + (SelectionKeyImpl): Remove fd argument. + (getNativeFD): New method. + * gnu/java/nio/SocketChannelImpl.java + (getNativeFD): New method. + gnu/java/nio/DatagramChannelSelectionKey.java, + * gnu/java/nio/SocketChannelSelectionKey.java: + New files. + * Makefile.am (ordinary_java_source_files): + Added new files gnu/java/nio/DatagramChannelSelectionKey.java and + gnu/java/nio/SocketChannelSelectionKey.java. + * Makefile.in: Regenerated. + 2003-09-25 Michael Koch * java/lang/reflect/Proxy.java diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 889d092297c..2ba65bf3b81 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -2183,6 +2183,7 @@ gnu/java/math/MPN.java \ gnu/java/net/PlainDatagramSocketImpl.java \ gnu/java/net/PlainSocketImpl.java \ gnu/java/nio/DatagramChannelImpl.java \ +gnu/java/nio/DatagramChannelSelectionKey.java \ gnu/java/nio/FileLockImpl.java \ gnu/java/nio/NIOConstants.java \ gnu/java/nio/NIODatagramSocket.java \ @@ -2193,6 +2194,7 @@ gnu/java/nio/SelectorImpl.java \ gnu/java/nio/SelectorProviderImpl.java \ gnu/java/nio/ServerSocketChannelImpl.java \ gnu/java/nio/SocketChannelImpl.java \ +gnu/java/nio/SocketChannelSelectionKey.java \ gnu/java/nio/charset/ISO_8859_1.java \ gnu/java/nio/charset/Provider.java \ gnu/java/nio/charset/US_ASCII.java \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 87b065783e4..e744c0ddfb6 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -1901,6 +1901,7 @@ gnu/java/math/MPN.java \ gnu/java/net/PlainDatagramSocketImpl.java \ gnu/java/net/PlainSocketImpl.java \ gnu/java/nio/DatagramChannelImpl.java \ +gnu/java/nio/DatagramChannelSelectionKey.java \ gnu/java/nio/FileLockImpl.java \ gnu/java/nio/NIOConstants.java \ gnu/java/nio/NIODatagramSocket.java \ @@ -1911,6 +1912,7 @@ gnu/java/nio/SelectorImpl.java \ gnu/java/nio/SelectorProviderImpl.java \ gnu/java/nio/ServerSocketChannelImpl.java \ gnu/java/nio/SocketChannelImpl.java \ +gnu/java/nio/SocketChannelSelectionKey.java \ gnu/java/nio/charset/ISO_8859_1.java \ gnu/java/nio/charset/Provider.java \ gnu/java/nio/charset/US_ASCII.java \ @@ -3026,6 +3028,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ .deps/gnu/java/net/natPlainDatagramSocketImpl.P \ .deps/gnu/java/net/natPlainSocketImpl.P \ .deps/gnu/java/nio/DatagramChannelImpl.P \ +.deps/gnu/java/nio/DatagramChannelSelectionKey.P \ .deps/gnu/java/nio/FileLockImpl.P .deps/gnu/java/nio/NIOConstants.P \ .deps/gnu/java/nio/NIODatagramSocket.P .deps/gnu/java/nio/NIOSocket.P \ .deps/gnu/java/nio/PipeImpl.P .deps/gnu/java/nio/SelectionKeyImpl.P \ @@ -3033,6 +3036,7 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ .deps/gnu/java/nio/SelectorProviderImpl.P \ .deps/gnu/java/nio/ServerSocketChannelImpl.P \ .deps/gnu/java/nio/SocketChannelImpl.P \ +.deps/gnu/java/nio/SocketChannelSelectionKey.P \ .deps/gnu/java/nio/charset/ISO_8859_1.P \ .deps/gnu/java/nio/charset/Provider.P \ .deps/gnu/java/nio/charset/US_ASCII.P \ diff --git a/libjava/gnu/java/nio/DatagramChannelImpl.java b/libjava/gnu/java/nio/DatagramChannelImpl.java index a4f46df1861..b2dcd3242dd 100644 --- a/libjava/gnu/java/nio/DatagramChannelImpl.java +++ b/libjava/gnu/java/nio/DatagramChannelImpl.java @@ -64,6 +64,11 @@ public final class DatagramChannelImpl extends DatagramChannel super (provider); socket = new NIODatagramSocket (new PlainDatagramSocketImpl(), this); } + + public int getNativeFD() + { + return socket.getImpl().getNativeFD(); + } public DatagramSocket socket () { diff --git a/libjava/gnu/java/nio/DatagramChannelSelectionKey.java b/libjava/gnu/java/nio/DatagramChannelSelectionKey.java new file mode 100644 index 00000000000..33f8123e9e4 --- /dev/null +++ b/libjava/gnu/java/nio/DatagramChannelSelectionKey.java @@ -0,0 +1,59 @@ +/* DatagramChannelSelectionKey.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.nio; + +import java.nio.channels.spi.AbstractSelectableChannel; + +/** + * @author Michael Koch + */ +public final class DatagramChannelSelectionKey + extends SelectionKeyImpl +{ + public DatagramChannelSelectionKey (AbstractSelectableChannel channel, + SelectorImpl selector) + { + super (channel, selector); + } + + public int getNativeFD() + { + return ((DatagramChannelImpl) ch).getNativeFD(); + } +} diff --git a/libjava/gnu/java/nio/SelectionKeyImpl.java b/libjava/gnu/java/nio/SelectionKeyImpl.java index df4faa3a935..0f704c9fb91 100644 --- a/libjava/gnu/java/nio/SelectionKeyImpl.java +++ b/libjava/gnu/java/nio/SelectionKeyImpl.java @@ -43,19 +43,17 @@ import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.spi.AbstractSelectionKey; -public class SelectionKeyImpl extends AbstractSelectionKey +public abstract class SelectionKeyImpl extends AbstractSelectionKey { - int fd; private int readyOps; private int interestOps; private SelectorImpl impl; private SelectableChannel ch; - public SelectionKeyImpl (SelectableChannel ch, SelectorImpl impl, int fd) + public SelectionKeyImpl (SelectableChannel ch, SelectorImpl impl) { this.ch = ch; this.impl = impl; - this.fd = fd; } public SelectableChannel channel () @@ -101,4 +99,6 @@ public class SelectionKeyImpl extends AbstractSelectionKey { return impl; } + + public abstract int getNativeFD(); } diff --git a/libjava/gnu/java/nio/SocketChannelImpl.java b/libjava/gnu/java/nio/SocketChannelImpl.java index a114b06a5b8..589296f5166 100644 --- a/libjava/gnu/java/nio/SocketChannelImpl.java +++ b/libjava/gnu/java/nio/SocketChannelImpl.java @@ -98,6 +98,11 @@ public final class SocketChannelImpl extends SocketChannel } } + int getNativeFD() + { + return socket.getImpl().getNativeFD(); + } + protected void implCloseSelectableChannel () throws IOException { connected = false; diff --git a/libjava/gnu/java/nio/SocketChannelSelectionKey.java b/libjava/gnu/java/nio/SocketChannelSelectionKey.java new file mode 100644 index 00000000000..dcbc7bd372a --- /dev/null +++ b/libjava/gnu/java/nio/SocketChannelSelectionKey.java @@ -0,0 +1,56 @@ +/* SocketChannelSelectionKey.java -- + Copyright (C) 2003 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ + + +package gnu.java.nio; + +import java.nio.channels.spi.AbstractSelectableChannel; + +public final class SocketChannelSelectionKey + extends SelectionKeyImpl +{ + public SocketChannelSelectionKey (AbstractSelectableChannel channel, + SelectorImpl selector) + { + super (channel, selector); + } + + public int getNativeFD() + { + return ((SocketChannelImpl) ch).getNativeFD(); + } +}