aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2002-01-13 11:59:37 +0000
committerMark Wielaard <mark@gcc.gnu.org>2002-01-13 11:59:37 +0000
commit1536ef88f1106ebcc3b2b2f39c2099bf70151738 (patch)
treec23b592b9c29cfed7b7310112577ff00144aaacc /libjava/java/net
parentec5bda0283e7abf2f995565e4c584660da8b1d29 (diff)
downloadgcc-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.java92
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));
+ }
}