mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-11 05:23:55 +08:00
2003-01-10 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (ch): Description added. (remotePort): Initialize with -1. (connect): Doesnt throws SocketException. * java/net/MulticastSocket.java (setInterface): Merge with Classpath. * java/net/ServerSocket.java (closed): New member variable. (bind): Check if socket is closed. (close): Close an associated channel too, set new value to closed. (isBound): Reindented. (isClosed): Implemented. * java/net/Socket.java (closed): New member variable. (bind): Check if socket is closed. (connect): Check if socket is closed. (close): Close an associated channel too, set new value to closed. (isClosed): Implemented. From-SVN: r61185
This commit is contained in:
parent
b1771c6ac2
commit
927818a598
@ -1,3 +1,24 @@
|
||||
2003-01-10 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/net/DatagramSocket.java
|
||||
(ch): Description added.
|
||||
(remotePort): Initialize with -1.
|
||||
(connect): Doesnt throws SocketException.
|
||||
* java/net/MulticastSocket.java
|
||||
(setInterface): Merge with Classpath.
|
||||
* java/net/ServerSocket.java
|
||||
(closed): New member variable.
|
||||
(bind): Check if socket is closed.
|
||||
(close): Close an associated channel too, set new value to closed.
|
||||
(isBound): Reindented.
|
||||
(isClosed): Implemented.
|
||||
* java/net/Socket.java
|
||||
(closed): New member variable.
|
||||
(bind): Check if socket is closed.
|
||||
(connect): Check if socket is closed.
|
||||
(close): Close an associated channel too, set new value to closed.
|
||||
(isClosed): Implemented.
|
||||
|
||||
2003-01-10 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/awt/DisplayMode.java
|
||||
|
@ -72,6 +72,10 @@ public class DatagramSocket
|
||||
*/
|
||||
DatagramSocketImpl impl;
|
||||
|
||||
/**
|
||||
* The unique DatagramChannel object associated with this datagram socket,
|
||||
* or null.
|
||||
*/
|
||||
DatagramChannel ch;
|
||||
|
||||
/**
|
||||
@ -82,7 +86,7 @@ public class DatagramSocket
|
||||
/**
|
||||
* This is the port we are "connected" to
|
||||
*/
|
||||
private int remotePort;
|
||||
private int remotePort = -1;
|
||||
|
||||
/**
|
||||
* Creates a DatagramSocket from a specified DatagramSocketImpl instance
|
||||
@ -439,7 +443,6 @@ public class DatagramSocket
|
||||
* @since 1.2
|
||||
*/
|
||||
public void connect(InetAddress address, int port)
|
||||
throws SocketException
|
||||
{
|
||||
if (address == null)
|
||||
throw new IllegalArgumentException ("Address may not be null");
|
||||
@ -451,10 +454,15 @@ public class DatagramSocket
|
||||
if (sm != null)
|
||||
sm.checkAccept(address.getHostName (), port);
|
||||
|
||||
try
|
||||
{
|
||||
impl.connect (address, port);
|
||||
|
||||
remoteAddress = address;
|
||||
remotePort = port;
|
||||
}
|
||||
catch (SocketException e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,6 @@
|
||||
/* MulticastSocket.java -- Class for using multicast sockets
|
||||
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
@ -163,13 +164,15 @@ public class MulticastSocket extends DatagramSocket
|
||||
/**
|
||||
* Sets the interface to use for sending multicast packets.
|
||||
*
|
||||
* @param inf The new interface to use
|
||||
* @param addr The new interface to use.
|
||||
*
|
||||
* @exception SocketException If an error occurs
|
||||
* @exception SocketException If an error occurs.
|
||||
*
|
||||
* @since 1.4
|
||||
*/
|
||||
public void setInterface(InetAddress inf) throws SocketException
|
||||
public void setInterface(InetAddress addr) throws SocketException
|
||||
{
|
||||
impl.setOption(SocketOptions.IP_MULTICAST_IF, inf);
|
||||
impl.setOption(SocketOptions.IP_MULTICAST_IF, addr);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -77,6 +77,8 @@ public class ServerSocket
|
||||
*/
|
||||
private ServerSocketChannel ch;
|
||||
|
||||
private boolean closed = false;
|
||||
|
||||
/**
|
||||
* Constructor that simply sets the implementation.
|
||||
*
|
||||
@ -200,6 +202,9 @@ public class ServerSocket
|
||||
*/
|
||||
public void bind (SocketAddress endpoint, int backlog) throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new SocketException ("ServerSocket is closed");
|
||||
|
||||
if (impl == null)
|
||||
throw new IOException ("Cannot initialize Socket implementation");
|
||||
|
||||
@ -315,7 +320,13 @@ public class ServerSocket
|
||||
*/
|
||||
public void close () throws IOException
|
||||
{
|
||||
impl.close();
|
||||
if (impl != null)
|
||||
impl.close ();
|
||||
|
||||
if (ch != null)
|
||||
ch.close ();
|
||||
|
||||
closed = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -358,8 +369,7 @@ public class ServerSocket
|
||||
*/
|
||||
public boolean isClosed()
|
||||
{
|
||||
// FIXME: implement this
|
||||
return false;
|
||||
return closed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -85,6 +85,8 @@ public class Socket
|
||||
|
||||
SocketChannel ch; // this field must have been set if created by SocketChannel
|
||||
|
||||
private boolean closed = false;
|
||||
|
||||
// Constructors
|
||||
|
||||
/**
|
||||
@ -308,6 +310,9 @@ public class Socket
|
||||
*/
|
||||
public void bind (SocketAddress bindpoint) throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new SocketException ("Socket is closed");
|
||||
|
||||
if ( !(bindpoint instanceof InetSocketAddress))
|
||||
throw new IllegalArgumentException ();
|
||||
|
||||
@ -330,6 +335,9 @@ public class Socket
|
||||
public void connect (SocketAddress endpoint)
|
||||
throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new SocketException ("Socket is closed");
|
||||
|
||||
if (! (endpoint instanceof InetSocketAddress))
|
||||
throw new IllegalArgumentException ("Address type not supported");
|
||||
|
||||
@ -357,6 +365,9 @@ public class Socket
|
||||
public void connect (SocketAddress endpoint, int timeout)
|
||||
throws IOException
|
||||
{
|
||||
if (closed)
|
||||
throw new SocketException ("Socket is closed");
|
||||
|
||||
if (! (endpoint instanceof InetSocketAddress))
|
||||
throw new IllegalArgumentException ("Address type not supported");
|
||||
|
||||
@ -853,6 +864,11 @@ public class Socket
|
||||
{
|
||||
if (impl != null)
|
||||
impl.close();
|
||||
|
||||
if (ch != null)
|
||||
ch.close();
|
||||
|
||||
closed = true;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1035,8 +1051,7 @@ public class Socket
|
||||
*/
|
||||
public boolean isClosed ()
|
||||
{
|
||||
// FIXME: implement this.
|
||||
return false;
|
||||
return closed;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user