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
This commit is contained in:
Michael Koch 2002-11-20 16:19:08 +00:00 committed by Michael Koch
parent e6226a2f87
commit 3ebb998e6f
7 changed files with 65 additions and 25 deletions

View file

@ -1,4 +1,4 @@
/* Copyright (C) 1998, 1999, 2001 Free Software Foundation
/* Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation
This file is part of libgcj.
@ -8,6 +8,8 @@ details. */
package java.io;
import java.nio.channels.FileChannel;
/**
* @author Warren Levy <warrenl@cygnus.com>
* @date October 28, 1998.
@ -23,6 +25,8 @@ public class FileInputStream extends InputStream
/* Contains the file descriptor for referencing the actual file. */
private FileDescriptor fd;
private FileChannel ch;
public FileInputStream(String name) throws FileNotFoundException
{
SecurityManager s = System.getSecurityManager();
@ -92,4 +96,9 @@ public class FileInputStream extends InputStream
long endPos = fd.seek(n, FileDescriptor.CUR, true);
return endPos - startPos;
}
public FileChannel getChannel ()
{
return ch;
}
}

View file

@ -10,6 +10,8 @@ details. */
package java.io;
import java.nio.channels.FileChannel;
/**
* @author Tom Tromey <tromey@cygnus.com>
* @date September 24, 1998
@ -93,4 +95,9 @@ public class FileOutputStream extends OutputStream
// Instance variables.
private FileDescriptor fd;
public FileChannel getChannel ()
{
return null;
}
}

View file

@ -151,6 +151,7 @@ public class ServerSocket
throws IOException
{
this();
if (impl == null)
throw new IOException("Cannot initialize Socket implementation");
@ -181,19 +182,7 @@ public class ServerSocket
public void bind (SocketAddress endpoint)
throws IOException
{
if (impl == null)
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 ());
bind (endpoint, 50);
}
/**

View file

@ -147,8 +147,6 @@ public abstract class SelectionKey
/**
* Tells whether or not this key is valid.
*
* @exception CancelledKeyException If this key has been cancelled
*/
public abstract boolean isValid ();

View file

@ -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 ();
@ -70,7 +81,9 @@ public abstract class ServerSocketChannel
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
{

View file

@ -78,8 +78,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
{
synchronized (LOCK)
{
blocking = true;
implConfigureBlocking (block);
blocking = true;
implConfigureBlocking (block);
}
return this;
@ -87,6 +87,8 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
/**
* Closes this channel.
*
* @exception IOException If an error occurs
*/
protected final void implCloseChannel ()
{
@ -168,13 +170,17 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
private void add (SelectionKey key)
{
if (keys == null)
keys = new LinkedList ();
{
keys = new LinkedList ();
}
keys.add (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)
throws ClosedChannelException
@ -187,19 +193,19 @@ public abstract class AbstractSelectableChannel extends SelectableChannel
synchronized (LOCK)
{
k = locate (selector);
k = locate (selector);
if (k != null)
if (k != null)
{
k.attach (att);
}
else
else
{
k = selector.register (this, ops, att);
if (k != null)
add (k);
}
}
}
return k;