org.gudy.azureus2.core3.download.impl
Class DownloadManagerController
java.lang.Object
org.gudy.azureus2.core3.logging.LogRelation
org.gudy.azureus2.core3.download.impl.DownloadManagerController
- All Implemented Interfaces:
- PeerManagerRegistrationAdapter, PEPeerManagerAdapter, SimpleTimer.TimerTickReceiver
public class DownloadManagerController
- extends LogRelation
- implements PEPeerManagerAdapter, PeerManagerRegistrationAdapter, SimpleTimer.TimerTickReceiver
Method Summary |
boolean |
activateRequest(InetSocketAddress address)
|
void |
addDiskListener(DownloadManagerDiskListener listener)
|
void |
addHTTPSeed(String address,
int port)
|
void |
addPeer(PEPeer peer)
|
void |
addPiece(PEPiece piece)
|
void |
addRateLimiter(LimitedRateGroup group,
boolean upload)
|
protected void |
calculateCompleteness(DiskManagerFileInfo[] active)
|
boolean |
canForceRecheck()
|
void |
dataBytesReceived(PEPeer peer,
int bytes)
|
void |
dataBytesSent(PEPeer peer,
int bytes)
|
void |
deactivateRequest(InetSocketAddress address)
|
protected void |
destroy()
|
void |
discarded(PEPeer peer,
int bytes)
|
void |
enqueueReadRequest(PEPeer peer,
DiskManagerReadRequest request,
DiskManagerReadRequestListener listener)
|
protected void |
fileInfoChanged()
|
protected void |
filePrioritiesChanged(List files)
|
boolean |
filesExist(boolean expected_to_be_allocated)
|
void |
forceRecheck(ForceRecheckListener l)
|
void |
generateEvidence(IndentWriter writer)
|
int |
getActivationCount()
|
int |
getCryptoLevel()
See NetworkManager.CRYPTO_OVERRIDE constants |
String |
getDescription()
|
long |
getDiskListenerCount()
|
protected DiskManager |
getDiskManager()
|
DiskManagerFileInfo[] |
getDiskManagerFileInfo()
Deprecated. use getDiskManagerFileInfoSet() instead |
DiskManagerFileInfoSet |
getDiskManagerFileInfoSet()
|
String |
getDisplayName()
|
int |
getDownloadRateLimitBytesPerSecond()
|
String[] |
getEnabledNetworks()
|
protected String |
getErrorDetail()
|
protected int |
getErrorType()
|
int |
getExtendedMessagingMode()
|
static ExternalSeedPlugin |
getExternalSeedPlugin()
|
LogRelation |
getLogRelation()
|
int[] |
getMaxConnections()
|
int[] |
getMaxSeedConnections()
|
int |
getMaxUploads()
|
protected PEPeerManager |
getPeerManager()
|
PeerManagerRegistration |
getPeerManagerRegistration()
|
int |
getPermittedBytesToReceive()
|
int |
getPermittedBytesToSend()
|
int |
getPosition()
|
Object[] |
getQueryableInterfaces()
Query this class for a reference to another class that it may hold |
long |
getRandomSeed()
|
LimitedRateGroup[] |
getRateLimiters(boolean upload)
|
String |
getRelationText()
A short description of what your class holds that can be printed by the logger |
protected byte[] |
getSecret2(TOTorrent torrent)
|
byte[][] |
getSecrets()
|
byte[][] |
getSecrets(int crypto_level)
|
int |
getState()
|
protected int |
getSubState()
|
byte[] |
getTorrentInfoDict(PEPeer peer)
|
int |
getTorrentInfoDictSize()
|
String |
getTrackerClientExtensions()
|
TRTrackerScraperResponse |
getTrackerScrapeResponse()
|
int |
getUploadPriority()
|
int |
getUploadRateLimitBytesPerSecond()
|
boolean |
hasPriorityConnection()
|
void |
initializeDiskManager(boolean open_for_seeding)
|
protected void |
initializeDiskManagerSupport(int initialising_state,
DiskManagerListener listener)
|
protected boolean |
isDownloadComplete(boolean bIncludeDND)
Determine if the download is complete, excluding DND files. |
boolean |
isForceStart()
|
boolean |
isMetadataDownload()
|
boolean |
isNATHealthy()
|
boolean |
isNetworkEnabled(String network)
|
boolean |
isPeerExchangeEnabled()
|
boolean |
isPeerSourceEnabled(String peer_source)
|
boolean |
isPeriodicRescanEnabled()
|
boolean |
isStateSeeding()
|
boolean |
manualRoute(NetworkConnection connection)
|
void |
permittedReceiveBytesUsed(int bytes)
|
void |
permittedSendBytesUsed(int bytes)
|
void |
priorityConnectionChanged(boolean added)
|
void |
protocolBytesReceived(PEPeer peer,
int bytes)
|
void |
protocolBytesSent(PEPeer peer,
int bytes)
|
void |
removeDiskListener(DownloadManagerDiskListener listener)
|
void |
removePeer(PEPeer peer)
|
void |
removePiece(PEPiece piece)
|
void |
removeRateLimiter(LimitedRateGroup group,
boolean upload)
|
void |
restartDownload(boolean forceRecheck)
Stops the current download, then restarts it again. |
protected void |
setDiskManager(DiskManager new_disk_manager,
DiskManagerListener new_disk_manager_listener)
|
protected void |
setFailed(String reason)
|
void |
setForceStart(boolean _force_start)
|
protected void |
setInitialState(int initial_state)
|
void |
setPieceCheckingEnabled(boolean enabled)
|
void |
setStateDownloading()
|
void |
setStateFinishing()
|
protected void |
setStateQueued()
|
void |
setStateSeeding(boolean never_downloaded)
|
protected void |
setStateWaiting()
|
void |
setTrackerRefreshDelayOverrides(int percent)
|
void |
startDownload(TRTrackerAnnouncer tracker_client)
|
void |
statsRequest(PEPeer originator,
Map request,
Map reply)
|
void |
stopIt(int _stateAfterStopping,
boolean remove_torrent,
boolean remove_data,
boolean for_removal)
|
void |
tick(long mono_now,
int tick_count)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DownloadManagerController
protected DownloadManagerController(DownloadManagerImpl _download_manager)
getExternalSeedPlugin
public static ExternalSeedPlugin getExternalSeedPlugin()
setInitialState
protected void setInitialState(int initial_state)
startDownload
public void startDownload(TRTrackerAnnouncer tracker_client)
initializeDiskManager
public void initializeDiskManager(boolean open_for_seeding)
initializeDiskManagerSupport
protected void initializeDiskManagerSupport(int initialising_state,
DiskManagerListener listener)
canForceRecheck
public boolean canForceRecheck()
forceRecheck
public void forceRecheck(ForceRecheckListener l)
setPieceCheckingEnabled
public void setPieceCheckingEnabled(boolean enabled)
stopIt
public void stopIt(int _stateAfterStopping,
boolean remove_torrent,
boolean remove_data,
boolean for_removal)
setStateWaiting
protected void setStateWaiting()
setStateFinishing
public void setStateFinishing()
- Specified by:
setStateFinishing
in interface PEPeerManagerAdapter
setStateDownloading
public void setStateDownloading()
setStateSeeding
public void setStateSeeding(boolean never_downloaded)
- Specified by:
setStateSeeding
in interface PEPeerManagerAdapter
isStateSeeding
public boolean isStateSeeding()
setStateQueued
protected void setStateQueued()
getState
public int getState()
getSubState
protected int getSubState()
restartDownload
public void restartDownload(boolean forceRecheck)
- Stops the current download, then restarts it again.
- Specified by:
restartDownload
in interface PEPeerManagerAdapter
destroy
protected void destroy()
isPeerSourceEnabled
public boolean isPeerSourceEnabled(String peer_source)
- Specified by:
isPeerSourceEnabled
in interface PeerManagerRegistrationAdapter
- Specified by:
isPeerSourceEnabled
in interface PEPeerManagerAdapter
isNetworkEnabled
public boolean isNetworkEnabled(String network)
- Specified by:
isNetworkEnabled
in interface PEPeerManagerAdapter
getEnabledNetworks
public String[] getEnabledNetworks()
- Specified by:
getEnabledNetworks
in interface PEPeerManagerAdapter
getSecrets
public byte[][] getSecrets()
- Specified by:
getSecrets
in interface PeerManagerRegistrationAdapter
getSecrets
public byte[][] getSecrets(int crypto_level)
- Specified by:
getSecrets
in interface PEPeerManagerAdapter
getSecret2
protected byte[] getSecret2(TOTorrent torrent)
throws TOTorrentException
- Throws:
TOTorrentException
manualRoute
public boolean manualRoute(NetworkConnection connection)
- Specified by:
manualRoute
in interface PeerManagerRegistrationAdapter
getRandomSeed
public long getRandomSeed()
- Specified by:
getRandomSeed
in interface PEPeerManagerAdapter
addRateLimiter
public void addRateLimiter(LimitedRateGroup group,
boolean upload)
getRateLimiters
public LimitedRateGroup[] getRateLimiters(boolean upload)
removeRateLimiter
public void removeRateLimiter(LimitedRateGroup group,
boolean upload)
enqueueReadRequest
public void enqueueReadRequest(PEPeer peer,
DiskManagerReadRequest request,
DiskManagerReadRequestListener listener)
- Specified by:
enqueueReadRequest
in interface PEPeerManagerAdapter
activateRequest
public boolean activateRequest(InetSocketAddress address)
- Specified by:
activateRequest
in interface PeerManagerRegistrationAdapter
deactivateRequest
public void deactivateRequest(InetSocketAddress address)
- Specified by:
deactivateRequest
in interface PeerManagerRegistrationAdapter
getActivationCount
public int getActivationCount()
getPeerManagerRegistration
public PeerManagerRegistration getPeerManagerRegistration()
- Specified by:
getPeerManagerRegistration
in interface PEPeerManagerAdapter
isForceStart
public boolean isForceStart()
setForceStart
public void setForceStart(boolean _force_start)
setFailed
protected void setFailed(String reason)
filesExist
public boolean filesExist(boolean expected_to_be_allocated)
getDiskManagerFileInfoSet
public DiskManagerFileInfoSet getDiskManagerFileInfoSet()
getDiskManagerFileInfo
public DiskManagerFileInfo[] getDiskManagerFileInfo()
- Deprecated. use getDiskManagerFileInfoSet() instead
fileInfoChanged
protected void fileInfoChanged()
filePrioritiesChanged
protected void filePrioritiesChanged(List files)
calculateCompleteness
protected void calculateCompleteness(DiskManagerFileInfo[] active)
isDownloadComplete
protected boolean isDownloadComplete(boolean bIncludeDND)
- Determine if the download is complete, excluding DND files. This
function is mostly cached when there is a DiskManager.
- Returns:
- completion state
getPeerManager
protected PEPeerManager getPeerManager()
getDiskManager
protected DiskManager getDiskManager()
getErrorDetail
protected String getErrorDetail()
getErrorType
protected int getErrorType()
setDiskManager
protected void setDiskManager(DiskManager new_disk_manager,
DiskManagerListener new_disk_manager_listener)
addDiskListener
public void addDiskListener(DownloadManagerDiskListener listener)
removeDiskListener
public void removeDiskListener(DownloadManagerDiskListener listener)
getDiskListenerCount
public long getDiskListenerCount()
getDisplayName
public String getDisplayName()
- Specified by:
getDisplayName
in interface PEPeerManagerAdapter
getUploadRateLimitBytesPerSecond
public int getUploadRateLimitBytesPerSecond()
- Specified by:
getUploadRateLimitBytesPerSecond
in interface PEPeerManagerAdapter
getDownloadRateLimitBytesPerSecond
public int getDownloadRateLimitBytesPerSecond()
- Specified by:
getDownloadRateLimitBytesPerSecond
in interface PEPeerManagerAdapter
getPermittedBytesToReceive
public int getPermittedBytesToReceive()
- Specified by:
getPermittedBytesToReceive
in interface PEPeerManagerAdapter
permittedReceiveBytesUsed
public void permittedReceiveBytesUsed(int bytes)
- Specified by:
permittedReceiveBytesUsed
in interface PEPeerManagerAdapter
getPermittedBytesToSend
public int getPermittedBytesToSend()
- Specified by:
getPermittedBytesToSend
in interface PEPeerManagerAdapter
permittedSendBytesUsed
public void permittedSendBytesUsed(int bytes)
- Specified by:
permittedSendBytesUsed
in interface PEPeerManagerAdapter
getMaxUploads
public int getMaxUploads()
- Specified by:
getMaxUploads
in interface PEPeerManagerAdapter
getMaxConnections
public int[] getMaxConnections()
- Specified by:
getMaxConnections
in interface PEPeerManagerAdapter
getMaxSeedConnections
public int[] getMaxSeedConnections()
- Specified by:
getMaxSeedConnections
in interface PEPeerManagerAdapter
getUploadPriority
public int getUploadPriority()
- Specified by:
getUploadPriority
in interface PEPeerManagerAdapter
getExtendedMessagingMode
public int getExtendedMessagingMode()
- Specified by:
getExtendedMessagingMode
in interface PEPeerManagerAdapter
isPeerExchangeEnabled
public boolean isPeerExchangeEnabled()
- Specified by:
isPeerExchangeEnabled
in interface PEPeerManagerAdapter
getCryptoLevel
public int getCryptoLevel()
- Description copied from interface:
PEPeerManagerAdapter
- See NetworkManager.CRYPTO_OVERRIDE constants
- Specified by:
getCryptoLevel
in interface PEPeerManagerAdapter
- Returns:
isPeriodicRescanEnabled
public boolean isPeriodicRescanEnabled()
- Specified by:
isPeriodicRescanEnabled
in interface PEPeerManagerAdapter
getTrackerScrapeResponse
public TRTrackerScraperResponse getTrackerScrapeResponse()
- Specified by:
getTrackerScrapeResponse
in interface PEPeerManagerAdapter
getTrackerClientExtensions
public String getTrackerClientExtensions()
- Specified by:
getTrackerClientExtensions
in interface PEPeerManagerAdapter
setTrackerRefreshDelayOverrides
public void setTrackerRefreshDelayOverrides(int percent)
- Specified by:
setTrackerRefreshDelayOverrides
in interface PEPeerManagerAdapter
isNATHealthy
public boolean isNATHealthy()
- Specified by:
isNATHealthy
in interface PEPeerManagerAdapter
isMetadataDownload
public boolean isMetadataDownload()
- Specified by:
isMetadataDownload
in interface PEPeerManagerAdapter
getTorrentInfoDictSize
public int getTorrentInfoDictSize()
- Specified by:
getTorrentInfoDictSize
in interface PEPeerManagerAdapter
getTorrentInfoDict
public byte[] getTorrentInfoDict(PEPeer peer)
- Specified by:
getTorrentInfoDict
in interface PEPeerManagerAdapter
addPeer
public void addPeer(PEPeer peer)
- Specified by:
addPeer
in interface PEPeerManagerAdapter
removePeer
public void removePeer(PEPeer peer)
- Specified by:
removePeer
in interface PEPeerManagerAdapter
addPiece
public void addPiece(PEPiece piece)
- Specified by:
addPiece
in interface PEPeerManagerAdapter
removePiece
public void removePiece(PEPiece piece)
- Specified by:
removePiece
in interface PEPeerManagerAdapter
discarded
public void discarded(PEPeer peer,
int bytes)
- Specified by:
discarded
in interface PEPeerManagerAdapter
protocolBytesReceived
public void protocolBytesReceived(PEPeer peer,
int bytes)
- Specified by:
protocolBytesReceived
in interface PEPeerManagerAdapter
dataBytesReceived
public void dataBytesReceived(PEPeer peer,
int bytes)
- Specified by:
dataBytesReceived
in interface PEPeerManagerAdapter
protocolBytesSent
public void protocolBytesSent(PEPeer peer,
int bytes)
- Specified by:
protocolBytesSent
in interface PEPeerManagerAdapter
dataBytesSent
public void dataBytesSent(PEPeer peer,
int bytes)
- Specified by:
dataBytesSent
in interface PEPeerManagerAdapter
getPosition
public int getPosition()
- Specified by:
getPosition
in interface PEPeerManagerAdapter
tick
public void tick(long mono_now,
int tick_count)
- Specified by:
tick
in interface SimpleTimer.TimerTickReceiver
statsRequest
public void statsRequest(PEPeer originator,
Map request,
Map reply)
- Specified by:
statsRequest
in interface PEPeerManagerAdapter
addHTTPSeed
public void addHTTPSeed(String address,
int port)
- Specified by:
addHTTPSeed
in interface PEPeerManagerAdapter
priorityConnectionChanged
public void priorityConnectionChanged(boolean added)
- Specified by:
priorityConnectionChanged
in interface PEPeerManagerAdapter
hasPriorityConnection
public boolean hasPriorityConnection()
- Specified by:
hasPriorityConnection
in interface PEPeerManagerAdapter
getDescription
public String getDescription()
- Specified by:
getDescription
in interface PeerManagerRegistrationAdapter
getLogRelation
public LogRelation getLogRelation()
- Specified by:
getLogRelation
in interface PEPeerManagerAdapter
getRelationText
public String getRelationText()
- Description copied from class:
LogRelation
- A short description of what your class holds that can be printed by the logger
- Overrides:
getRelationText
in class LogRelation
- Returns:
getQueryableInterfaces
public Object[] getQueryableInterfaces()
- Description copied from class:
LogRelation
- Query this class for a reference to another class that it may hold
- Overrides:
getQueryableInterfaces
in class LogRelation
- Returns:
- If found, the class desired. Otherwise, null.
generateEvidence
public void generateEvidence(IndentWriter writer)