Commit 3ebb998e by Michael Koch Committed by Michael Koch

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

	* java/io/FileInputStream.java
	(getChannel): New method.
	* java/io/FileOutputStream.java
	(getChannel): New method.
	* java/net/ServerSocket.java
	(bind): Removed duplicate code and called another bind method instead.
	* java/nio/channels/SelectionKey.java
	(isValid): Removed wrong exception documentation.
	* java/nio/channels/ServerSocketChannel.java
	(accept): Added exception documentation.
	(open): Fixed typo, added exception documentation.
	* java/nio/channels/spi/AbstractSelectableChannel.java
	(implCloseChannel): Added exception documentation.
	(add): Reformated.
	(register): Added exception documentation.

From-SVN: r59307
parent e6226a2f
2002-11-20 Michael Koch <konqueror@gmx.de>
* java/io/FileInputStream.java
(getChannel): New method.
* java/io/FileOutputStream.java
(getChannel): New method.
* java/net/ServerSocket.java
(bind): Removed duplicate code and called another bind method instead.
* java/nio/channels/SelectionKey.java
(isValid): Removed wrong exception documentation.
* java/nio/channels/ServerSocketChannel.java
(accept): Added exception documentation.
(open): Fixed typo, added exception documentation.
* java/nio/channels/spi/AbstractSelectableChannel.java
(implCloseChannel): Added exception documentation.
(add): Reformated.
(register): Added exception documentation.
2002-11-20 Andreas Jaeger <aj@suse.de> 2002-11-20 Andreas Jaeger <aj@suse.de>
* configure: Regenerated with new libtool.m4. * configure: Regenerated with new libtool.m4.
......
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation /* Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation
This file is part of libgcj. This file is part of libgcj.
...@@ -8,6 +8,8 @@ details. */ ...@@ -8,6 +8,8 @@ details. */
package java.io; package java.io;
import java.nio.channels.FileChannel;
/** /**
* @author Warren Levy <warrenl@cygnus.com> * @author Warren Levy <warrenl@cygnus.com>
* @date October 28, 1998. * @date October 28, 1998.
...@@ -23,6 +25,8 @@ public class FileInputStream extends InputStream ...@@ -23,6 +25,8 @@ public class FileInputStream extends InputStream
/* Contains the file descriptor for referencing the actual file. */ /* Contains the file descriptor for referencing the actual file. */
private FileDescriptor fd; private FileDescriptor fd;
private FileChannel ch;
public FileInputStream(String name) throws FileNotFoundException public FileInputStream(String name) throws FileNotFoundException
{ {
SecurityManager s = System.getSecurityManager(); SecurityManager s = System.getSecurityManager();
...@@ -92,4 +96,9 @@ public class FileInputStream extends InputStream ...@@ -92,4 +96,9 @@ public class FileInputStream extends InputStream
long endPos = fd.seek(n, FileDescriptor.CUR, true); long endPos = fd.seek(n, FileDescriptor.CUR, true);
return endPos - startPos; return endPos - startPos;
} }
public FileChannel getChannel ()
{
return ch;
}
} }
...@@ -10,6 +10,8 @@ details. */ ...@@ -10,6 +10,8 @@ details. */
package java.io; package java.io;
import java.nio.channels.FileChannel;
/** /**
* @author Tom Tromey <tromey@cygnus.com> * @author Tom Tromey <tromey@cygnus.com>
* @date September 24, 1998 * @date September 24, 1998
...@@ -93,4 +95,9 @@ public class FileOutputStream extends OutputStream ...@@ -93,4 +95,9 @@ public class FileOutputStream extends OutputStream
// Instance variables. // Instance variables.
private FileDescriptor fd; private FileDescriptor fd;
public FileChannel getChannel ()
{
return null;
}
} }
...@@ -151,6 +151,7 @@ public class ServerSocket ...@@ -151,6 +151,7 @@ public class ServerSocket
throws IOException throws IOException
{ {
this(); this();
if (impl == null) if (impl == null)
throw new IOException("Cannot initialize Socket implementation"); throw new IOException("Cannot initialize Socket implementation");
...@@ -181,19 +182,7 @@ public class ServerSocket ...@@ -181,19 +182,7 @@ public class ServerSocket
public void bind (SocketAddress endpoint) public void bind (SocketAddress endpoint)
throws IOException throws IOException
{ {
if (impl == null) bind (endpoint, 50);
throw new IOException ("Cannot initialize Socket implementation");
if (! (endpoint instanceof InetSocketAddress))
throw new IllegalArgumentException ("Address type not supported");
InetSocketAddress tmp = (InetSocketAddress) endpoint;
SecurityManager s = System.getSecurityManager ();
if (s != null)
s.checkListen (tmp.getPort ());
impl.bind (tmp.getAddress (), tmp.getPort ());
} }
/** /**
......
...@@ -147,8 +147,6 @@ public abstract class SelectionKey ...@@ -147,8 +147,6 @@ public abstract class SelectionKey
/** /**
* Tells whether or not this key is valid. * Tells whether or not this key is valid.
*
* @exception CancelledKeyException If this key has been cancelled
*/ */
public abstract boolean isValid (); public abstract boolean isValid ();
......
...@@ -60,7 +60,18 @@ public abstract class ServerSocketChannel ...@@ -60,7 +60,18 @@ public abstract class ServerSocketChannel
} }
/** /**
* Accepts a connection made to this channel's socket. * Accepts a connection made to this channel's socket.
*
* @exception IOException If an error occurs
* @exception AsynchronousCloseException If another thread closes this
* channel while the accept operation is in progress.
* @exception ClosedByInterruptException If another thread interrupts the
* current thread while the accept operation is in progress, thereby closing
* the channel and setting the current thread's interrupt status.
* @exception ClosedChannelException If the channel is closed.
* @exception NotYetBoundException If the channel's socket is not yet bound.
* @exception SecurityException If a security manager has been installed and
* it does not permit access to the remote endpoint of the new connection.
*/ */
public abstract SocketChannel accept (); public abstract SocketChannel accept ();
...@@ -70,7 +81,9 @@ public abstract class ServerSocketChannel ...@@ -70,7 +81,9 @@ public abstract class ServerSocketChannel
public abstract ServerSocket socket (); public abstract ServerSocket socket ();
/** /**
* Opens a server socker channel. * Opens a server socket channel.
*
* @exception IOException If an error occurs
*/ */
public static ServerSocketChannel open () throws IOException public static ServerSocketChannel open () throws IOException
{ {
......
...@@ -78,8 +78,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel ...@@ -78,8 +78,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
{ {
synchronized (LOCK) synchronized (LOCK)
{ {
blocking = true; blocking = true;
implConfigureBlocking (block); implConfigureBlocking (block);
} }
return this; return this;
...@@ -87,6 +87,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel ...@@ -87,6 +87,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
/** /**
* Closes this channel. * Closes this channel.
*
* @exception IOException If an error occurs
*/ */
protected final void implCloseChannel () protected final void implCloseChannel ()
{ {
...@@ -168,13 +170,17 @@ public abstract class AbstractSelectableChannel extends SelectableChannel ...@@ -168,13 +170,17 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
private void add (SelectionKey key) private void add (SelectionKey key)
{ {
if (keys == null) if (keys == null)
keys = new LinkedList (); {
keys = new LinkedList ();
}
keys.add (key); keys.add (key);
} }
/** /**
* Registers this channel with the given selector, returning a selection key. * Registers this channel with the given selector, returning a selection key.
*
* @exception ClosedChannelException If the channel is already closed.
*/ */
public final SelectionKey register (Selector selin, int ops, Object att) public final SelectionKey register (Selector selin, int ops, Object att)
throws ClosedChannelException throws ClosedChannelException
...@@ -187,19 +193,19 @@ public abstract class AbstractSelectableChannel extends SelectableChannel ...@@ -187,19 +193,19 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
synchronized (LOCK) synchronized (LOCK)
{ {
k = locate (selector); k = locate (selector);
if (k != null) if (k != null)
{ {
k.attach (att); k.attach (att);
} }
else else
{ {
k = selector.register (this, ops, att); k = selector.register (this, ops, att);
if (k != null) if (k != null)
add (k); add (k);
} }
} }
return k; return k;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment