diff options
Diffstat (limited to 'libjava/java/nio')
8 files changed, 43 insertions, 27 deletions
diff --git a/libjava/java/nio/channels/DatagramChannel.java b/libjava/java/nio/channels/DatagramChannel.java index 6c45755..4a7ac98 100644 --- a/libjava/java/nio/channels/DatagramChannel.java +++ b/libjava/java/nio/channels/DatagramChannel.java @@ -88,7 +88,7 @@ public abstract class DatagramChannel * @exception IOException If an error occurs * @exception NotYetConnectedException The channel's socket is not connected. */ - public final long write (ByteBuffer[] srcs) + public final long write (ByteBuffer[] srcs) throws IOException { long b = 0; @@ -111,14 +111,15 @@ public abstract class DatagramChannel * @exception SecurityException If a security manager has been installed and * it does not permit datagrams to be sent to the given address. */ - public abstract DatagramChannel connect (SocketAddress remote); + public abstract DatagramChannel connect (SocketAddress remote) + throws IOException; /** * Disonnects this channel's socket. * * @exception IOException If an error occurs */ - public abstract DatagramChannel disconnect (); + public abstract DatagramChannel disconnect () throws IOException; /** * Tells whether or not this channel's socket is connected. @@ -131,7 +132,7 @@ public abstract class DatagramChannel /** * Reads data from this channel. */ - public abstract int read (ByteBuffer dst); + public abstract int read (ByteBuffer dst) throws IOException; /** * Reads data from this channel. @@ -139,7 +140,8 @@ public abstract class DatagramChannel * @exception IOException If an error occurs. * @exception NotYetConnectedException The channel's socket is not connected. */ - public abstract long read (ByteBuffer[] dsts, int offset, int length); + public abstract long read (ByteBuffer[] dsts, int offset, int length) + throws IOException; /** * Receives a datagram via this channel. @@ -154,7 +156,7 @@ public abstract class DatagramChannel * @exception SecurityException If a security manager has been installed and * it does not permit datagrams to be sent to the given address. */ - public abstract SocketAddress receive (ByteBuffer dst); + public abstract SocketAddress receive (ByteBuffer dst) throws IOException; /** * Sends a datagram via this channel. @@ -169,7 +171,8 @@ public abstract class DatagramChannel * @exception SecurityException If a security manager has been installed and * it does not permit datagrams to be sent to the given address. */ - public abstract int send (ByteBuffer src, SocketAddress target); + public abstract int send (ByteBuffer src, SocketAddress target) + throws IOException; /** * Retrieves the channel's socket. @@ -182,7 +185,7 @@ public abstract class DatagramChannel * @exception IOException If an error occurs. * @exception NotYetConnectedException The channel's socket is not connected. */ - public abstract int write (ByteBuffer src); + public abstract int write (ByteBuffer src) throws IOException; /** * Writes data to this channel. @@ -190,7 +193,8 @@ public abstract class DatagramChannel * @exception IOException If an error occurs. * @exception NotYetConnectedException The channel's socket is not connected. */ - public abstract long write (ByteBuffer[] srcs, int offset, int length); + public abstract long write (ByteBuffer[] srcs, int offset, int length) + throws IOException; /** * Retrieves the valid operations for this channel. diff --git a/libjava/java/nio/channels/Pipe.java b/libjava/java/nio/channels/Pipe.java index 22f3d15..939d7b5 100644 --- a/libjava/java/nio/channels/Pipe.java +++ b/libjava/java/nio/channels/Pipe.java @@ -37,6 +37,7 @@ exception statement from your version. */ package java.nio.channels; +import java.io.IOException; import java.nio.channels.spi.AbstractSelectableChannel; import java.nio.channels.spi.SelectorProvider; @@ -104,7 +105,7 @@ public abstract class Pipe * * @exception IOException If an error occurs */ - public static Pipe open() + public static Pipe open() throws IOException { return SelectorProvider.provider ().openPipe(); } diff --git a/libjava/java/nio/channels/SelectableChannel.java b/libjava/java/nio/channels/SelectableChannel.java index 2bc5cc4..72abac8 100644 --- a/libjava/java/nio/channels/SelectableChannel.java +++ b/libjava/java/nio/channels/SelectableChannel.java @@ -37,6 +37,7 @@ exception statement from your version. */ package java.nio.channels; +import java.io.IOException; import java.nio.channels.spi.AbstractInterruptibleChannel; import java.nio.channels.spi.SelectorProvider; @@ -67,7 +68,8 @@ public abstract class SelectableChannel * is registered with one or more selectors. * @exception IOException If an error occurs. */ - public abstract SelectableChannel configureBlocking (boolean block); + public abstract SelectableChannel configureBlocking (boolean block) + throws IOException; /** * Tells whether this channel is blocking or not. diff --git a/libjava/java/nio/channels/ServerSocketChannel.java b/libjava/java/nio/channels/ServerSocketChannel.java index 16a3a82..e41af21 100644 --- a/libjava/java/nio/channels/ServerSocketChannel.java +++ b/libjava/java/nio/channels/ServerSocketChannel.java @@ -73,7 +73,7 @@ public abstract class ServerSocketChannel * @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 () throws IOException; /** * Retrieves the channels socket. diff --git a/libjava/java/nio/channels/SocketChannel.java b/libjava/java/nio/channels/SocketChannel.java index 368a8ee..c22eb1d 100644 --- a/libjava/java/nio/channels/SocketChannel.java +++ b/libjava/java/nio/channels/SocketChannel.java @@ -49,6 +49,7 @@ import java.net.SocketAddress; * @since 1.4 */ abstract public class SocketChannel extends AbstractSelectableChannel + implements ByteChannel, ScatteringByteChannel, GatheringByteChannel { /** * Initializes this socket. @@ -100,7 +101,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public final long read (ByteBuffer[] dsts) + public final long read (ByteBuffer[] dsts) throws IOException { long b = 0; @@ -118,7 +119,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public final long write (ByteBuffer[] dsts) + public final long write (ByteBuffer[] dsts) throws IOException { long b = 0; @@ -144,7 +145,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public abstract int read (ByteBuffer dst); + public abstract int read (ByteBuffer dst) throws IOException; /** * Connects the channel's socket to the remote address. @@ -179,7 +180,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception NoConnectionPendingException If this channel is not connected * and a connection operation has not been initiated. */ - public abstract boolean finishConnect (); + public abstract boolean finishConnect () throws IOException; /** * Tells whether or not the channel's socket is connected. @@ -197,7 +198,8 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public abstract long read (ByteBuffer[] dsts, int offset, int length); + public abstract long read (ByteBuffer[] dsts, int offset, int length) + throws IOException; /** * Retrieves the channel's socket. @@ -210,7 +212,7 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public abstract int write (ByteBuffer src); + public abstract int write (ByteBuffer src) throws IOException; /** * Writes data to the channel. @@ -218,5 +220,6 @@ abstract public class SocketChannel extends AbstractSelectableChannel * @exception IOException If an error occurs * @exception NotYetConnectedException If this channel is not yet connected. */ - public abstract long write (ByteBuffer[] srcs, int offset, int length); + public abstract long write (ByteBuffer[] srcs, int offset, int length) + throws IOException; } diff --git a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java index 855087b..dd4177a 100644 --- a/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java +++ b/libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java @@ -38,6 +38,7 @@ exception statement from your version. */ package java.nio.channels.spi; import java.io.IOException; +import java.nio.channels.AsynchronousCloseException; import java.nio.channels.Channel; import java.nio.channels.InterruptibleChannel; @@ -84,6 +85,7 @@ public abstract class AbstractInterruptibleChannel * I/O operation was interrupted. */ protected final void end (boolean completed) + throws AsynchronousCloseException { } diff --git a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java index da03693..b13bb4a 100644 --- a/libjava/java/nio/channels/spi/AbstractSelectableChannel.java +++ b/libjava/java/nio/channels/spi/AbstractSelectableChannel.java @@ -75,6 +75,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel * Adjusts this channel's blocking mode. */ public final SelectableChannel configureBlocking (boolean block) + throws IOException { synchronized (LOCK) { @@ -90,7 +91,7 @@ public abstract class AbstractSelectableChannel extends SelectableChannel * * @exception IOException If an error occurs */ - protected final void implCloseChannel () + protected final void implCloseChannel () throws IOException { implCloseSelectableChannel (); } @@ -98,12 +99,13 @@ public abstract class AbstractSelectableChannel extends SelectableChannel /** * Closes this selectable channel. */ - protected abstract void implCloseSelectableChannel (); + protected abstract void implCloseSelectableChannel () throws IOException; /** * Adjusts this channel's blocking mode. */ - protected abstract void implConfigureBlocking (boolean block); + protected abstract void implConfigureBlocking (boolean block) + throws IOException; /** * Tells whether or not every I/O operation on this channel will block diff --git a/libjava/java/nio/channels/spi/SelectorProvider.java b/libjava/java/nio/channels/spi/SelectorProvider.java index 06017f7..157a341 100644 --- a/libjava/java/nio/channels/spi/SelectorProvider.java +++ b/libjava/java/nio/channels/spi/SelectorProvider.java @@ -38,6 +38,7 @@ exception statement from your version. */ package java.nio.channels.spi; /* import gnu.java.nio.channels.SelectorProviderImpl; */ +import java.io.IOException; import java.nio.channels.DatagramChannel; import java.nio.channels.Pipe; import java.nio.channels.ServerSocketChannel; @@ -67,27 +68,28 @@ public abstract class SelectorProvider /** * Opens a datagram channel. */ - public abstract DatagramChannel openDatagramChannel (); + public abstract DatagramChannel openDatagramChannel () throws IOException; /** * Opens a pipe. */ - public abstract Pipe openPipe (); + public abstract Pipe openPipe () throws IOException; /** * Opens a selector. */ - public abstract AbstractSelector openSelector (); + public abstract AbstractSelector openSelector () throws IOException; /** * Opens a server socket channel. */ - public abstract ServerSocketChannel openServerSocketChannel (); + public abstract ServerSocketChannel openServerSocketChannel () + throws IOException; /** * Opens a socket channel. */ - public abstract SocketChannel openSocketChannel (); + public abstract SocketChannel openSocketChannel () throws IOException; /** * Returns the system-wide default selector provider for this invocation |