com.aelitis.azureus.core.networkmanager.admin
Class NetworkAdmin
java.lang.Object
com.aelitis.azureus.core.networkmanager.admin.NetworkAdmin
- Direct Known Subclasses:
- NetworkAdminImpl
public abstract class NetworkAdmin
- extends java.lang.Object
Method Summary |
abstract void |
addAndFirePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract void |
addPropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract boolean |
canPing()
|
abstract boolean |
canTraceRoute()
|
abstract java.lang.String |
classifyRoute(java.net.InetAddress address)
|
abstract NetworkAdminProtocol |
createInboundProtocol(AzureusCore azureus_core,
int type,
int port)
|
abstract NetworkAdminSocksProxy |
createSocksProxy(java.lang.String host,
int port,
java.lang.String username,
java.lang.String password)
|
abstract void |
generateDiagnostics(IndentWriter iw)
|
abstract java.net.InetAddress[] |
getAllBindAddresses(boolean include_wildcard)
|
abstract java.net.InetAddress[] |
getBindableAddresses()
Returns the list of current addresses that can successfully be bound
to with an ephemeral port |
abstract int |
getBindablePort(int preferred_port)
|
abstract java.lang.String |
getBindStatus()
|
abstract NetworkAdminASN |
getCurrentASN()
|
abstract java.net.InetAddress |
getDefaultPublicAddress()
|
abstract java.net.InetAddress |
getDefaultPublicAddress(boolean peek)
|
abstract java.net.InetAddress |
getDefaultPublicAddressV6()
|
abstract java.net.InetAddress |
getDefaultPublicAddressV6(boolean peek)
|
abstract NetworkAdminHTTPProxy |
getHTTPProxy()
|
abstract NetworkAdminProtocol[] |
getInboundProtocols(AzureusCore azureus_core)
|
abstract NetworkAdminNetworkInterface[] |
getInterfaces()
|
abstract java.net.InetAddress |
getMultiHomedOutgoingRoundRobinBindAddress(java.net.InetAddress target)
|
abstract java.net.InetAddress[] |
getMultiHomedServiceBindAddresses(boolean forNIO)
|
abstract NetworkAdminNATDevice[] |
getNATDevices(AzureusCore azureus_core)
|
abstract java.lang.String |
getNetworkInterfacesAsString()
|
abstract NetworkAdminProtocol[] |
getOutboundProtocols(AzureusCore azureus_core)
|
abstract void |
getRoutes(java.net.InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
|
java.net.InetAddress |
getSingleHomedServiceBindAddress()
|
abstract java.net.InetAddress |
getSingleHomedServiceBindAddress(int protocolVersion)
|
static NetworkAdmin |
getSingleton()
|
abstract NetworkAdminSocksProxy[] |
getSocksProxies()
|
abstract java.net.InetAddress |
guessRoutableBindAddress()
|
abstract boolean |
hasDHTIPV6()
|
abstract boolean |
hasIPV4Potential()
|
boolean |
hasIPV6Potential()
|
abstract boolean |
hasIPV6Potential(boolean forNIO)
|
abstract boolean |
hasMissingForcedBind()
|
abstract boolean |
isIPV6Enabled()
|
abstract boolean |
isSocksActive()
|
abstract void |
logNATStatus(IndentWriter iw)
|
abstract NetworkAdminASN |
lookupASN(java.net.InetAddress address)
ad-hoc query |
abstract void |
lookupASN(java.net.InetAddress address,
NetworkAdminASNListener listener)
|
abstract NetworkAdminASN |
lookupCurrentASN(java.net.InetAddress address)
Only call if the supplied address is believed to be the current public address |
abstract boolean |
mustBind()
|
abstract void |
pingTargets(java.net.InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
|
abstract void |
removePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract java.net.InetAddress[] |
resolveBindAddresses(java.lang.String bind_to)
Given an interface name etc this will return the corresponding ip addresses |
abstract void |
runInitialChecks(AzureusCore azureus_core)
|
abstract java.net.InetAddress |
testProtocol(NetworkAdminProtocol protocol)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PR_NETWORK_INTERFACES
public static final java.lang.String PR_NETWORK_INTERFACES
- See Also:
- Constant Field Values
PR_DEFAULT_BIND_ADDRESS
public static final java.lang.String PR_DEFAULT_BIND_ADDRESS
- See Also:
- Constant Field Values
PR_AS
public static final java.lang.String PR_AS
- See Also:
- Constant Field Values
IP_PROTOCOL_VERSION_AUTO
public static final int IP_PROTOCOL_VERSION_AUTO
- See Also:
- Constant Field Values
IP_PROTOCOL_VERSION_REQUIRE_V4
public static final int IP_PROTOCOL_VERSION_REQUIRE_V4
- See Also:
- Constant Field Values
IP_PROTOCOL_VERSION_REQUIRE_V6
public static final int IP_PROTOCOL_VERSION_REQUIRE_V6
- See Also:
- Constant Field Values
PR_NAMES
public static final java.lang.String[] PR_NAMES
NetworkAdmin
public NetworkAdmin()
getSingleton
public static NetworkAdmin getSingleton()
getSingleHomedServiceBindAddress
public java.net.InetAddress getSingleHomedServiceBindAddress()
getSingleHomedServiceBindAddress
public abstract java.net.InetAddress getSingleHomedServiceBindAddress(int protocolVersion)
throws java.nio.channels.UnsupportedAddressTypeException
- Throws:
java.nio.channels.UnsupportedAddressTypeException
- when no address matching the v4/v6 requirements is found, always returns an address when auto is selected
getMultiHomedServiceBindAddresses
public abstract java.net.InetAddress[] getMultiHomedServiceBindAddresses(boolean forNIO)
getMultiHomedOutgoingRoundRobinBindAddress
public abstract java.net.InetAddress getMultiHomedOutgoingRoundRobinBindAddress(java.net.InetAddress target)
getNetworkInterfacesAsString
public abstract java.lang.String getNetworkInterfacesAsString()
getAllBindAddresses
public abstract java.net.InetAddress[] getAllBindAddresses(boolean include_wildcard)
resolveBindAddresses
public abstract java.net.InetAddress[] resolveBindAddresses(java.lang.String bind_to)
- Given an interface name etc this will return the corresponding ip addresses
- Parameters:
bind_to
-
- Returns:
guessRoutableBindAddress
public abstract java.net.InetAddress guessRoutableBindAddress()
getBindableAddresses
public abstract java.net.InetAddress[] getBindableAddresses()
- Returns the list of current addresses that can successfully be bound
to with an ephemeral port
- Returns:
getBindablePort
public abstract int getBindablePort(int preferred_port)
throws java.io.IOException
- Throws:
java.io.IOException
mustBind
public abstract boolean mustBind()
hasMissingForcedBind
public abstract boolean hasMissingForcedBind()
getBindStatus
public abstract java.lang.String getBindStatus()
getInterfaces
public abstract NetworkAdminNetworkInterface[] getInterfaces()
hasIPV4Potential
public abstract boolean hasIPV4Potential()
isIPV6Enabled
public abstract boolean isIPV6Enabled()
hasIPV6Potential
public boolean hasIPV6Potential()
hasIPV6Potential
public abstract boolean hasIPV6Potential(boolean forNIO)
getOutboundProtocols
public abstract NetworkAdminProtocol[] getOutboundProtocols(AzureusCore azureus_core)
getInboundProtocols
public abstract NetworkAdminProtocol[] getInboundProtocols(AzureusCore azureus_core)
createInboundProtocol
public abstract NetworkAdminProtocol createInboundProtocol(AzureusCore azureus_core,
int type,
int port)
testProtocol
public abstract java.net.InetAddress testProtocol(NetworkAdminProtocol protocol)
throws NetworkAdminException
- Throws:
NetworkAdminException
createSocksProxy
public abstract NetworkAdminSocksProxy createSocksProxy(java.lang.String host,
int port,
java.lang.String username,
java.lang.String password)
isSocksActive
public abstract boolean isSocksActive()
getSocksProxies
public abstract NetworkAdminSocksProxy[] getSocksProxies()
getHTTPProxy
public abstract NetworkAdminHTTPProxy getHTTPProxy()
getNATDevices
public abstract NetworkAdminNATDevice[] getNATDevices(AzureusCore azureus_core)
lookupCurrentASN
public abstract NetworkAdminASN lookupCurrentASN(java.net.InetAddress address)
throws NetworkAdminException
- Only call if the supplied address is believed to be the current public address
- Parameters:
address
-
- Returns:
-
- Throws:
NetworkAdminException
getCurrentASN
public abstract NetworkAdminASN getCurrentASN()
lookupASN
public abstract NetworkAdminASN lookupASN(java.net.InetAddress address)
throws NetworkAdminException
- ad-hoc query
- Parameters:
address
-
- Returns:
-
- Throws:
NetworkAdminException
lookupASN
public abstract void lookupASN(java.net.InetAddress address,
NetworkAdminASNListener listener)
classifyRoute
public abstract java.lang.String classifyRoute(java.net.InetAddress address)
canTraceRoute
public abstract boolean canTraceRoute()
getRoutes
public abstract void getRoutes(java.net.InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
throws NetworkAdminException
- Throws:
NetworkAdminException
canPing
public abstract boolean canPing()
pingTargets
public abstract void pingTargets(java.net.InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
throws NetworkAdminException
- Throws:
NetworkAdminException
getDefaultPublicAddress
public abstract java.net.InetAddress getDefaultPublicAddress()
getDefaultPublicAddress
public abstract java.net.InetAddress getDefaultPublicAddress(boolean peek)
getDefaultPublicAddressV6
public abstract java.net.InetAddress getDefaultPublicAddressV6()
getDefaultPublicAddressV6
public abstract java.net.InetAddress getDefaultPublicAddressV6(boolean peek)
hasDHTIPV6
public abstract boolean hasDHTIPV6()
addPropertyChangeListener
public abstract void addPropertyChangeListener(NetworkAdminPropertyChangeListener listener)
addAndFirePropertyChangeListener
public abstract void addAndFirePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
removePropertyChangeListener
public abstract void removePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
runInitialChecks
public abstract void runInitialChecks(AzureusCore azureus_core)
logNATStatus
public abstract void logNATStatus(IndentWriter iw)
generateDiagnostics
public abstract void generateDiagnostics(IndentWriter iw)