org.gudy.azureus2.core3.util
Class AddressUtils

java.lang.Object
  extended by org.gudy.azureus2.core3.util.AddressUtils

public class AddressUtils
extends java.lang.Object


Field Summary
static byte LAN_LOCAL_MAYBE
           
static byte LAN_LOCAL_NO
           
static byte LAN_LOCAL_YES
           
 
Constructor Summary
AddressUtils()
           
 
Method Summary
static void addHostRedirect(java.lang.String from_host, java.lang.String to_host)
           
static void addLANRateLimitAddress(java.net.InetAddress address)
           
static java.net.InetSocketAddress adjustDHTAddress(java.net.InetSocketAddress address, boolean ext_to_lan)
           
static java.net.InetSocketAddress adjustTCPAddress(java.net.InetSocketAddress address, boolean ext_to_lan)
           
static java.net.InetSocketAddress adjustUDPAddress(java.net.InetSocketAddress address, boolean ext_to_lan)
           
static java.net.URL adjustURL(java.net.URL url)
           
static boolean applyLANRateLimits(java.net.InetSocketAddress address)
           
static java.lang.String convertToShortForm(java.lang.String address)
           
static byte[] getAddressBytes(java.net.InetSocketAddress address)
           
static java.net.InetAddress[] getAllByName(java.lang.String host)
           
static java.net.InetAddress getByName(java.lang.String host)
           
static java.lang.String getHostAddress(java.net.InetSocketAddress address)
           
static java.lang.String getHostNameNoResolve(java.net.InetSocketAddress address)
           
static java.util.List<java.lang.String> getLANAddresses(java.lang.String address)
           
static boolean is6to4(java.net.InetAddress addr)
           
static boolean isGlobalAddressV6(java.net.InetAddress addr)
          checks if the provided address is a global-scope ipv6 unicast address
static byte isLANLocalAddress(java.net.InetAddress address)
           
static byte isLANLocalAddress(java.net.InetSocketAddress socket_address)
           
static byte isLANLocalAddress(java.lang.String address)
           
static boolean isTeredo(java.net.InetAddress addr)
           
static java.net.InetAddress pickBestGlobalV6Address(java.util.List<java.net.InetAddress> addrs)
          picks 1 global-scoped address out of a list based on the heuristic "true" ipv6/tunnel broker > 6to4 > teredo
static void removeLANRateLimitAddress(java.net.InetAddress address)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LAN_LOCAL_MAYBE

public static final byte LAN_LOCAL_MAYBE
See Also:
Constant Field Values

LAN_LOCAL_YES

public static final byte LAN_LOCAL_YES
See Also:
Constant Field Values

LAN_LOCAL_NO

public static final byte LAN_LOCAL_NO
See Also:
Constant Field Values
Constructor Detail

AddressUtils

public AddressUtils()
Method Detail

adjustURL

public static java.net.URL adjustURL(java.net.URL url)

addHostRedirect

public static void addHostRedirect(java.lang.String from_host,
                                   java.lang.String to_host)

adjustTCPAddress

public static java.net.InetSocketAddress adjustTCPAddress(java.net.InetSocketAddress address,
                                                          boolean ext_to_lan)

adjustUDPAddress

public static java.net.InetSocketAddress adjustUDPAddress(java.net.InetSocketAddress address,
                                                          boolean ext_to_lan)

adjustDHTAddress

public static java.net.InetSocketAddress adjustDHTAddress(java.net.InetSocketAddress address,
                                                          boolean ext_to_lan)

getLANAddresses

public static java.util.List<java.lang.String> getLANAddresses(java.lang.String address)

isLANLocalAddress

public static byte isLANLocalAddress(java.net.InetSocketAddress socket_address)

isLANLocalAddress

public static byte isLANLocalAddress(java.net.InetAddress address)

isLANLocalAddress

public static byte isLANLocalAddress(java.lang.String address)

addLANRateLimitAddress

public static void addLANRateLimitAddress(java.net.InetAddress address)

removeLANRateLimitAddress

public static void removeLANRateLimitAddress(java.net.InetAddress address)

applyLANRateLimits

public static boolean applyLANRateLimits(java.net.InetSocketAddress address)

isGlobalAddressV6

public static boolean isGlobalAddressV6(java.net.InetAddress addr)
checks if the provided address is a global-scope ipv6 unicast address


isTeredo

public static boolean isTeredo(java.net.InetAddress addr)

is6to4

public static boolean is6to4(java.net.InetAddress addr)

pickBestGlobalV6Address

public static java.net.InetAddress pickBestGlobalV6Address(java.util.List<java.net.InetAddress> addrs)
picks 1 global-scoped address out of a list based on the heuristic "true" ipv6/tunnel broker > 6to4 > teredo

Returns:
null if no proper v6 address is found, best one otherwise

getByName

public static java.net.InetAddress getByName(java.lang.String host)
                                      throws java.net.UnknownHostException
Throws:
java.net.UnknownHostException

getAllByName

public static java.net.InetAddress[] getAllByName(java.lang.String host)
                                           throws java.net.UnknownHostException
Throws:
java.net.UnknownHostException

getAddressBytes

public static byte[] getAddressBytes(java.net.InetSocketAddress address)

getHostAddress

public static java.lang.String getHostAddress(java.net.InetSocketAddress address)

getHostNameNoResolve

public static java.lang.String getHostNameNoResolve(java.net.InetSocketAddress address)

convertToShortForm

public static java.lang.String convertToShortForm(java.lang.String address)