org.teleal.cling.transport.impl
Class NetworkAddressFactoryImpl

java.lang.Object
  extended by org.teleal.cling.transport.impl.NetworkAddressFactoryImpl
All Implemented Interfaces:
NetworkAddressFactory

public class NetworkAddressFactoryImpl
extends java.lang.Object
implements NetworkAddressFactory

Supports only IPv4! Ignores the "vmnet*" interfaces!


Field Summary
protected  java.util.List<java.net.InetAddress> bindAddresses
           
static int DEFAULT_TCP_HTTP_LISTEN_PORT
           
protected  java.util.List<java.net.NetworkInterface> networkInterfaces
           
protected  int streamListenPort
           
protected  java.util.Set<java.lang.String> useAddresses
           
protected  java.util.Set<java.lang.String> useInterfaces
           
 
Fields inherited from interface org.teleal.cling.transport.spi.NetworkAddressFactory
SYSTEM_PROPERTY_NET_ADDRESSES, SYSTEM_PROPERTY_NET_IFACES
 
Constructor Summary
NetworkAddressFactoryImpl()
           
NetworkAddressFactoryImpl(int streamListenPort)
           
 
Method Summary
protected  void discoverBindAddresses()
           
protected  void discoverNetworkInterfaces()
           
 java.net.InetAddress[] getBindAddresses()
           
protected  java.net.InetAddress getBindAddressInSubnetOf(java.net.InetAddress inetAddress)
           
 java.net.InetAddress getBroadcastAddress(java.net.InetAddress inetAddress)
           
 byte[] getHardwareAddress(java.net.InetAddress inetAddress)
           
protected  java.util.List<java.net.InetAddress> getInetAddresses(java.net.NetworkInterface networkInterface)
           
protected  java.util.List<java.net.InterfaceAddress> getInterfaceAddresses(java.net.NetworkInterface networkInterface)
           
 java.net.InetAddress getLocalAddress(java.net.NetworkInterface networkInterface, boolean isIPv6, java.net.InetAddress remoteAddress)
           
 java.net.InetAddress getMulticastGroup()
           
 int getMulticastPort()
           
 java.net.NetworkInterface[] getNetworkInterfaces()
           
 int getStreamListenPort()
           
protected  boolean isInSubnet(byte[] ip, byte[] network, short prefix)
           
protected  boolean isUsableAddress(java.net.NetworkInterface networkInterface, java.net.InetAddress address)
           
protected  boolean isUsableNetworkInterface(java.net.NetworkInterface iface)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_TCP_HTTP_LISTEN_PORT

public static final int DEFAULT_TCP_HTTP_LISTEN_PORT
See Also:
Constant Field Values

useInterfaces

protected java.util.Set<java.lang.String> useInterfaces

useAddresses

protected java.util.Set<java.lang.String> useAddresses

networkInterfaces

protected java.util.List<java.net.NetworkInterface> networkInterfaces

bindAddresses

protected java.util.List<java.net.InetAddress> bindAddresses

streamListenPort

protected int streamListenPort
Constructor Detail

NetworkAddressFactoryImpl

public NetworkAddressFactoryImpl()
                          throws InitializationException
Throws:
InitializationException

NetworkAddressFactoryImpl

public NetworkAddressFactoryImpl(int streamListenPort)
                          throws InitializationException
Throws:
InitializationException
Method Detail

getMulticastGroup

public java.net.InetAddress getMulticastGroup()
Specified by:
getMulticastGroup in interface NetworkAddressFactory

getMulticastPort

public int getMulticastPort()
Specified by:
getMulticastPort in interface NetworkAddressFactory

getStreamListenPort

public int getStreamListenPort()
Specified by:
getStreamListenPort in interface NetworkAddressFactory

getNetworkInterfaces

public java.net.NetworkInterface[] getNetworkInterfaces()
Specified by:
getNetworkInterfaces in interface NetworkAddressFactory

getBindAddresses

public java.net.InetAddress[] getBindAddresses()
Specified by:
getBindAddresses in interface NetworkAddressFactory

getHardwareAddress

public byte[] getHardwareAddress(java.net.InetAddress inetAddress)
Specified by:
getHardwareAddress in interface NetworkAddressFactory

getBroadcastAddress

public java.net.InetAddress getBroadcastAddress(java.net.InetAddress inetAddress)
Specified by:
getBroadcastAddress in interface NetworkAddressFactory

getLocalAddress

public java.net.InetAddress getLocalAddress(java.net.NetworkInterface networkInterface,
                                            boolean isIPv6,
                                            java.net.InetAddress remoteAddress)
Specified by:
getLocalAddress in interface NetworkAddressFactory

getInterfaceAddresses

protected java.util.List<java.net.InterfaceAddress> getInterfaceAddresses(java.net.NetworkInterface networkInterface)

getInetAddresses

protected java.util.List<java.net.InetAddress> getInetAddresses(java.net.NetworkInterface networkInterface)

getBindAddressInSubnetOf

protected java.net.InetAddress getBindAddressInSubnetOf(java.net.InetAddress inetAddress)

isInSubnet

protected boolean isInSubnet(byte[] ip,
                             byte[] network,
                             short prefix)

discoverNetworkInterfaces

protected void discoverNetworkInterfaces()
                                  throws InitializationException
Throws:
InitializationException

isUsableNetworkInterface

protected boolean isUsableNetworkInterface(java.net.NetworkInterface iface)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

discoverBindAddresses

protected void discoverBindAddresses()
                              throws InitializationException
Throws:
InitializationException

isUsableAddress

protected boolean isUsableAddress(java.net.NetworkInterface networkInterface,
                                  java.net.InetAddress address)


Copyright © 2010 Teleal GmbH, Switzerland. All Rights Reserved.