From 54f3c60dbcaf1266f8f6e97789620cdd3dd99886 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Thu, 29 Aug 2002 18:44:42 +0000 Subject: DatagramPacket.java: updated to JDK 1.4 API new methods are... 2002-08-29 Michael Koch * java/net/DatagramPacket.java: updated to JDK 1.4 API new methods are: DatagramPacket(byte[] buf, int offset, int length, SocketAddress address), DatagramPacket(byte[] buf, int length, SocketAddress address), void setSocketAddress(SocketAddress address) public SocketAddress getSocketAddress() From-SVN: r56659 --- libjava/java/net/DatagramPacket.java | 71 ++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) (limited to 'libjava/java') diff --git a/libjava/java/net/DatagramPacket.java b/libjava/java/net/DatagramPacket.java index 2140f45..d136f84 100644 --- a/libjava/java/net/DatagramPacket.java +++ b/libjava/java/net/DatagramPacket.java @@ -186,6 +186,45 @@ public final class DatagramPacket this(buf, 0, length, address, port); } + /** + * Initializes a new instance of DatagramPacket for + * transmitting packets across the network. + * + * @param buf A buffer containing the data to send + * @param offset The offset into the buffer to start writing from. + * @param length The length of the buffer (must be <= buf.length) + * @param address The socket address to send to + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public DatagramPacket(byte[] buf, int offset, int length, SocketAddress address) + throws SocketException + { + this(buf, offset, length, ((InetSocketAddress)address).getAddress(), + ((InetSocketAddress)address).getPort()); + } + + /** + * Initializes a new instance of DatagramPacket for + * transmitting packets across the network. + * + * @param buf A buffer containing the data to send + * @param length The length of the buffer (must be <= buf.length) + * @param address The socket address to send to + * + * @exception SocketException If an error occurs + * + * @since 1.4 + */ + public DatagramPacket(byte[] buf, int length, SocketAddress address) + throws SocketException + { + this(buf, 0, length, ((InetSocketAddress)address).getAddress(), + ((InetSocketAddress)address).getPort()); + } + /** * Returns the address that this packet is being sent to or, if it was used * to receive a packet, the address that is was received from. If the @@ -277,6 +316,38 @@ public final class DatagramPacket port = iport; } + /** + * Sets the address of the remote host this package will be sent + * + * @param address The socket address of the remove host + * + * @exception IllegalArgumentException If an error occurs + * + * @since 1.4 + */ + public void setSocketAddress(SocketAddress address) + throws IllegalArgumentException + { + if (address == null) throw new IllegalArgumentException(); + + InetSocketAddress tmp = (InetSocketAddress)address; + this.address = tmp.getAddress(); + this.port = tmp.getPort(); + } + + /** + * Gets the socket address of the host this packet + * will be sent to/is coming from + * + * @return The socket address of the remote host + * + * @since 1.4 + */ + public SocketAddress getSocketAddress() + { + return new InetSocketAddress (address, port); + } + /** * Sets the data buffer for this packet. * -- cgit v1.1