Commit f61e2125 by Michael Koch Committed by Michael Koch

2003-06-08 Michael Koch <konqueror@gmx.de>

	* java/net/DatagramSocket.java
	(DatagramSocket): No need to set SO_REUSEADDRESS here. This belongs
	into the Multicast constructors.
	* java/net/DatagramSocketImpl.java
	(getOption): Removed.
	(setOption): Removed.
	* java/net/MulticastSocket.java
	(MulticastSocket): Call setReuseAddress (true).
	* java/net/SocketImpl.java
	(getOption): Removed.
	(setOption): Removed.

From-SVN: r67617
parent 147d396e
2003-06-08 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
(DatagramSocket): No need to set SO_REUSEADDRESS here. This belongs
into the Multicast constructors.
* java/net/DatagramSocketImpl.java
(getOption): Removed.
(setOption): Removed.
* java/net/MulticastSocket.java
(MulticastSocket): Call setReuseAddress (true).
* java/net/SocketImpl.java
(getOption): Removed.
(setOption): Removed.
2003-06-07 Jeff Sturm <jsturm@one-point.com> 2003-06-07 Jeff Sturm <jsturm@one-point.com>
PR libgcj/10886: PR libgcj/10886:
......
...@@ -174,9 +174,6 @@ public class DatagramSocket ...@@ -174,9 +174,6 @@ public class DatagramSocket
} }
impl.create(); impl.create();
// For multicasting, set the socket to be reused (Stevens pp. 195-6).
if (this instanceof MulticastSocket)
impl.setOption(SocketOptions.SO_REUSEADDR, new Boolean(true));
impl.bind(port, laddr == null ? InetAddress.ANY_IF : laddr); impl.bind(port, laddr == null ? InetAddress.ANY_IF : laddr);
...@@ -293,9 +290,6 @@ public class DatagramSocket ...@@ -293,9 +290,6 @@ public class DatagramSocket
*/ */
public int getLocalPort() public int getLocalPort()
{ {
if (!isBound ())
return -1;
return impl.getLocalPort(); return impl.getLocalPort();
} }
......
...@@ -284,36 +284,4 @@ public abstract class DatagramSocketImpl implements SocketOptions ...@@ -284,36 +284,4 @@ public abstract class DatagramSocketImpl implements SocketOptions
{ {
return localPort; return localPort;
} }
/**
* Sets the specified option on a socket to the passed in object. For
* options that take an integer argument, the passed in object is an
* <code>Integer</code>. For options that are set to on or off, the
* value passed will be a <code>Boolean</code>. The <code>optionId</code>
* parameter is one of the defined constants in the superinterface.
*
* @param optionId The identifier of the option
* @param val The value to set the option to
*
* @exception SocketException If an error occurs
* @XXX This redeclaration from SocketOptions is a workaround to a gcj bug.
*/
public abstract void setOption(int optionId, Object val)
throws SocketException;
/**
* Returns the current setting of the specified option. The
* <code>Object</code> returned will be an <code>Integer</code> for options
* that have integer values. For options that are set to on or off, a
* <code>Boolean</code> will be returned. The <code>optionId</code>
* is one of the defined constants in the superinterface.
*
* @param optionId The option identifier
*
* @return The current value of the option
*
* @exception SocketException If an error occurs
* @XXX This redeclaration from SocketOptions is a workaround to a gcj bug.
*/
public abstract Object getOption(int option_id) throws SocketException;
} }
...@@ -81,6 +81,7 @@ public class MulticastSocket extends DatagramSocket ...@@ -81,6 +81,7 @@ public class MulticastSocket extends DatagramSocket
public MulticastSocket() throws IOException public MulticastSocket() throws IOException
{ {
super(0, null); super(0, null);
setReuseAddress (true);
} }
/** /**
...@@ -95,6 +96,7 @@ public class MulticastSocket extends DatagramSocket ...@@ -95,6 +96,7 @@ public class MulticastSocket extends DatagramSocket
public MulticastSocket(int port) throws IOException public MulticastSocket(int port) throws IOException
{ {
super(port, null); super(port, null);
setReuseAddress (true);
} }
/** /**
...@@ -111,6 +113,7 @@ public class MulticastSocket extends DatagramSocket ...@@ -111,6 +113,7 @@ public class MulticastSocket extends DatagramSocket
public MulticastSocket(SocketAddress address) throws IOException public MulticastSocket(SocketAddress address) throws IOException
{ {
super(address); super(address);
setReuseAddress (true);
} }
/** /**
......
...@@ -277,38 +277,6 @@ public abstract class SocketImpl implements SocketOptions ...@@ -277,38 +277,6 @@ public abstract class SocketImpl implements SocketOptions
} }
/** /**
* Sets the specified option on a socket to the passed in object. For
* options that take an integer argument, the passed in object is an
* <code>Integer</code>. For options that are set to on or off, the
* value passed will be a <code>Boolean</code>. The <code>option_id</code>
* parameter is one of the defined constants in the superinterface.
*
* @param option_id The identifier of the option
* @param val The value to set the option to
*
* @exception SocketException If an error occurs
* @XXX This redeclaration from SocketOptions is a workaround to a gcj bug.
*/
public abstract void setOption(int option_id, Object val)
throws SocketException;
/**
* Returns the current setting of the specified option. The
* <code>Object</code> returned will be an <code>Integer</code> for options
* that have integer values. For options that are set to on or off, a
* <code>Boolean</code> will be returned. The <code>option_id</code>
* is one of the defined constants in the superinterface.
*
* @param option_id The option identifier
*
* @return The current value of the option
*
* @exception SocketException If an error occurs
* @XXX This redeclaration from SocketOptions is a workaround to a gcj bug.
*/
public abstract Object getOption(int option_id) throws SocketException;
/**
* Shut down the input side of this socket. Subsequent reads will * Shut down the input side of this socket. Subsequent reads will
* return end-of-file. * return end-of-file.
* *
......
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