diff options
author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-13 11:59:37 +0000 |
---|---|---|
committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-13 11:59:37 +0000 |
commit | f7a4b88ef3a9192c083433c4684a371e20766bb6 (patch) | |
tree | c23b592b9c29cfed7b7310112577ff00144aaacc /libjava/java | |
parent | f6a28a5f38dfe0ae483e211c96ff15890207ef48 (diff) | |
download | ppe42-gcc-f7a4b88ef3a9192c083433c4684a371e20766bb6.tar.gz ppe42-gcc-f7a4b88ef3a9192c083433c4684a371e20766bb6.zip |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48814 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-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 6e33e3b122b..064e8e78983 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)); + } } |