Package com.biglybt.core.util
Class AddressUtils
- java.lang.Object
-
- com.biglybt.core.util.AddressUtils
-
public class AddressUtils extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.util.List<java.lang.Object[]>
extra_ipv6_globals
checks if the provided address is a global-scope ipv6 unicast addressprivate static java.util.Map
host_map
private static boolean
i2p_is_lan_limit
private static ClientInstanceManager
instance_manager
static byte
LAN_LOCAL_MAYBE
static byte
LAN_LOCAL_NO
static byte
LAN_LOCAL_YES
private static TimerEventPeriodic
pa_timer
private static java.util.Set<java.net.InetSocketAddress>
pending_addresses
-
Constructor Summary
Constructors Constructor Description AddressUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
static void
addHostRedirect(java.lang.String from_host, java.lang.String to_host)
private static java.net.InetSocketAddress
adjustAddress(java.net.InetSocketAddress address, boolean ext_to_lan, int port_type)
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
getHostAddressForURL(java.net.InetSocketAddress address)
static java.lang.String
getHostNameNoResolve(java.net.InetSocketAddress address)
private static ClientInstanceManager
getInstanceManager()
static java.util.List<java.lang.String>
getLANAddresses(java.lang.String address)
private static java.lang.String
getShortForm(java.lang.String str)
static java.lang.String
getShortForm(java.net.Inet6Address a)
static java.net.InetSocketAddress
getSocketAddress(java.lang.String host)
static boolean
is6to4(java.net.InetAddress addr)
static boolean
isExplicitLANRateLimitAddress(java.lang.String ip)
static boolean
isExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
static boolean
isGlobalAddressV6(java.net.InetAddress addr)
static byte
isLANLocalAddress(java.lang.String address)
static byte
isLANLocalAddress(java.net.InetSocketAddress socket_address)
static boolean
isPotentialLiteralOrHostAddress(java.lang.String str)
static boolean
isTeredo(java.net.InetAddress addr)
static boolean
matchesCIDR(byte[] prefix, int len, byte[] bytes)
static boolean
matchesCIDR(java.lang.String address_mask, int len, java.net.InetAddress address)
static java.util.List<java.net.InetAddress>
pickBestGlobalV6Addresses(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 > teredostatic void
removeExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
static boolean
sameHost(java.net.InetSocketAddress a1, java.net.InetSocketAddress a2)
-
-
-
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
-
i2p_is_lan_limit
private static boolean i2p_is_lan_limit
-
instance_manager
private static volatile ClientInstanceManager instance_manager
-
host_map
private static java.util.Map host_map
-
pending_addresses
private static java.util.Set<java.net.InetSocketAddress> pending_addresses
-
pa_timer
private static TimerEventPeriodic pa_timer
-
extra_ipv6_globals
static volatile java.util.List<java.lang.Object[]> extra_ipv6_globals
checks if the provided address is a global-scope ipv6 unicast address
-
-
Method Detail
-
getInstanceManager
private static ClientInstanceManager getInstanceManager()
-
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)
-
adjustAddress
private static java.net.InetSocketAddress adjustAddress(java.net.InetSocketAddress address, boolean ext_to_lan, int port_type)
-
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.lang.String address)
-
addExplicitLANRateLimitAddress
public static void addExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
-
isExplicitLANRateLimitAddress
public static boolean isExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
-
isExplicitLANRateLimitAddress
public static boolean isExplicitLANRateLimitAddress(java.lang.String ip)
-
removeExplicitLANRateLimitAddress
public static void removeExplicitLANRateLimitAddress(java.net.InetSocketAddress address)
-
applyLANRateLimits
public static boolean applyLANRateLimits(java.net.InetSocketAddress address)
-
isGlobalAddressV6
public static boolean isGlobalAddressV6(java.net.InetAddress addr)
-
isTeredo
public static boolean isTeredo(java.net.InetAddress addr)
-
is6to4
public static boolean is6to4(java.net.InetAddress addr)
-
pickBestGlobalV6Addresses
public static java.util.List<java.net.InetAddress> pickBestGlobalV6Addresses(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:
- empty list 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)
-
sameHost
public static boolean sameHost(java.net.InetSocketAddress a1, java.net.InetSocketAddress a2)
-
getSocketAddress
public static java.net.InetSocketAddress getSocketAddress(java.lang.String host) throws java.net.UnknownHostException
- Throws:
java.net.UnknownHostException
-
getHostAddressForURL
public static java.lang.String getHostAddressForURL(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)
-
isPotentialLiteralOrHostAddress
public static boolean isPotentialLiteralOrHostAddress(java.lang.String str)
-
matchesCIDR
public static boolean matchesCIDR(java.lang.String address_mask, int len, java.net.InetAddress address)
-
matchesCIDR
public static boolean matchesCIDR(byte[] prefix, int len, byte[] bytes)
-
getShortForm
public static java.lang.String getShortForm(java.net.Inet6Address a)
-
getShortForm
private static java.lang.String getShortForm(java.lang.String str)
-
-