Package com.biglybt.core.pairing.impl
Class PairingManagerImpl
- java.lang.Object
-
- com.biglybt.core.pairing.impl.PairingManagerImpl
-
- All Implemented Interfaces:
PairingManager
,AEDiagnosticsEvidenceGenerator
public class PairingManagerImpl extends java.lang.Object implements PairingManager, AEDiagnosticsEvidenceGenerator
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
PairingManagerImpl.PairedNodeImpl
private static class
PairingManagerImpl.PairedService2Impl
protected class
PairingManagerImpl.PairedServiceImpl
private static class
PairingManagerImpl.PairingConnectionData2
protected class
PairingManagerImpl.TestServiceImpl
static interface
PairingManagerImpl.UIAdapter
-
Field Summary
-
Fields inherited from interface com.biglybt.core.pairing.PairingManager
CONFIG_SECTION_ID
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PairingManagerImpl()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(PairingManagerListener l)
PairedService
addService(java.lang.String sid, PairedServiceRequestHandler handler)
protected java.lang.String
allocateAccessCode(boolean updating)
protected void
deferUpdate(long millis)
protected void
doUpdate()
protected void
enableUpdates()
protected void
fireChanged()
void
generate(IndentWriter writer)
java.lang.String
getAccessCode()
void
getAccessCode(PairingManagerListener listener)
java.lang.String
getGroup()
java.lang.String
getLastServerError()
java.io.File
getQRCode()
java.lang.String
getReplacementAccessCode()
PairingManagerImpl.PairedServiceImpl
getService(java.lang.String sid)
private void
getServices()
java.net.URL
getServiceURL()
static PairingManager
getSingleton()
java.lang.String
getSRPStatus()
java.lang.String
getStatus()
protected java.lang.String
getString(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String name)
protected java.lang.String
getString(java.util.Set<java.lang.String> set)
java.lang.String
getTunnelServer()
java.net.URL
getWebRemoteURL()
boolean
handleLocalTunnel(TrackerWebPageRequest request, TrackerWebPageResponse response)
boolean
hasActionOutstanding()
protected void
initialise(Core _core)
boolean
isEnabled()
boolean
isSRPEnabled()
java.util.List<PairedNode>
listGroup()
java.util.List<PairedService>
lookupServices(java.lang.String access_code)
java.lang.String
peekAccessCode()
protected java.lang.String
readAccessCode()
private java.io.File
receiveQR(java.lang.String ac, java.util.Map<java.lang.String,java.lang.Object> response)
void
recordRequest(java.lang.String name, java.lang.String ip, boolean good)
protected void
remove(PairingManagerImpl.PairedServiceImpl service)
void
removeListener(PairingManagerListener l)
private java.util.Map<java.lang.String,java.lang.Object>
sendRequest(java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> payload)
void
setEnabled(boolean enabled)
void
setGroup(java.lang.String group)
protected void
setLastServerError(java.lang.String error, java.util.Map<java.lang.String,java.lang.Object> payload)
void
setSRPEnabled(boolean enabled)
void
setSRPPassword(char[] password)
protected void
setStatus(java.lang.String str)
protected void
sync(PairingManagerImpl.PairedServiceImpl service)
PairingTest
testService(java.lang.String sid, PairingTestListener listener)
protected java.net.InetAddress
updateAddress(java.net.InetAddress current, java.net.InetAddress latest, boolean v6)
protected void
updateGlobals(boolean is_updating)
protected void
updateNeeded()
protected void
updateSRPState()
protected void
waitForInitialisation()
protected void
writeAccessCode(java.lang.String ac)
-
-
-
Field Detail
-
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
-
DEFAULT_SERVICE_URL
private final java.lang.String DEFAULT_SERVICE_URL
-
DEFAULT_WEB_REMOTE_URL
private final java.net.URL DEFAULT_WEB_REMOTE_URL
-
DEFAULT_TUNNEL_SERVER
private final java.lang.String DEFAULT_TUNNEL_SERVER
-
_SERVICE_URL
private java.lang.String _SERVICE_URL
-
_WEB_REMOTE_URL
private java.net.URL _WEB_REMOTE_URL
-
_TUNNEL_SERVER
private java.lang.String _TUNNEL_SERVER
-
singleton
private static final PairingManagerImpl singleton
-
GLOBAL_UPDATE_PERIOD
private static final int GLOBAL_UPDATE_PERIOD
- See Also:
- Constant Field Values
-
CD_REFRESH_PERIOD
private static final int CD_REFRESH_PERIOD
- See Also:
- Constant Field Values
-
CD_REFRESH_TICKS
private static final int CD_REFRESH_TICKS
- See Also:
- Constant Field Values
-
CONNECT_TEST_PERIOD_MILLIS
private static final int CONNECT_TEST_PERIOD_MILLIS
- See Also:
- Constant Field Values
-
core
private Core core
-
param_enable
final BooleanParameter param_enable
-
param_ac_info
private final InfoParameter param_ac_info
-
param_status_info
private final InfoParameter param_status_info
-
param_last_error
private final InfoParameter param_last_error
-
param_view
private final HyperlinkParameter param_view
-
param_srp_enable
final BooleanParameter param_srp_enable
-
param_srp_state
private final LabelParameter param_srp_state
-
param_e_enable
private final BooleanParameter param_e_enable
-
param_public_ipv4
private final StringParameter param_public_ipv4
-
param_public_ipv6
private final StringParameter param_public_ipv6
-
param_host
private final StringParameter param_host
-
param_net_enable
private final BooleanParameter param_net_enable
-
param_local_ipv4
private final StringParameter param_local_ipv4
-
param_local_ipv6
private final StringParameter param_local_ipv6
-
param_icon_enable
private final BooleanParameter param_icon_enable
-
services
private final java.util.Map<java.lang.String,PairingManagerImpl.PairedServiceImpl> services
-
init_sem
private final AESemaphore init_sem
-
global_update_event
private TimerEventPeriodic global_update_event
-
current_v4
private java.net.InetAddress current_v4
-
current_v6
private java.net.InetAddress current_v6
-
local_v4
private java.lang.String local_v4
-
local_v6
private java.lang.String local_v6
-
ignored_v4
private java.util.Set<java.net.InetAddress> ignored_v4
-
ignored_v6
private java.util.Set<java.net.InetAddress> ignored_v6
-
tunnel_handler
private PairingManagerTunnelHandler tunnel_handler
-
update_outstanding
private boolean update_outstanding
-
updates_enabled
private boolean updates_enabled
-
MIN_UPDATE_PERIOD_DEFAULT
private static final int MIN_UPDATE_PERIOD_DEFAULT
- See Also:
- Constant Field Values
-
MAX_UPDATE_PERIOD_DEFAULT
private static final int MAX_UPDATE_PERIOD_DEFAULT
- See Also:
- Constant Field Values
-
min_update_period
private int min_update_period
-
max_update_period
private int max_update_period
-
dispatcher
private final AsyncDispatcher dispatcher
-
must_update_once
private boolean must_update_once
-
update_in_progress
private boolean update_in_progress
-
deferred_update_event
private TimerEvent deferred_update_event
-
last_update_time
private long last_update_time
-
consec_update_fails
private int consec_update_fails
-
qr_version
private long qr_version
-
last_message
private java.lang.String last_message
-
local_address_checks
final java.util.Map<java.lang.String,java.lang.Object[]> local_address_checks
-
listeners
private final CopyOnWriteList<PairingManagerListener> listeners
-
ui
private PairingManagerImpl.UIAdapter ui
-
tests_in_progress
private int tests_in_progress
-
-
Method Detail
-
getSingleton
public static PairingManager getSingleton()
-
getServices
private void getServices()
-
initialise
protected void initialise(Core _core)
-
waitForInitialisation
protected void waitForInitialisation() throws PairingException
- Throws:
PairingException
-
isEnabled
public boolean isEnabled()
- Specified by:
isEnabled
in interfacePairingManager
-
setEnabled
public void setEnabled(boolean enabled)
- Specified by:
setEnabled
in interfacePairingManager
-
isSRPEnabled
public boolean isSRPEnabled()
- Specified by:
isSRPEnabled
in interfacePairingManager
-
setSRPEnabled
public void setSRPEnabled(boolean enabled)
- Specified by:
setSRPEnabled
in interfacePairingManager
-
getServiceURL
public java.net.URL getServiceURL()
- Specified by:
getServiceURL
in interfacePairingManager
-
getWebRemoteURL
public java.net.URL getWebRemoteURL()
- Specified by:
getWebRemoteURL
in interfacePairingManager
-
getTunnelServer
public java.lang.String getTunnelServer()
- Specified by:
getTunnelServer
in interfacePairingManager
-
setGroup
public void setGroup(java.lang.String group)
- Specified by:
setGroup
in interfacePairingManager
-
getGroup
public java.lang.String getGroup()
- Specified by:
getGroup
in interfacePairingManager
-
listGroup
public java.util.List<PairedNode> listGroup() throws PairingException
- Specified by:
listGroup
in interfacePairingManager
- Throws:
PairingException
-
lookupServices
public java.util.List<PairedService> lookupServices(java.lang.String access_code) throws PairingException
- Specified by:
lookupServices
in interfacePairingManager
- Throws:
PairingException
-
setStatus
protected void setStatus(java.lang.String str)
-
getStatus
public java.lang.String getStatus()
- Specified by:
getStatus
in interfacePairingManager
-
getSRPStatus
public java.lang.String getSRPStatus()
- Specified by:
getSRPStatus
in interfacePairingManager
-
setLastServerError
protected void setLastServerError(java.lang.String error, java.util.Map<java.lang.String,java.lang.Object> payload)
-
getLastServerError
public java.lang.String getLastServerError()
- Specified by:
getLastServerError
in interfacePairingManager
-
hasActionOutstanding
public boolean hasActionOutstanding()
- Specified by:
hasActionOutstanding
in interfacePairingManager
-
readAccessCode
protected java.lang.String readAccessCode()
-
writeAccessCode
protected void writeAccessCode(java.lang.String ac)
-
receiveQR
private java.io.File receiveQR(java.lang.String ac, java.util.Map<java.lang.String,java.lang.Object> response)
-
getQRCode
public java.io.File getQRCode()
- Specified by:
getQRCode
in interfacePairingManager
-
allocateAccessCode
protected java.lang.String allocateAccessCode(boolean updating) throws PairingException
- Throws:
PairingException
-
peekAccessCode
public java.lang.String peekAccessCode()
- Specified by:
peekAccessCode
in interfacePairingManager
-
getAccessCode
public java.lang.String getAccessCode() throws PairingException
- Specified by:
getAccessCode
in interfacePairingManager
- Throws:
PairingException
-
getAccessCode
public void getAccessCode(PairingManagerListener listener) throws PairingException
- Throws:
PairingException
-
getReplacementAccessCode
public java.lang.String getReplacementAccessCode() throws PairingException
- Specified by:
getReplacementAccessCode
in interfacePairingManager
- Throws:
PairingException
-
addService
public PairedService addService(java.lang.String sid, PairedServiceRequestHandler handler)
- Specified by:
addService
in interfacePairingManager
-
getService
public PairingManagerImpl.PairedServiceImpl getService(java.lang.String sid)
- Specified by:
getService
in interfacePairingManager
-
remove
protected void remove(PairingManagerImpl.PairedServiceImpl service)
-
sync
protected void sync(PairingManagerImpl.PairedServiceImpl service)
-
updateAddress
protected java.net.InetAddress updateAddress(java.net.InetAddress current, java.net.InetAddress latest, boolean v6)
-
updateGlobals
protected void updateGlobals(boolean is_updating)
-
getString
protected java.lang.String getString(java.util.Set<java.lang.String> set)
-
enableUpdates
protected void enableUpdates()
-
updateNeeded
protected void updateNeeded()
-
doUpdate
protected void doUpdate()
-
deferUpdate
protected void deferUpdate(long millis)
-
sendRequest
private java.util.Map<java.lang.String,java.lang.Object> sendRequest(java.lang.String command, java.util.Map<java.lang.String,java.lang.Object> payload) throws PairingException
- Throws:
PairingException
-
testService
public PairingTest testService(java.lang.String sid, PairingTestListener listener) throws PairingException
- Specified by:
testService
in interfacePairingManager
- Throws:
PairingException
-
updateSRPState
protected void updateSRPState()
-
setSRPPassword
public void setSRPPassword(char[] password)
- Specified by:
setSRPPassword
in interfacePairingManager
-
handleLocalTunnel
public boolean handleLocalTunnel(TrackerWebPageRequest request, TrackerWebPageResponse response) throws java.io.IOException
- Specified by:
handleLocalTunnel
in interfacePairingManager
- Throws:
java.io.IOException
-
recordRequest
public void recordRequest(java.lang.String name, java.lang.String ip, boolean good)
- Specified by:
recordRequest
in interfacePairingManager
-
fireChanged
protected void fireChanged()
-
addListener
public void addListener(PairingManagerListener l)
- Specified by:
addListener
in interfacePairingManager
-
removeListener
public void removeListener(PairingManagerListener l)
- Specified by:
removeListener
in interfacePairingManager
-
getString
protected java.lang.String getString(java.util.Map<java.lang.String,java.lang.Object> map, java.lang.String name) throws java.io.IOException
- Throws:
java.io.IOException
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
-
-