Class ClientInstanceManagerImpl
java.lang.Object
com.biglybt.core.instancemanager.impl.ClientInstanceManagerImpl
- All Implemented Interfaces:
ClientInstanceManager
,MCGroupAdapter
public class ClientInstanceManagerImpl
extends Object
implements ClientInstanceManager, MCGroupAdapter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
protected static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ClientInstanceManagerAdapter
private static final long
private static final AEMonitor
(package private) boolean
private static final boolean
private CopyOnWriteSet
<InetSocketAddress> private List
<InetSocketAddress> private boolean
private boolean
(package private) final AESemaphore
private boolean
private final IpFilter
private Set
<InetAddress> private final List
private static final LogIDs
private static final int
private MCGroup
private static final String
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
(package private) final ClientMyInstanceImpl
private final Map
<String, ClientOtherInstanceImpl> (package private) final List
<ClientInstanceManagerImpl.Request> (package private) long
private static ClientInstanceManagerImpl
private Map
<InetSocketAddress, InetSocketAddress> private Map
<InetSocketAddress, InetSocketAddress> (package private) final AEMonitor
private Map
<InetSocketAddress, InetSocketAddress> private Map
<InetSocketAddress, InetSocketAddress> private Map
<InetSocketAddress, InetSocketAddress> private Map
<InetSocketAddress, InetSocketAddress> Fields inherited from interface com.biglybt.core.instancemanager.ClientInstanceManager
AT_TCP, AT_UDP, AT_UDP_NON_DATA
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAddresses
(ClientInstance inst) void
boolean
addInstance
(InetAddress explicit_address) protected boolean
addInstanceSupport
(InetAddress explicit_address, boolean force_send_alive) boolean
addLANSubnet
(String subnet) void
protected ClientOtherInstanceImpl
protected void
protected void
long
private MCGroup
getExternalAddress
(InetSocketAddress lan_address, int address_type) boolean
getLANAddress
(InetSocketAddress external_address, int address_type) int
getOtherInstanceCount
(boolean block_if_needed) static ClientInstanceManager
protected void
informAdded
(ClientInstance inst) protected void
informChanged
(ClientInstance inst) protected void
protected void
void
void
interfaceChanged
(NetworkInterface network_interface) protected boolean
boolean
boolean
boolean
void
protected Map
<InetSocketAddress, InetSocketAddress> modifyAddress
(Map<InetSocketAddress, InetSocketAddress> map, InetSocketAddress key, InetSocketAddress value, boolean add) protected void
modifyAddresses
(InetAddress internal_address, InetAddress external_address, int tcp, int udp, int udp2, boolean add) void
received
(NetworkInterface network_interface, InetAddress local_address, InetSocketAddress originator, byte[] data, int length) protected void
void
void
protected Map
requestReceived
(ClientInstance instance, Map body) protected void
search()
protected void
protected void
sendAlive
(InetSocketAddress target) protected void
protected void
sendByeBye
(InetSocketAddress target) protected void
sendMessage
(int type) protected void
sendMessage
(int type, InetSocketAddress target) protected void
sendMessage
(int type, Map body) protected void
sendMessage
(int type, Map body, InetSocketAddress member) protected Map
sendRequest
(int type) protected Map
sendRequest
(int type, Map body) void
setIncludeWellKnownLANs
(boolean include) private InetSocketAddress
setPort
(InetSocketAddress isa, int port) void
track
(byte[] hash, ClientInstanceTracked.TrackTarget target) void
private void
-
Field Details
-
DISABLE_LAN_LOCAL_STUFF
private static final boolean DISABLE_LAN_LOCAL_STUFF- See Also:
-
LOGID
-
MC_GROUP_ADDRESS
- See Also:
-
MC_GROUP_PORT
private static final int MC_GROUP_PORT- See Also:
-
MC_CONTROL_PORT
private static final int MC_CONTROL_PORT- See Also:
-
MT_VERSION
private static final int MT_VERSION- See Also:
-
MT_ALIVE
private static final int MT_ALIVE- See Also:
-
MT_BYE
private static final int MT_BYE- See Also:
-
MT_REQUEST
private static final int MT_REQUEST- See Also:
-
MT_REPLY
private static final int MT_REPLY- See Also:
-
MT_REQUEST_SEARCH
private static final int MT_REQUEST_SEARCH- See Also:
-
MT_REQUEST_TRACK
private static final int MT_REQUEST_TRACK- See Also:
-
ALIVE_PERIOD
private static final long ALIVE_PERIOD- See Also:
-
singleton
-
listeners
-
class_mon
-
data_socks_proxies
-
adapter
-
mc_group
-
search_id_next
long search_id_next -
requests
-
my_instance
-
other_instances
-
initialised
private volatile boolean initialised -
ip_filter
-
tcp_lan_to_ext
-
udp_lan_to_ext
-
udp2_lan_to_ext
-
tcp_ext_to_lan
-
udp_ext_to_lan
-
udp2_ext_to_lan
-
lan_addresses
-
lan_subnets
-
explicit_peers
-
explicit_addresses
-
include_well_known_lans
private volatile boolean include_well_known_lans -
initial_search_sem
-
init_wait_abandoned
private boolean init_wait_abandoned -
this_mon
-
closing
boolean closing
-
-
Constructor Details
-
ClientInstanceManagerImpl
-
-
Method Details
-
getSingleton
-
initialize
public void initialize()- Specified by:
initialize
in interfaceClientInstanceManager
-
getDummyMCGroup
-
getClockSkew
public long getClockSkew()- Specified by:
getClockSkew
in interfaceClientInstanceManager
-
trace
- Specified by:
trace
in interfaceMCGroupAdapter
-
log
- Specified by:
log
in interfaceMCGroupAdapter
-
isInitialized
public boolean isInitialized()- Specified by:
isInitialized
in interfaceClientInstanceManager
-
updateNow
public void updateNow()- Specified by:
updateNow
in interfaceClientInstanceManager
-
isClosing
protected boolean isClosing() -
sendAlive
protected void sendAlive() -
sendAlive
-
sendByeBye
protected void sendByeBye() -
sendByeBye
-
sendMessage
protected void sendMessage(int type) -
sendMessage
-
sendMessage
-
sendMessage
-
received
public void received(NetworkInterface network_interface, InetAddress local_address, InetSocketAddress originator, byte[] data, int length) - Specified by:
received
in interfaceMCGroupAdapter
-
requestReceived
-
interfaceChanged
- Specified by:
interfaceChanged
in interfaceMCGroupAdapter
-
checkAdd
-
checkRemove
-
getMyInstance
- Specified by:
getMyInstance
in interfaceClientInstanceManager
-
search
protected void search() -
getOtherInstanceCount
public int getOtherInstanceCount(boolean block_if_needed) - Specified by:
getOtherInstanceCount
in interfaceClientInstanceManager
-
getOtherInstances
- Specified by:
getOtherInstances
in interfaceClientInstanceManager
-
waitForInit
private void waitForInit() -
addAddresses
-
removeAddresses
-
modifyAddresses
protected void modifyAddresses(InetAddress internal_address, InetAddress external_address, int tcp, int udp, int udp2, boolean add) -
modifyAddress
protected Map<InetSocketAddress,InetSocketAddress> modifyAddress(Map<InetSocketAddress, InetSocketAddress> map, InetSocketAddress key, InetSocketAddress value, boolean add) -
getLANAddress
- Specified by:
getLANAddress
in interfaceClientInstanceManager
-
getExternalAddress
- Specified by:
getExternalAddress
in interfaceClientInstanceManager
-
isLANAddress
- Specified by:
isLANAddress
in interfaceClientInstanceManager
-
addExplicitLANAddress
- Specified by:
addExplicitLANAddress
in interfaceClientInstanceManager
-
isExplicitLANAddress
- Specified by:
isExplicitLANAddress
in interfaceClientInstanceManager
-
removeExplicitLANAddress
- Specified by:
removeExplicitLANAddress
in interfaceClientInstanceManager
-
setPort
-
addLANSubnet
- Specified by:
addLANSubnet
in interfaceClientInstanceManager
- Throws:
PatternSyntaxException
-
setIncludeWellKnownLANs
public void setIncludeWellKnownLANs(boolean include) - Specified by:
setIncludeWellKnownLANs
in interfaceClientInstanceManager
-
getIncludeWellKnownLANs
public boolean getIncludeWellKnownLANs()- Specified by:
getIncludeWellKnownLANs
in interfaceClientInstanceManager
-
addInstance
- Specified by:
addInstance
in interfaceClientInstanceManager
-
addInstanceSupport
-
track
- Specified by:
track
in interfaceClientInstanceManager
-
checkTimeouts
protected void checkTimeouts() -
informRemoved
-
informAdded
-
informChanged
-
informTracked
-
sendRequest
-
sendRequest
-
addListener
- Specified by:
addListener
in interfaceClientInstanceManager
-
removeListener
- Specified by:
removeListener
in interfaceClientInstanceManager
-