diff options
Diffstat (limited to 'libjava/java/net/MulticastSocket.java')
-rw-r--r-- | libjava/java/net/MulticastSocket.java | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/libjava/java/net/MulticastSocket.java b/libjava/java/net/MulticastSocket.java index 9c4d3e2..12afc2f 100644 --- a/libjava/java/net/MulticastSocket.java +++ b/libjava/java/net/MulticastSocket.java @@ -67,10 +67,6 @@ import java.util.Enumeration; */ public class MulticastSocket extends DatagramSocket { - // FIXME: the local addr bound to the multicast socket can be reused; - // unlike unicast sockets. It binds to any available network interface. - // See p.1159 JCL book. - /** * Create a MulticastSocket that this not bound to any address * @@ -128,7 +124,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - return (InetAddress) impl.getOption(SocketOptions.IP_MULTICAST_IF); + return (InetAddress) getImpl().getOption(SocketOptions.IP_MULTICAST_IF); } /** @@ -152,7 +148,7 @@ public class MulticastSocket extends DatagramSocket // Use getTTL here rather than getTimeToLive in case we're using an impl // other than the default PlainDatagramSocketImpl and it doesn't have // getTimeToLive yet. - return impl.getTTL(); + return getImpl().getTTL(); } /** @@ -170,7 +166,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - return impl.getTimeToLive(); + return getImpl().getTimeToLive(); } /** @@ -187,7 +183,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - impl.setOption(SocketOptions.IP_MULTICAST_IF, addr); + getImpl().setOption(SocketOptions.IP_MULTICAST_IF, addr); } /** @@ -210,10 +206,10 @@ public class MulticastSocket extends DatagramSocket Enumeration e = netIf.getInetAddresses (); if (!e.hasMoreElements ()) - throw new SocketException ("MulticastSocket: Error"); + throw new SocketException("no network devices found"); InetAddress address = (InetAddress) e.nextElement (); - impl.setOption (SocketOptions.IP_MULTICAST_IF, address); + getImpl().setOption (SocketOptions.IP_MULTICAST_IF, address); } /** @@ -234,7 +230,7 @@ public class MulticastSocket extends DatagramSocket throw new SocketException("socket is closed"); InetAddress address = - (InetAddress) impl.getOption (SocketOptions.IP_MULTICAST_IF); + (InetAddress) getImpl().getOption (SocketOptions.IP_MULTICAST_IF); NetworkInterface netIf = NetworkInterface.getByInetAddress (address); return netIf; @@ -259,7 +255,7 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - impl.setOption (SocketOptions.IP_MULTICAST_LOOP, new Boolean (disable)); + getImpl().setOption (SocketOptions.IP_MULTICAST_LOOP, new Boolean (disable)); } /** @@ -274,12 +270,12 @@ public class MulticastSocket extends DatagramSocket if (isClosed()) throw new SocketException("socket is closed"); - Object obj = impl.getOption (SocketOptions.IP_MULTICAST_LOOP); + Object buf = getImpl().getOption (SocketOptions.IP_MULTICAST_LOOP); - if (obj instanceof Boolean) - return ((Boolean) obj).booleanValue (); - else - throw new SocketException ("Unexpected type"); + if (buf instanceof Boolean) + return ((Boolean) buf).booleanValue(); + + throw new SocketException("unexpected type"); } /** @@ -302,7 +298,7 @@ public class MulticastSocket extends DatagramSocket // Use setTTL here rather than setTimeToLive in case we're using an impl // other than the default PlainDatagramSocketImpl and it doesn't have // setTimeToLive yet. - impl.setTTL(ttl); + getImpl().setTTL(ttl); } /** @@ -323,7 +319,7 @@ public class MulticastSocket extends DatagramSocket if (ttl <= 0 || ttl > 255) throw new IllegalArgumentException("Invalid ttl: " + ttl); - impl.setTimeToLive(ttl); + getImpl().setTimeToLive(ttl); } /** @@ -347,7 +343,7 @@ public class MulticastSocket extends DatagramSocket if (s != null) s.checkMulticast(mcastaddr); - impl.join(mcastaddr); + getImpl().join(mcastaddr); } /** @@ -371,7 +367,7 @@ public class MulticastSocket extends DatagramSocket if (s != null) s.checkMulticast(mcastaddr); - impl.leave(mcastaddr); + getImpl().leave(mcastaddr); } /** @@ -410,7 +406,7 @@ public class MulticastSocket extends DatagramSocket if (s != null) s.checkMulticast (tmp.getAddress ()); - impl.joinGroup (mcastaddr, netIf); + getImpl().joinGroup (mcastaddr, netIf); } /** @@ -445,7 +441,7 @@ public class MulticastSocket extends DatagramSocket if (s != null) s.checkMulticast (tmp.getAddress ()); - impl.leaveGroup (mcastaddr, netIf); + getImpl().leaveGroup (mcastaddr, netIf); } /** @@ -479,9 +475,9 @@ public class MulticastSocket extends DatagramSocket s.checkConnect(addr.getHostAddress(), p.getPort()); } - int oldttl = impl.getTimeToLive(); - impl.setTimeToLive(((int) ttl) & 0xFF); - impl.send(p); - impl.setTimeToLive(oldttl); + int oldttl = getImpl().getTimeToLive(); + getImpl().setTimeToLive(((int) ttl) & 0xFF); + getImpl().send(p); + getImpl().setTimeToLive(oldttl); } } // class MulticastSocket |