aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-06-18 08:56:55 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-06-18 08:56:55 +0000
commit299f5809e2d4bafeacb8d05d89da423f0e179a28 (patch)
treec6a667deaaa6cb0a24b5ccb00dcb11b2cccab60e /libjava
parent20d513ff665af54cc8fb5cac4d2f4fe86ea94259 (diff)
downloadgcc-299f5809e2d4bafeacb8d05d89da423f0e179a28.zip
gcc-299f5809e2d4bafeacb8d05d89da423f0e179a28.tar.gz
gcc-299f5809e2d4bafeacb8d05d89da423f0e179a28.tar.bz2
2003-06-18 Michael Koch <konqueror@gmx.de>
* 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
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog39
-rw-r--r--libjava/Makefile.am1
-rw-r--r--libjava/Makefile.in16
-rw-r--r--libjava/gnu/java/nio/SelectorImpl.java6
-rw-r--r--libjava/gnu/java/nio/ServerSocketChannelImpl.java25
-rw-r--r--libjava/gnu/java/nio/SocketChannelImpl.java61
-rw-r--r--libjava/gnu/java/nio/natFileChannelImpl.cc3
-rw-r--r--libjava/gnu/java/nio/natSocketChannelImpl.cc172
8 files changed, 71 insertions, 252 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 67fb114..1d6d8a1 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,5 +1,44 @@
2003-06-18 Michael Koch <konqueror@gmx.de>
+ * 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 <konqueror@gmx.de>
+
* java/util/Locale.java
(equals): Merged from classpath.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 010bfe6..ea26217 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 93b93af..c8ee5b6 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 f2281a6..9f714cc 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 aded220..05ad0ae 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 820d62f..94913fb 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 6275b69..0bc0919 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 480cc94..0000000
--- 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 <config.h>
-#include <platform.h>
-
-#include <errno.h>
-
-#include <gcj/cni.h>
-#include <gnu/java/nio/SocketChannelImpl.h>
-#include <java/io/IOException.h>
-#include <java/net/InetAddress.h>
-#include <java/net/SocketException.h>
-
-
-#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