diff options
author | Mark Wielaard <mark@klomp.org> | 2002-01-13 11:59:37 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2002-01-13 11:59:37 +0000 |
commit | 1536ef88f1106ebcc3b2b2f39c2099bf70151738 (patch) | |
tree | c23b592b9c29cfed7b7310112577ff00144aaacc /libjava/java/net | |
parent | ec5bda0283e7abf2f995565e4c584660da8b1d29 (diff) | |
download | gcc-1536ef88f1106ebcc3b2b2f39c2099bf70151738.zip gcc-1536ef88f1106ebcc3b2b2f39c2099bf70151738.tar.gz gcc-1536ef88f1106ebcc3b2b2f39c2099bf70151738.tar.bz2 |
DatagramSocket.java (getReceiveBufferSize): new 1.2 method.
* java/net/DatagramSocket.java (getReceiveBufferSize): new 1.2 method.
* java/net/DatagramSocket.java (getSendBufferSize): Likewise.
* java/net/DatagramSocket.java (setReceiveBufferSize): Likewise.
* java/net/DatagramSocket.java (setSendBufferSize): Likewise.
From-SVN: r48814
Diffstat (limited to 'libjava/java/net')
-rw-r--r-- | libjava/java/net/DatagramSocket.java | 92 |
1 files changed, 76 insertions, 16 deletions
diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java index 6e33e3b..064e8e7 100644 --- a/libjava/java/net/DatagramSocket.java +++ b/libjava/java/net/DatagramSocket.java @@ -180,23 +180,83 @@ public class DatagramSocket // { // } - // JDK1.2 - // public int getReceiveBufferSize() throws SocketException - // { - // } + /** + * This method returns the value of the system level socket option + * SO_RCVBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The receive buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public int getReceiveBufferSize() throws SocketException + { + Object obj = impl.getOption(SocketOptions.SO_RCVBUF); + + if (obj instanceof Integer) + return(((Integer)obj).intValue()); + else + throw new SocketException("Unexpected type"); + } - // JDK1.2 - // public int getSendBufferSize() throws SocketException - // { - // } + /** + * This method returns the value of the system level socket option + * SO_SNDBUF, which is used by the operating system to tune buffer + * sizes for data transfers. + * + * @return The send buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public int getSendBufferSize() throws SocketException + { + Object obj = impl.getOption(SocketOptions.SO_SNDBUF); - // JDK1.2 - // public void setReceiveBufferSize(int size) throws SocketException - // { - // } + if (obj instanceof Integer) + return(((Integer)obj).intValue()); + else + throw new SocketException("Unexpected type"); + } - // JDK1.2 - // public void setSendBufferSize(int size) throws SocketException - // { - // } + /** + * This method sets the value for the system level socket option + * SO_RCVBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new receive buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public void setReceiveBufferSize(int size) throws SocketException + { + if (size < 0) + throw new IllegalArgumentException("Buffer size is less than 0"); + + impl.setOption(SocketOptions.SO_RCVBUF, new Integer(size)); + } + + /** + * This method sets the value for the system level socket option + * SO_SNDBUF to the specified value. Note that valid values for this + * option are specific to a given operating system. + * + * @param size The new send buffer size. + * + * @exception SocketException If an error occurs. + * + * @since 1.2 + */ + public void setSendBufferSize(int size) throws SocketException + { + if (size < 0) + throw new IllegalArgumentException("Buffer size is less than 0"); + + impl.setOption(SocketOptions.SO_SNDBUF, new Integer(size)); + } } |