org.gudy.azureus2.core3.tracker.server.impl.tcp
Class TRTrackerServerTCP

java.lang.Object
  extended by org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerImpl
      extended by org.gudy.azureus2.core3.tracker.server.impl.tcp.TRTrackerServerTCP
All Implemented Interfaces:
TRTrackerServer
Direct Known Subclasses:
TRBlockingServer, TRNonBlockingServer

public abstract class TRTrackerServerTCP
extends TRTrackerServerImpl


Nested Class Summary
protected  class TRTrackerServerTCP.DOSEntry
           
 
Field Summary
protected static AEMonitor class_mon
           
protected static File dos_log_file
           
static long PROCESSING_GET_LIMIT
           
static int PROCESSING_POST_MULTIPLIER
           
 
Fields inherited from class org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerImpl
all_networks_permitted, announce_cache_period, announce_cache_threshold, banned_clients, CLIENT_TIMEOUT_MULTIPLIER, full_scrape_enable, ip_filter, listeners, listeners2, max_peers_to_send, max_seed_retention, permitted_networks, redirect_on_not_found, RETRY_MINIMUM_MILLIS, RETRY_MINIMUM_SECS, scrape_cache_period, seed_limit, send_peer_ids, support_experimental_extensions, this_mon, TIMEOUT_CHECK
 
Fields inherited from interface org.gudy.azureus2.core3.tracker.server.TRTrackerServer
DEFAULT_ANNOUNCE_CACHE_PEER_THRESHOLD, DEFAULT_ANNOUNCE_CACHE_PERIOD, DEFAULT_INC_BY, DEFAULT_INC_PER, DEFAULT_MAX_RETRY_DELAY, DEFAULT_MIN_RETRY_DELAY, DEFAULT_NAME, DEFAULT_NAT_CHECK_SECS, DEFAULT_SCRAPE_CACHE_PERIOD, DEFAULT_SCRAPE_RETRY_PERCENTAGE, DEFAULT_TRACKER_PORT, DEFAULT_TRACKER_PORT_SSL
 
Constructor Summary
TRTrackerServerTCP(String _name, int _port, boolean _ssl, boolean _apply_ip_filter, boolean _start_up_ready)
           
 
Method Summary
protected  boolean checkDOS(String ip)
           
protected  boolean checkDOSRemove(Map.Entry eldest)
           
 String getHost()
           
 int getPort()
           
 boolean getRestrictNonBlocking()
           
protected  boolean handleExternalRequest(TRTrackerServerProcessorTCP processor, InetSocketAddress local_address, InetSocketAddress client_address, String user, String url, URL absolute_url, String header, InputStream is, OutputStream os, AsyncController async, boolean[] keep_alive)
           
protected  boolean isIPFilterEnabled()
           
 boolean isSSL()
           
 void runProcessor(TRTrackerServerProcessorTCP processor)
           
protected  void setPort(int _port)
           
 void setRestrictNonBlocking(boolean restrict)
           
 
Methods inherited from class org.gudy.azureus2.core3.tracker.server.impl.TRTrackerServerImpl
addAuthenticationListener, addLink, addListener, addListener2, addRequestListener, close, closeSupport, deny, destroySupport, getAllNetworksSupported, getAnnounceCachePeerThreshold, getAnnounceCachePeriod, getAnnounceRetryInterval, getBiasedPeers, getMaxPeersToSend, getMaxSeedRetention, getMinAnnounceRetryInterval, getMinScrapeRetryInterval, getName, getPassword, getPeers, getPermittedNetworks, getScrapeCachePeriod, getScrapeRetryInterval, getSeedAnnounceIntervalMultiplier, getSeedLimit, getSendPeerIds, getStats, getStats, getTorrent, getTorrent, getTorrentCount, getTorrents, getUsername, hasExternalAuthorisation, hasInternalAuthorisation, isCompactEnabled, isEnabled, isFullScrapeEnabled, isKeepAliveEnabled, isKeyEnabled, isReady, isTrackerPasswordEnabled, isWebPasswordEnabled, isWebPasswordHTTPSOnly, performExternalAuthorisation, performExternalAuthorisation, permit, permit, postProcess, preProcess, readConfig, readConfigSettings, removeAuthenticationListener, removeLink, removeListener, removeListener2, removeRequestListener, setBiasedPeers, setEnabled, setEnableKeepAlive, setReady, supportsExtensions, timerLoop, updateStats, updateTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.gudy.azureus2.core3.tracker.server.TRTrackerServer
getBindIP
 

Field Detail

PROCESSING_GET_LIMIT

public static final long PROCESSING_GET_LIMIT

PROCESSING_POST_MULTIPLIER

public static final int PROCESSING_POST_MULTIPLIER

dos_log_file

protected static File dos_log_file

class_mon

protected static final AEMonitor class_mon
Constructor Detail

TRTrackerServerTCP

public TRTrackerServerTCP(String _name,
                          int _port,
                          boolean _ssl,
                          boolean _apply_ip_filter,
                          boolean _start_up_ready)
                   throws TRTrackerServerException
Throws:
TRTrackerServerException
Method Detail

runProcessor

public void runProcessor(TRTrackerServerProcessorTCP processor)

isIPFilterEnabled

protected boolean isIPFilterEnabled()

getRestrictNonBlocking

public boolean getRestrictNonBlocking()

setRestrictNonBlocking

public void setRestrictNonBlocking(boolean restrict)

checkDOS

protected boolean checkDOS(String ip)
                    throws UnknownHostException
Throws:
UnknownHostException

checkDOSRemove

protected boolean checkDOSRemove(Map.Entry eldest)

getPort

public int getPort()

setPort

protected void setPort(int _port)

getHost

public String getHost()

isSSL

public boolean isSSL()

handleExternalRequest

protected boolean handleExternalRequest(TRTrackerServerProcessorTCP processor,
                                        InetSocketAddress local_address,
                                        InetSocketAddress client_address,
                                        String user,
                                        String url,
                                        URL absolute_url,
                                        String header,
                                        InputStream is,
                                        OutputStream os,
                                        AsyncController async,
                                        boolean[] keep_alive)
                                 throws IOException
Throws:
IOException