Commit 37db829b by Michael Koch Committed by Michael Koch

2003-03-02 Michael Koch <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(closed): New member variable.
	(close): Use closed variable.
	(getInetAddress): No need to call isConnected().
	(getPort): No need to call isConnected().
	(disconnect): Reset remoteAddress and remotePort, fixed typo.
	(isClosed): Reimplemented.

From-SVN: r63662
parent c0daa902
2003-03-02 Michael Koch <konqueror@gmx.de> 2003-03-02 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
(closed): New member variable.
(close): Use closed variable.
(getInetAddress): No need to call isConnected().
(getPort): No need to call isConnected().
(disconnect): Reset remoteAddress and remotePort, fixed typo.
(isClosed): Reimplemented.
2003-03-02 Michael Koch <konqueror@gmx.de>
* configure.in: Added check for memory mapping of files. * configure.in: Added check for memory mapping of files.
* configure: Regenerated. * configure: Regenerated.
* config.h.in: Regenerated. * config.h.in: Regenerated.
......
...@@ -89,6 +89,11 @@ public class DatagramSocket ...@@ -89,6 +89,11 @@ public class DatagramSocket
private int remotePort = -1; private int remotePort = -1;
/** /**
* Indicates when the socket is closed.
*/
private boolean closed = false;
/**
* Creates a DatagramSocket from a specified DatagramSocketImpl instance * Creates a DatagramSocket from a specified DatagramSocketImpl instance
* *
* @param impl The DatagramSocketImpl the socket will be created from * @param impl The DatagramSocketImpl the socket will be created from
...@@ -201,9 +206,13 @@ public class DatagramSocket ...@@ -201,9 +206,13 @@ public class DatagramSocket
*/ */
public void close() public void close()
{ {
if (!closed)
{
impl.close(); impl.close();
remoteAddress = null; remoteAddress = null;
remotePort = -1; remotePort = -1;
closed = true;
}
} }
/** /**
...@@ -217,9 +226,6 @@ public class DatagramSocket ...@@ -217,9 +226,6 @@ public class DatagramSocket
*/ */
public InetAddress getInetAddress() public InetAddress getInetAddress()
{ {
if (!isConnected ())
return null;
return remoteAddress; return remoteAddress;
} }
...@@ -234,9 +240,6 @@ public class DatagramSocket ...@@ -234,9 +240,6 @@ public class DatagramSocket
*/ */
public int getPort() public int getPort()
{ {
if (!isConnected ())
return -1;
return remotePort; return remotePort;
} }
...@@ -277,7 +280,6 @@ public class DatagramSocket ...@@ -277,7 +280,6 @@ public class DatagramSocket
} }
catch (UnknownHostException ex) catch (UnknownHostException ex)
{ {
// FIXME: This should never happen, so how can we avoid this construct?
return null; return null;
} }
} }
...@@ -469,7 +471,7 @@ public class DatagramSocket ...@@ -469,7 +471,7 @@ public class DatagramSocket
/** /**
* This method disconnects this socket from the address/port it was * This method disconnects this socket from the address/port it was
* conencted to. If the socket was not connected in the first place, * connected to. If the socket was not connected in the first place,
* this method does nothing. * this method does nothing.
* *
* @since 1.2 * @since 1.2
...@@ -477,6 +479,8 @@ public class DatagramSocket ...@@ -477,6 +479,8 @@ public class DatagramSocket
public void disconnect() public void disconnect()
{ {
impl.disconnect(); impl.disconnect();
remoteAddress = null;
remotePort = -1;
} }
/** /**
...@@ -596,7 +600,7 @@ public class DatagramSocket ...@@ -596,7 +600,7 @@ public class DatagramSocket
*/ */
public boolean isClosed() public boolean isClosed()
{ {
return !impl.getFileDescriptor().valid(); return closed;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment