aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/java/net/DatagramSocket.java92
2 files changed, 83 insertions, 16 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index b6c0d79..04df52c 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,10 @@
+2002-01-13 Mark Wielaard <mark@klomp.org>
+
+ * 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.
+
2002-01-11 Mark Wielaard <mark@klomp.org>
* java/net/InetAddress.java (ANY_IF): moved from ServerSocket.
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));
+ }
}