Class TRTrackerServerPeerImpl
- java.lang.Object
-
- com.biglybt.core.tracker.server.impl.TRTrackerServerPeerImpl
-
- All Implemented Interfaces:
TRTrackerServerNatCheckerListener
,TRTrackerServerSimplePeer
,TRTrackerServerPeer
,TRTrackerServerPeerBase
,HostNameToIPResolverListener
public class TRTrackerServerPeerImpl extends java.lang.Object implements TRTrackerServerPeer, TRTrackerServerSimplePeer, HostNameToIPResolverListener, TRTrackerServerNatCheckerListener
-
-
Field Summary
Fields Modifier and Type Field Description private long
amount_left
private byte
az_ver
private boolean
biased
private byte
crypto_level
private boolean
download_completed
private long
downloaded
private short
http_port
private byte[]
ip
private byte[]
ip_bytes
private boolean
ip_override
private java.lang.String
ip_str
private int
key_hash_code
private long
last_contact_time
private byte
NAT_status
private DHTNetworkPosition
network_position
private HashWrapper
peer_id
private short
tcp_port
private long
timeout
private short
udp_port
private short
up_speed
private long
uploaded
private java.lang.Object
user_data
-
Fields inherited from interface com.biglybt.core.tracker.server.TRTrackerServerPeer
CRYPTO_NONE, CRYPTO_REQUIRED, CRYPTO_SUPPORTED, NAT_CHECK_DISABLED, NAT_CHECK_FAILED, NAT_CHECK_FAILED_AND_REPORTED, NAT_CHECK_INITIATED, NAT_CHECK_OK, NAT_CHECK_UNKNOWN
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
TRTrackerServerPeerImpl(HashWrapper _peer_id, int _key_hash_code, byte[] _ip, boolean _ip_override, int _tcp_port, int _udp_port, int _http_port, byte _crypto_level, byte _az_ver, long _last_contact_time, boolean _download_completed, byte _last_nat_status, int _up_speed, DHTNetworkPosition _network_position)
protected
TRTrackerServerPeerImpl(HashWrapper _peer_id, int _key_hash_code, byte[] _ip, boolean _ip_override, short _tcp_port, short _udp_port, short _http_port, byte _crypto_level, byte _az_ver, java.lang.String _ip_str, byte[] _ip_bytes, byte _NAT_status, long _timeout, long _uploaded, long _downloaded, long _amount_left, long _last_contact_time, boolean _download_completed, boolean _biased, short _up_speed)
Import constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map
export()
long
getAmountLeft()
byte
getAZVer()
byte
getCryptoLevel()
protected boolean
getDownloadCompleted()
long
getDownloaded()
int
getHTTPPort()
java.lang.String
getIP()
If asynchronous resolution of the address is required, this will return the non-resolved address until the async process completesbyte[]
getIPAddressBytes()
This will return in resolution of the address is not complete or failsbyte[]
getIPAsRead()
java.lang.String
getIPRaw()
protected int
getKeyHashCode()
protected long
getLastContactTime()
byte
getNATStatus()
returns the current NAT status of the peerDHTNetworkPosition
getNetworkPosition()
HashWrapper
getPeerId()
byte[]
getPeerID()
int
getSecsToLive()
protected java.lang.String
getString()
int
getTCPPort()
protected long
getTimeout()
int
getUDPPort()
long
getUploaded()
int
getUpSpeed()
java.lang.Object
getUserData(java.lang.Object key)
void
hostNameResolutionComplete(java.net.InetAddress address)
static TRTrackerServerPeerImpl
importPeer(java.util.Map map)
boolean
isBiased()
protected boolean
isIPOverride()
protected boolean
isNATStatusBad()
boolean
isSeed()
void
NATCheckComplete(boolean ok)
protected void
resolveAndCheckNAT()
void
setBiased(boolean _biased)
protected void
setDownloadCompleted()
protected void
setNATStatus(byte status)
protected void
setStats(long _uploaded, long _downloaded, long _amount_left)
protected void
setTimeout(long _now, long _timeout)
void
setUserData(java.lang.Object key, java.lang.Object data)
protected boolean
update(byte[] _ip, int _port, int _udp_port, int _http_port, byte _crypto_level, byte _az_ver, int _up_speed, DHTNetworkPosition _network_position)
-
-
-
Field Detail
-
peer_id
private final HashWrapper peer_id
-
key_hash_code
private final int key_hash_code
-
ip
private byte[] ip
-
ip_override
private final boolean ip_override
-
tcp_port
private short tcp_port
-
udp_port
private short udp_port
-
http_port
private short http_port
-
crypto_level
private byte crypto_level
-
az_ver
private byte az_ver
-
ip_str
private java.lang.String ip_str
-
ip_bytes
private byte[] ip_bytes
-
NAT_status
private byte NAT_status
-
timeout
private long timeout
-
uploaded
private long uploaded
-
downloaded
private long downloaded
-
amount_left
private long amount_left
-
last_contact_time
private long last_contact_time
-
download_completed
private boolean download_completed
-
biased
private boolean biased
-
up_speed
private short up_speed
-
network_position
private DHTNetworkPosition network_position
-
user_data
private java.lang.Object user_data
-
-
Constructor Detail
-
TRTrackerServerPeerImpl
protected TRTrackerServerPeerImpl(HashWrapper _peer_id, int _key_hash_code, byte[] _ip, boolean _ip_override, int _tcp_port, int _udp_port, int _http_port, byte _crypto_level, byte _az_ver, long _last_contact_time, boolean _download_completed, byte _last_nat_status, int _up_speed, DHTNetworkPosition _network_position)
-
TRTrackerServerPeerImpl
protected TRTrackerServerPeerImpl(HashWrapper _peer_id, int _key_hash_code, byte[] _ip, boolean _ip_override, short _tcp_port, short _udp_port, short _http_port, byte _crypto_level, byte _az_ver, java.lang.String _ip_str, byte[] _ip_bytes, byte _NAT_status, long _timeout, long _uploaded, long _downloaded, long _amount_left, long _last_contact_time, boolean _download_completed, boolean _biased, short _up_speed)
Import constructor
-
-
Method Detail
-
update
protected boolean update(byte[] _ip, int _port, int _udp_port, int _http_port, byte _crypto_level, byte _az_ver, int _up_speed, DHTNetworkPosition _network_position)
-
NATCheckComplete
public void NATCheckComplete(boolean ok)
- Specified by:
NATCheckComplete
in interfaceTRTrackerServerNatCheckerListener
-
setNATStatus
protected void setNATStatus(byte status)
-
getNATStatus
public byte getNATStatus()
Description copied from interface:TRTrackerServerPeer
returns the current NAT status of the peer- Specified by:
getNATStatus
in interfaceTRTrackerServerPeer
- Returns:
-
isNATStatusBad
protected boolean isNATStatusBad()
-
resolveAndCheckNAT
protected void resolveAndCheckNAT()
-
hostNameResolutionComplete
public void hostNameResolutionComplete(java.net.InetAddress address)
- Specified by:
hostNameResolutionComplete
in interfaceHostNameToIPResolverListener
- Parameters:
address
- null if resolution failed
-
getLastContactTime
protected long getLastContactTime()
-
getDownloadCompleted
protected boolean getDownloadCompleted()
-
setDownloadCompleted
protected void setDownloadCompleted()
-
isBiased
public boolean isBiased()
- Specified by:
isBiased
in interfaceTRTrackerServerPeer
- Specified by:
isBiased
in interfaceTRTrackerServerSimplePeer
-
setBiased
public void setBiased(boolean _biased)
- Specified by:
setBiased
in interfaceTRTrackerServerPeer
-
getPeerId
public HashWrapper getPeerId()
- Specified by:
getPeerId
in interfaceTRTrackerServerSimplePeer
-
getPeerID
public byte[] getPeerID()
- Specified by:
getPeerID
in interfaceTRTrackerServerPeer
-
getKeyHashCode
protected int getKeyHashCode()
-
getIPAsRead
public byte[] getIPAsRead()
- Specified by:
getIPAsRead
in interfaceTRTrackerServerSimplePeer
-
getIPRaw
public java.lang.String getIPRaw()
- Specified by:
getIPRaw
in interfaceTRTrackerServerPeer
-
getIP
public java.lang.String getIP()
If asynchronous resolution of the address is required, this will return the non-resolved address until the async process completes- Specified by:
getIP
in interfaceTRTrackerServerPeerBase
-
isIPOverride
protected boolean isIPOverride()
-
getIPAddressBytes
public byte[] getIPAddressBytes()
This will return in resolution of the address is not complete or fails- Specified by:
getIPAddressBytes
in interfaceTRTrackerServerSimplePeer
- Returns:
-
getTCPPort
public int getTCPPort()
- Specified by:
getTCPPort
in interfaceTRTrackerServerPeerBase
- Specified by:
getTCPPort
in interfaceTRTrackerServerSimplePeer
-
getUDPPort
public int getUDPPort()
- Specified by:
getUDPPort
in interfaceTRTrackerServerSimplePeer
-
getHTTPPort
public int getHTTPPort()
- Specified by:
getHTTPPort
in interfaceTRTrackerServerPeerBase
- Specified by:
getHTTPPort
in interfaceTRTrackerServerSimplePeer
-
getCryptoLevel
public byte getCryptoLevel()
- Specified by:
getCryptoLevel
in interfaceTRTrackerServerSimplePeer
-
getAZVer
public byte getAZVer()
- Specified by:
getAZVer
in interfaceTRTrackerServerSimplePeer
-
getUpSpeed
public int getUpSpeed()
- Specified by:
getUpSpeed
in interfaceTRTrackerServerSimplePeer
-
getNetworkPosition
public DHTNetworkPosition getNetworkPosition()
- Specified by:
getNetworkPosition
in interfaceTRTrackerServerSimplePeer
-
setTimeout
protected void setTimeout(long _now, long _timeout)
-
getTimeout
protected long getTimeout()
-
getSecsToLive
public int getSecsToLive()
- Specified by:
getSecsToLive
in interfaceTRTrackerServerPeerBase
-
setStats
protected void setStats(long _uploaded, long _downloaded, long _amount_left)
-
getUploaded
public long getUploaded()
- Specified by:
getUploaded
in interfaceTRTrackerServerPeer
-
getDownloaded
public long getDownloaded()
- Specified by:
getDownloaded
in interfaceTRTrackerServerPeer
-
getAmountLeft
public long getAmountLeft()
- Specified by:
getAmountLeft
in interfaceTRTrackerServerPeer
-
isSeed
public boolean isSeed()
- Specified by:
isSeed
in interfaceTRTrackerServerSimplePeer
-
setUserData
public void setUserData(java.lang.Object key, java.lang.Object data)
- Specified by:
setUserData
in interfaceTRTrackerServerPeer
-
getUserData
public java.lang.Object getUserData(java.lang.Object key)
- Specified by:
getUserData
in interfaceTRTrackerServerPeer
-
export
public java.util.Map export()
- Specified by:
export
in interfaceTRTrackerServerPeer
-
importPeer
public static TRTrackerServerPeerImpl importPeer(java.util.Map map)
-
getString
protected java.lang.String getString()
-
-