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 Object
Method Summary |
abstract void |
addAndFirePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract void |
addPropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract boolean |
canPing()
|
abstract boolean |
canTraceRoute()
|
abstract String |
classifyRoute(InetAddress address)
|
abstract NetworkAdminProtocol |
createInboundProtocol(AzureusCore azureus_core,
int type,
int port)
|
abstract NetworkAdminSocksProxy |
createSocksProxy(String host,
int port,
String username,
String password)
|
abstract void |
generateDiagnostics(IndentWriter iw)
|
abstract InetAddress[] |
getAllBindAddresses(boolean include_wildcard)
|
abstract 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 String |
getBindStatus()
|
abstract NetworkAdminASN |
getCurrentASN()
|
abstract InetAddress |
getDefaultPublicAddress()
|
abstract InetAddress |
getDefaultPublicAddress(boolean peek)
|
abstract InetAddress |
getDefaultPublicAddressV6()
|
abstract InetAddress |
getDefaultPublicAddressV6(boolean peek)
|
abstract NetworkAdminHTTPProxy |
getHTTPProxy()
|
abstract NetworkAdminProtocol[] |
getInboundProtocols(AzureusCore azureus_core)
|
abstract NetworkAdminNetworkInterface[] |
getInterfaces()
|
abstract InetAddress |
getMultiHomedOutgoingRoundRobinBindAddress(InetAddress target)
|
abstract InetAddress[] |
getMultiHomedServiceBindAddresses(boolean forNIO)
|
abstract NetworkAdminNATDevice[] |
getNATDevices(AzureusCore azureus_core)
|
abstract String |
getNetworkInterfacesAsString()
|
abstract NetworkAdminProtocol[] |
getOutboundProtocols(AzureusCore azureus_core)
|
abstract void |
getRoutes(InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
|
InetAddress |
getSingleHomedServiceBindAddress()
|
abstract InetAddress |
getSingleHomedServiceBindAddress(int protocolVersion)
|
static NetworkAdmin |
getSingleton()
|
abstract NetworkAdminSocksProxy[] |
getSocksProxies()
|
abstract 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(InetAddress address)
ad-hoc query |
abstract void |
lookupASN(InetAddress address,
NetworkAdminASNListener listener)
|
abstract NetworkAdminASN |
lookupCurrentASN(InetAddress address)
Only call if the supplied address is believed to be the current public address |
abstract boolean |
mustBind()
|
abstract void |
pingTargets(InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
|
abstract void |
removePropertyChangeListener(NetworkAdminPropertyChangeListener listener)
|
abstract InetAddress[] |
resolveBindAddresses(String bind_to)
Given an interface name etc this will return the corresponding ip addresses |
abstract void |
runInitialChecks(AzureusCore azureus_core)
|
abstract 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 String PR_NETWORK_INTERFACES
- See Also:
- Constant Field Values
PR_DEFAULT_BIND_ADDRESS
public static final String PR_DEFAULT_BIND_ADDRESS
- See Also:
- Constant Field Values
PR_AS
public static final 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 String[] PR_NAMES
NetworkAdmin
public NetworkAdmin()
getSingleton
public static NetworkAdmin getSingleton()
getSingleHomedServiceBindAddress
public InetAddress getSingleHomedServiceBindAddress()
getSingleHomedServiceBindAddress
public abstract InetAddress getSingleHomedServiceBindAddress(int protocolVersion)
throws UnsupportedAddressTypeException
- Throws:
UnsupportedAddressTypeException
- when no address matching the v4/v6 requirements is found, always returns an address when auto is selected
getMultiHomedServiceBindAddresses
public abstract InetAddress[] getMultiHomedServiceBindAddresses(boolean forNIO)
getMultiHomedOutgoingRoundRobinBindAddress
public abstract InetAddress getMultiHomedOutgoingRoundRobinBindAddress(InetAddress target)
getNetworkInterfacesAsString
public abstract String getNetworkInterfacesAsString()
getAllBindAddresses
public abstract InetAddress[] getAllBindAddresses(boolean include_wildcard)
resolveBindAddresses
public abstract InetAddress[] resolveBindAddresses(String bind_to)
- Given an interface name etc this will return the corresponding ip addresses
- Parameters:
bind_to
-
- Returns:
guessRoutableBindAddress
public abstract InetAddress guessRoutableBindAddress()
getBindableAddresses
public abstract 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 IOException
- Throws:
IOException
mustBind
public abstract boolean mustBind()
hasMissingForcedBind
public abstract boolean hasMissingForcedBind()
getBindStatus
public abstract 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 InetAddress testProtocol(NetworkAdminProtocol protocol)
throws NetworkAdminException
- Throws:
NetworkAdminException
createSocksProxy
public abstract NetworkAdminSocksProxy createSocksProxy(String host,
int port,
String username,
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(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(InetAddress address)
throws NetworkAdminException
- ad-hoc query
- Parameters:
address
-
- Returns:
-
- Throws:
NetworkAdminException
lookupASN
public abstract void lookupASN(InetAddress address,
NetworkAdminASNListener listener)
classifyRoute
public abstract String classifyRoute(InetAddress address)
canTraceRoute
public abstract boolean canTraceRoute()
getRoutes
public abstract void getRoutes(InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
throws NetworkAdminException
- Throws:
NetworkAdminException
canPing
public abstract boolean canPing()
pingTargets
public abstract void pingTargets(InetAddress target,
int max_millis,
NetworkAdminRoutesListener listener)
throws NetworkAdminException
- Throws:
NetworkAdminException
getDefaultPublicAddress
public abstract InetAddress getDefaultPublicAddress()
getDefaultPublicAddress
public abstract InetAddress getDefaultPublicAddress(boolean peek)
getDefaultPublicAddressV6
public abstract InetAddress getDefaultPublicAddressV6()
getDefaultPublicAddressV6
public abstract 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)