From: Michael Koch Date: Wed, 18 Jun 2003 08:56:55 +0000 (+0000) Subject: 2003-06-18 Michael Koch X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=299f5809e2d4bafeacb8d05d89da423f0e179a28;p=gcc.git 2003-06-18 Michael Koch * gnu/java/nio/SelectorImpl.java (register): Use fd with value 0 for now, will be fixed later. * gnu/java/nio/ServerSocketChannelImpl.java (fd): Removed. (local_port): Removed. (InetSocketAddress): Removed. (ServerSocketChannelImpl): Just initialize internal socket object. (implCloseSelectableChannel): Close internal socket object. (implConfigureBlocking): Added comment. (accept): Use jaba.net stuff to accept socket. * gnu/java/nio/SocketChannelImpl.java (fd): Removed. (local_port): Removed. (InetSocketAddress): Removed. (SocketCreate): Removed. (SocketConnect): Removed. (SocketBind): Removed. (SocketListen): Removed. (SocketAvailable): Removed. (SocketClose): Removed. (SocketRead): Removed. (SocketWrite): Removed. (SocketChannelImpl): Just initialize internal socket object. (implCloseSelectableChannel): Close internal socket object. (implConfigureBlocking): Fixed implementation, added comment. (connect): Use internal socket object to connect. (socket): No need for sanity checks. (read): Comment out some stuff, this will be reimplemented in the next commit. (write): Likewise. * gnu/java/nio/natFileChannelImpl.cc (nio_mmap_file): Line wrapped. * gnu/java/nio/natSocketChannelImpl.cc: Removed. * Makefile.am (nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc. * Makefile.in: Regenerated. From-SVN: r68145 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 67fb114328d..1d6d8a16fc0 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,42 @@ +2003-06-18 Michael Koch + + * gnu/java/nio/SelectorImpl.java + (register): Use fd with value 0 for now, will be fixed later. + * gnu/java/nio/ServerSocketChannelImpl.java + (fd): Removed. + (local_port): Removed. + (InetSocketAddress): Removed. + (ServerSocketChannelImpl): Just initialize internal socket object. + (implCloseSelectableChannel): Close internal socket object. + (implConfigureBlocking): Added comment. + (accept): Use jaba.net stuff to accept socket. + * gnu/java/nio/SocketChannelImpl.java + (fd): Removed. + (local_port): Removed. + (InetSocketAddress): Removed. + (SocketCreate): Removed. + (SocketConnect): Removed. + (SocketBind): Removed. + (SocketListen): Removed. + (SocketAvailable): Removed. + (SocketClose): Removed. + (SocketRead): Removed. + (SocketWrite): Removed. + (SocketChannelImpl): Just initialize internal socket object. + (implCloseSelectableChannel): Close internal socket object. + (implConfigureBlocking): Fixed implementation, added comment. + (connect): Use internal socket object to connect. + (socket): No need for sanity checks. + (read): Comment out some stuff, this will be reimplemented in the next + commit. + (write): Likewise. + * gnu/java/nio/natFileChannelImpl.cc + (nio_mmap_file): Line wrapped. + * gnu/java/nio/natSocketChannelImpl.cc: Removed. + * Makefile.am + (nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc. + * Makefile.in: Regenerated. + 2003-06-18 Michael Koch * java/util/Locale.java diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 010bfe6823f..ea2621740a9 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -2568,7 +2568,6 @@ gnu/java/nio/natFileChannelImpl.cc \ gnu/java/nio/natFileLockImpl.cc \ gnu/java/nio/natMappedByteFileBuffer.cc \ gnu/java/nio/natSelectorImpl.cc \ -gnu/java/nio/natSocketChannelImpl.cc \ java/io/natFile.cc \ java/io/natFileDescriptor.cc \ java/io/natObjectInputStream.cc \ diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 93b93afbadd..c8ee5b690d3 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -2329,7 +2329,6 @@ gnu/java/nio/natFileChannelImpl.cc \ gnu/java/nio/natFileLockImpl.cc \ gnu/java/nio/natMappedByteFileBuffer.cc \ gnu/java/nio/natSelectorImpl.cc \ -gnu/java/nio/natSocketChannelImpl.cc \ java/io/natFile.cc \ java/io/natFileDescriptor.cc \ java/io/natObjectInputStream.cc \ @@ -2503,13 +2502,13 @@ gnu/gcj/runtime/natNameFinder.lo gnu/gcj/runtime/natSharedLibLoader.lo \ gnu/gcj/runtime/natStackTrace.lo gnu/gcj/runtime/natStringBuffer.lo \ gnu/gcj/runtime/natVMClassLoader.lo gnu/java/nio/natFileChannelImpl.lo \ gnu/java/nio/natFileLockImpl.lo gnu/java/nio/natMappedByteFileBuffer.lo \ -gnu/java/nio/natSelectorImpl.lo gnu/java/nio/natSocketChannelImpl.lo \ -java/io/natFile.lo java/io/natFileDescriptor.lo \ -java/io/natObjectInputStream.lo java/io/natVMObjectStreamClass.lo \ -java/lang/natCharacter.lo java/lang/natClass.lo \ -java/lang/natClassLoader.lo java/lang/natConcreteProcess.lo \ -java/lang/natDouble.lo java/lang/natFloat.lo java/lang/natMath.lo \ -java/lang/natObject.lo java/lang/natRuntime.lo java/lang/natString.lo \ +gnu/java/nio/natSelectorImpl.lo java/io/natFile.lo \ +java/io/natFileDescriptor.lo java/io/natObjectInputStream.lo \ +java/io/natVMObjectStreamClass.lo java/lang/natCharacter.lo \ +java/lang/natClass.lo java/lang/natClassLoader.lo \ +java/lang/natConcreteProcess.lo java/lang/natDouble.lo \ +java/lang/natFloat.lo java/lang/natMath.lo java/lang/natObject.lo \ +java/lang/natRuntime.lo java/lang/natString.lo \ java/lang/natStringBuffer.lo java/lang/natSystem.lo \ java/lang/natThread.lo java/lang/natVMSecurityManager.lo \ java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \ @@ -2984,7 +2983,6 @@ DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \ .deps/gnu/java/nio/natFileLockImpl.P \ .deps/gnu/java/nio/natMappedByteFileBuffer.P \ .deps/gnu/java/nio/natSelectorImpl.P \ -.deps/gnu/java/nio/natSocketChannelImpl.P \ .deps/gnu/java/rmi/RMIMarshalledObjectInputStream.P \ .deps/gnu/java/rmi/RMIMarshalledObjectOutputStream.P \ .deps/gnu/java/rmi/dgc/DGCImpl.P .deps/gnu/java/rmi/dgc/DGCImpl_Skel.P \ diff --git a/libjava/gnu/java/nio/SelectorImpl.java b/libjava/gnu/java/nio/SelectorImpl.java index f2281a68d5a..9f714cc70c5 100644 --- a/libjava/gnu/java/nio/SelectorImpl.java +++ b/libjava/gnu/java/nio/SelectorImpl.java @@ -255,17 +255,17 @@ public class SelectorImpl extends AbstractSelector if (ch instanceof SocketChannelImpl) { SocketChannelImpl sc = (SocketChannelImpl) ch; - result = new SelectionKeyImpl (ch, this, sc.fd); + result = new SelectionKeyImpl (ch, this, 0); // FIXME: last argument } else if (ch instanceof DatagramChannelImpl) { DatagramChannelImpl dc = (DatagramChannelImpl) ch; - result = new SelectionKeyImpl (ch, this, dc.fd); + result = new SelectionKeyImpl (ch, this, 0); // FIXME: last argument } else if (ch instanceof ServerSocketChannelImpl) { ServerSocketChannelImpl ssc = (ServerSocketChannelImpl) ch; - result = new SelectionKeyImpl (ch, this, ssc.fd); + result = new SelectionKeyImpl (ch, this, 0); // FIXME: last argument } else { diff --git a/libjava/gnu/java/nio/ServerSocketChannelImpl.java b/libjava/gnu/java/nio/ServerSocketChannelImpl.java index aded2207880..05ad0aefc30 100644 --- a/libjava/gnu/java/nio/ServerSocketChannelImpl.java +++ b/libjava/gnu/java/nio/ServerSocketChannelImpl.java @@ -35,11 +35,13 @@ 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.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; +import java.net.Socket; import java.net.SocketAddress; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; @@ -48,26 +50,14 @@ import java.nio.channels.spi.SelectorProvider; class ServerSocketChannelImpl extends ServerSocketChannel { ServerSocket serverSocket; - int fd; -// int local_port; boolean blocking = true; boolean connected = false; -// InetSocketAddress sa; protected ServerSocketChannelImpl (SelectorProvider provider) throws IOException { super (provider); - fd = SocketChannelImpl.SocketCreate (); - - try - { - serverSocket = new ServerSocket (); - } - catch (IOException e) - { - System.err.println ("ServerSocket could not be created."); - } + serverSocket = new ServerSocket (); } public void finalizer() @@ -87,20 +77,19 @@ class ServerSocketChannelImpl extends ServerSocketChannel protected void implCloseSelectableChannel () throws IOException { connected = false; - SocketChannelImpl.SocketClose (fd); - fd = SocketChannelImpl.SocketCreate (); + serverSocket.close(); } protected void implConfigureBlocking (boolean blocking) throws IOException { - this.blocking = blocking; + this.blocking = blocking; // FIXME } public SocketChannel accept () throws IOException { SocketChannelImpl result = new SocketChannelImpl (provider ()); - result.sa = new InetSocketAddress (0); - //int res = SocketAccept (this,result); + Socket socket = serverSocket.accept(); + //socket.setChannel (result); // FIXME return result; } diff --git a/libjava/gnu/java/nio/SocketChannelImpl.java b/libjava/gnu/java/nio/SocketChannelImpl.java index 820d62f3b6c..94913fb8ac7 100644 --- a/libjava/gnu/java/nio/SocketChannelImpl.java +++ b/libjava/gnu/java/nio/SocketChannelImpl.java @@ -52,30 +52,13 @@ import gnu.classpath.Configuration; public class SocketChannelImpl extends SocketChannel { Socket socket; - int fd; - int local_port; boolean blocking = true; boolean connected = false; - InetSocketAddress sa; - - static native int SocketCreate(); - static native int SocketConnect(int fd, InetAddress addr, int port); - static native int SocketBind(int fd, InetAddress addr, int port); - static native int SocketListen(int fd, int backlog); - static native int SocketAvailable(int fd); - static native int SocketClose(int fd); - static native int SocketRead(int fd, byte b[], int off, int len); - static native int SocketWrite(int fd, byte b[], int off, int len); - - public SocketChannelImpl(SelectorProvider provider) + + public SocketChannelImpl (SelectorProvider provider) { - super(provider); - fd = SocketCreate(); - - if (fd == -1) - { - System.err.println("failed to create socket:"+fd); - } + super (provider); + socket = new Socket (); } public void finalizer() @@ -95,39 +78,22 @@ public class SocketChannelImpl extends SocketChannel protected void implCloseSelectableChannel () throws IOException { connected = false; - SocketClose(fd); - fd = SocketCreate(); + socket.close(); } protected void implConfigureBlocking (boolean blocking) throws IOException { - if (this.blocking == blocking) - return; + this.blocking = blocking; // FIXME } public boolean connect (SocketAddress remote) throws IOException { if (connected) - { - throw new AlreadyConnectedException (); - } - - // ok, lets connect ! + throw new AlreadyConnectedException(); - sa = (InetSocketAddress) remote; - - InetAddress addr = sa.getAddress(); - int port = sa.getPort(); - int err = SocketConnect(fd, addr, port); - - if (err < 0) - { - throw new IOException("Connection refused:"+err + ", connect="+err); - } - - local_port = err; + socket.connect (remote, 50); connected = true; - return blocking; + return blocking; // FIXME } public boolean finishConnect () @@ -147,11 +113,6 @@ public class SocketChannelImpl extends SocketChannel public Socket socket () { - if (socket != null) - { - //socket.ch = this; - } - return socket; } @@ -161,6 +122,7 @@ public class SocketChannelImpl extends SocketChannel int len = 1024; byte[]b = new byte[len]; + /* bytes = SocketRead(fd, b, 0, len); dst.put(b, 0, bytes); @@ -169,6 +131,7 @@ public class SocketChannelImpl extends SocketChannel // we've hit eof ? return -1; } + */ return bytes; } @@ -192,6 +155,7 @@ public class SocketChannelImpl extends SocketChannel int bytes = 0; int len = src.position(); + /* if (src.hasArray ()) { byte[] b = src.array (); @@ -203,6 +167,7 @@ public class SocketChannelImpl extends SocketChannel src.get (b, 0, len); bytes = SocketWrite (fd, b, 0, len); } + */ return bytes; } diff --git a/libjava/gnu/java/nio/natFileChannelImpl.cc b/libjava/gnu/java/nio/natFileChannelImpl.cc index 6275b6994d9..0bc09196723 100644 --- a/libjava/gnu/java/nio/natFileChannelImpl.cc +++ b/libjava/gnu/java/nio/natFileChannelImpl.cc @@ -73,7 +73,8 @@ gnu::java::nio::FileChannelImpl::implTruncate (jlong size) } gnu::gcj::RawData* -gnu::java::nio::FileChannelImpl::nio_mmap_file (jlong pos, jlong size, jint /*mode*/) +gnu::java::nio::FileChannelImpl::nio_mmap_file (jlong pos, jlong size, + jint /*mode*/) { throw new ::java::io::IOException (JvNewStringUTF ("mmap not implemented")); } diff --git a/libjava/gnu/java/nio/natSocketChannelImpl.cc b/libjava/gnu/java/nio/natSocketChannelImpl.cc deleted file mode 100644 index 480cc94e35a..00000000000 --- a/libjava/gnu/java/nio/natSocketChannelImpl.cc +++ /dev/null @@ -1,172 +0,0 @@ -// natSocketChannelImpl.cc - -/* Copyright (C) 2002, 2003 Free Software Foundation - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include -#include - -#include - -#include -#include -#include -#include -#include - - -#ifdef DISABLE_JAVA_NET - -jint -gnu::java::nio::SocketChannelImpl::SocketCreate () -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketCreate not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketConnect (jint, - ::java::net::InetAddress *, - jint) -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketConnect not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketBind (jint, ::java::net::InetAddress *, - jint) -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketBind not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketListen (jint, jint) -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketList not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketAvailable (jint) -{ - throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketAvailable: not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketClose (jint) -{ - throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketClose: not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketRead (jint, jbyteArray, jint, jint) -{ - throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketRead: not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketWrite (jint, jbyteArray, jint, jint) -{ - throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketWrite: not implemented")); -} - -#else // DISABLE_JAVA_NET - -jint -gnu::java::nio::SocketChannelImpl::SocketCreate () -{ - int sock = _Jv_socket (AF_INET, SOCK_STREAM, 0); - - if (sock < 0) - { - char* strerr = strerror (errno); - throw new ::java::io::IOException (JvNewStringUTF (strerr)); - } - - return sock; -} - -jint -gnu::java::nio::SocketChannelImpl::SocketConnect (jint fd, - ::java::net::InetAddress *addr, - jint port) -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketConnect not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketBind (jint fd, - ::java::net::InetAddress *addr, - jint port) -{ - throw new ::java::io::IOException (JvNewStringUTF ("SocketBind not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketListen (jint fd, jint backlog) -{ - int result = _Jv_listen (fd, backlog); - - if (result < 0) - { - char* strerr = strerror (errno); - throw new ::java::io::IOException (JvNewStringUTF (strerr)); - } - - return result; -} - -jint -gnu::java::nio::SocketChannelImpl::SocketAvailable (jint /*fd*/) -{ - throw new ::java::net::SocketException (JvNewStringLatin1 ("SocketAvailable: not implemented")); -} - -jint -gnu::java::nio::SocketChannelImpl::SocketClose (jint fd) -{ - int result = _Jv_close (fd); - - if (result < 0) - { - char* strerr = strerror (errno); - throw new ::java::io::IOException (JvNewStringUTF (strerr)); - } - - return result; -} - -jint -gnu::java::nio::SocketChannelImpl::SocketRead (jint fd, jbyteArray data, - jint offset, jint length) -{ - int result = ::recv (fd, data, offset, length); - - if (result < 0) - { - char* strerr = strerror (errno); - throw new ::java::io::IOException (JvNewStringUTF (strerr)); - } - - return result; -} - -jint -gnu::java::nio::SocketChannelImpl::SocketWrite (jint fd, jbyteArray data, - jint offset, jint length) -{ - int result = ::send (fd, data, offset, length); - - if (result < 0) - { - char* strerr = strerror (errno); - throw new ::java::io::IOException (JvNewStringUTF (strerr)); - } - - return result; -} - -#endif // DISABLE_JAVA_NET