org.gudy.azureus2.core3.tracker.server.impl
Class TRTrackerServerPeerImpl

java.lang.Object
  extended by org.gudy.azureus2.core3.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 inherited from interface org.gudy.azureus2.core3.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
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
 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 completes
 byte[] getIPAddressBytes()
          This will return in resolution of the address is not complete or fails
 byte[] getIPAsRead()
           
 java.lang.String getIPRaw()
           
protected  int getKeyHashCode()
           
protected  long getLastContactTime()
           
 byte getNATStatus()
          returns the current NAT status of the peer
 DHTNetworkPosition 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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 interface TRTrackerServerNatCheckerListener

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 interface TRTrackerServerPeer
Returns:

isNATStatusBad

protected boolean isNATStatusBad()

resolveAndCheckNAT

protected void resolveAndCheckNAT()

hostNameResolutionComplete

public void hostNameResolutionComplete(java.net.InetAddress address)
Specified by:
hostNameResolutionComplete in interface HostNameToIPResolverListener
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 interface TRTrackerServerSimplePeer
Specified by:
isBiased in interface TRTrackerServerPeer

setBiased

public void setBiased(boolean _biased)
Specified by:
setBiased in interface TRTrackerServerPeer

getPeerId

public HashWrapper getPeerId()
Specified by:
getPeerId in interface TRTrackerServerSimplePeer

getPeerID

public byte[] getPeerID()
Specified by:
getPeerID in interface TRTrackerServerPeer

getKeyHashCode

protected int getKeyHashCode()

getIPAsRead

public byte[] getIPAsRead()
Specified by:
getIPAsRead in interface TRTrackerServerSimplePeer

getIPRaw

public java.lang.String getIPRaw()
Specified by:
getIPRaw in interface TRTrackerServerPeer

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 interface TRTrackerServerPeerBase

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 interface TRTrackerServerSimplePeer
Returns:

getTCPPort

public int getTCPPort()
Specified by:
getTCPPort in interface TRTrackerServerSimplePeer
Specified by:
getTCPPort in interface TRTrackerServerPeerBase

getUDPPort

public int getUDPPort()
Specified by:
getUDPPort in interface TRTrackerServerSimplePeer

getHTTPPort

public int getHTTPPort()
Specified by:
getHTTPPort in interface TRTrackerServerSimplePeer
Specified by:
getHTTPPort in interface TRTrackerServerPeerBase

getCryptoLevel

public byte getCryptoLevel()
Specified by:
getCryptoLevel in interface TRTrackerServerSimplePeer

getAZVer

public byte getAZVer()
Specified by:
getAZVer in interface TRTrackerServerSimplePeer

getUpSpeed

public int getUpSpeed()
Specified by:
getUpSpeed in interface TRTrackerServerSimplePeer

getNetworkPosition

public DHTNetworkPosition getNetworkPosition()
Specified by:
getNetworkPosition in interface TRTrackerServerSimplePeer

setTimeout

protected void setTimeout(long _now,
                          long _timeout)

getTimeout

protected long getTimeout()

getSecsToLive

public int getSecsToLive()
Specified by:
getSecsToLive in interface TRTrackerServerPeerBase

setStats

protected void setStats(long _uploaded,
                        long _downloaded,
                        long _amount_left)

getUploaded

public long getUploaded()
Specified by:
getUploaded in interface TRTrackerServerPeer

getDownloaded

public long getDownloaded()
Specified by:
getDownloaded in interface TRTrackerServerPeer

getAmountLeft

public long getAmountLeft()
Specified by:
getAmountLeft in interface TRTrackerServerPeer

isSeed

public boolean isSeed()
Specified by:
isSeed in interface TRTrackerServerSimplePeer

setUserData

public void setUserData(java.lang.Object key,
                        java.lang.Object data)
Specified by:
setUserData in interface TRTrackerServerPeer

getUserData

public java.lang.Object getUserData(java.lang.Object key)
Specified by:
getUserData in interface TRTrackerServerPeer

export

public java.util.Map export()
Specified by:
export in interface TRTrackerServerPeer

importPeer

public static TRTrackerServerPeerImpl importPeer(java.util.Map map)

getString

protected java.lang.String getString()