📄 downloadimpl.java
字号:
public void addDownloadWillBeRemovedListener(DownloadWillBeRemovedListener l)
{
removal_listeners_mon.enter();
List new_removal_listeners = new ArrayList(removal_listeners);
new_removal_listeners.add(l);
removal_listeners = new_removal_listeners;
removal_listeners_mon.exit();
break MISSING_BLOCK_LABEL_52;
Exception exception;
exception;
removal_listeners_mon.exit();
throw exception;
}
public void removeDownloadWillBeRemovedListener(DownloadWillBeRemovedListener l)
{
removal_listeners_mon.enter();
List new_removal_listeners = new ArrayList(removal_listeners);
new_removal_listeners.remove(l);
removal_listeners = new_removal_listeners;
removal_listeners_mon.exit();
break MISSING_BLOCK_LABEL_52;
Exception exception;
exception;
removal_listeners_mon.exit();
throw exception;
}
public void addPeerListener(final DownloadPeerListener listener)
{
DownloadManagerPeerListener delegate = new DownloadManagerPeerListener() {
final DownloadPeerListener val$listener;
final DownloadImpl this$0;
public void peerManagerAdded(PEPeerManager manager)
{
PeerManager pm = PeerManagerImpl.getPeerManager(manager);
listener.peerManagerAdded(DownloadImpl.this, pm);
}
public void peerManagerRemoved(PEPeerManager manager)
{
PeerManager pm = PeerManagerImpl.getPeerManager(manager);
listener.peerManagerRemoved(DownloadImpl.this, pm);
}
public void peerManagerWillBeAdded(PEPeerManager pepeermanager)
{
}
public void peerAdded(PEPeer pepeer)
{
}
public void peerRemoved(PEPeer pepeer)
{
}
{
this$0 = DownloadImpl.this;
listener = downloadpeerlistener;
super();
}
};
peer_listeners_mon.enter();
peer_listeners.put(listener, delegate);
peer_listeners_mon.exit();
break MISSING_BLOCK_LABEL_49;
Exception exception;
exception;
peer_listeners_mon.exit();
throw exception;
download_manager.addPeerListener(delegate);
return;
}
public void removePeerListener(DownloadPeerListener listener)
{
DownloadManagerPeerListener delegate;
peer_listeners_mon.enter();
delegate = (DownloadManagerPeerListener)peer_listeners.remove(listener);
peer_listeners_mon.exit();
break MISSING_BLOCK_LABEL_41;
Exception exception;
exception;
peer_listeners_mon.exit();
throw exception;
if (delegate == null)
Debug.out("Listener not found for removal");
else
download_manager.removePeerListener(delegate);
return;
}
public boolean activateRequest(final int count)
{
DownloadActivationEvent event;
Iterator it;
event = new DownloadActivationEvent() {
final int val$count;
final DownloadImpl this$0;
public Download getDownload()
{
return DownloadImpl.this;
}
public int getActivationCount()
{
return count;
}
{
this$0 = DownloadImpl.this;
count = i;
super();
}
};
it = activation_listeners.iterator();
_L2:
if (!it.hasNext())
break; /* Loop/switch isn't completed */
DownloadActivationListener listener = (DownloadActivationListener)it.next();
if (listener.activationRequested(event))
return true;
continue; /* Loop/switch isn't completed */
Throwable e;
e;
Debug.printStackTrace(e);
if (true) goto _L2; else goto _L1
_L1:
return false;
}
public DownloadActivationEvent getActivationState()
{
return activation_state;
}
public void addActivationListener(DownloadActivationListener l)
{
peer_listeners_mon.enter();
activation_listeners.add(l);
if (activation_listeners.size() == 1)
download_manager.addActivationListener(this);
peer_listeners_mon.exit();
break MISSING_BLOCK_LABEL_56;
Exception exception;
exception;
peer_listeners_mon.exit();
throw exception;
}
public void removeActivationListener(DownloadActivationListener l)
{
peer_listeners_mon.enter();
activation_listeners.remove(l);
if (activation_listeners.size() == 0)
download_manager.removeActivationListener(this);
peer_listeners_mon.exit();
break MISSING_BLOCK_LABEL_56;
Exception exception;
exception;
peer_listeners_mon.exit();
throw exception;
}
public void addCompletionListener(DownloadCompletionListener l)
{
listeners_mon.enter();
completion_listeners.add(l);
listeners_mon.exit();
break MISSING_BLOCK_LABEL_35;
Exception exception;
exception;
listeners_mon.exit();
throw exception;
}
public void removeCompletionListener(DownloadCompletionListener l)
{
listeners_mon.enter();
completion_listeners.remove(l);
listeners_mon.exit();
break MISSING_BLOCK_LABEL_36;
Exception exception;
exception;
listeners_mon.exit();
throw exception;
}
public PeerManager getPeerManager()
{
PEPeerManager pm = download_manager.getPeerManager();
if (pm == null)
return null;
else
return PeerManagerImpl.getPeerManager(pm);
}
public DiskManager getDiskManager()
{
PeerManager pm = getPeerManager();
if (pm != null)
return pm.getDiskManager();
else
return null;
}
public DiskManagerFileInfo[] getDiskManagerFileInfo()
{
org.gudy.azureus2.core3.disk.DiskManagerFileInfo info[] = download_manager.getDiskManagerFileInfo();
if (info == null)
return new DiskManagerFileInfo[0];
DiskManagerFileInfo res[] = new DiskManagerFileInfo[info.length];
for (int i = 0; i < res.length; i++)
res[i] = new DiskManagerFileInfoImpl(this, info[i]);
return res;
}
public void setMaximumDownloadKBPerSecond(int kb)
{
if (kb == -1)
Debug.out("setMaximiumDownloadKBPerSecond got value (-1) ZERO_DOWNLOAD. (-1)does not work through this method, use getDownloadRateLimitBytesPerSecond() instead.");
download_manager.getStats().setDownloadRateLimitBytesPerSecond(kb >= 0 ? kb * 1024 : 0);
}
public int getMaximumDownloadKBPerSecond()
{
return download_manager.getStats().getDownloadRateLimitBytesPerSecond() / 1024;
}
public int getUploadRateLimitBytesPerSecond()
{
return download_manager.getStats().getUploadRateLimitBytesPerSecond();
}
public void setUploadRateLimitBytesPerSecond(int max_rate_bps)
{
download_manager.getStats().setUploadRateLimitBytesPerSecond(max_rate_bps);
}
public int getDownloadRateLimitBytesPerSecond()
{
return download_manager.getStats().getDownloadRateLimitBytesPerSecond();
}
public void setDownloadRateLimitBytesPerSecond(int max_rate_bps)
{
download_manager.getStats().setDownloadRateLimitBytesPerSecond(max_rate_bps);
}
public int getSeedingRank()
{
return download_manager.getSeedingRank();
}
public void setSeedingRank(int rank)
{
download_manager.setSeedingRank(rank);
}
public String getSavePath()
{
return download_manager.getSaveLocation().toString();
}
public void moveDataFiles(File new_parent_dir)
throws DownloadException
{
try
{
download_manager.moveDataFiles(new_parent_dir);
}
catch (DownloadManagerException e)
{
throw new DownloadException("move operation failed", e);
}
}
public void moveDataFiles(File new_parent_dir, String new_name)
throws DownloadException
{
try
{
download_manager.moveDataFiles(new_parent_dir, new_name);
}
catch (DownloadManagerException e)
{
throw new DownloadException("move / rename operation failed", e);
}
}
public void renameDownload(String new_name)
throws DownloadException
{
try
{
download_manager.renameDownload(new_name);
}
catch (DownloadManagerException e)
{
throw new DownloadException("rename operation failed", e);
}
}
public void moveTorrentFile(File new_parent_dir)
throws DownloadException
{
try
{
download_manager.moveTorrentFile(new_parent_dir);
}
catch (DownloadManagerException e)
{
throw new DownloadException("move operation failed", e);
}
}
/**
* @deprecated Method calculateDefaultPaths is deprecated
*/
public File[] calculateDefaultPaths(boolean for_moving)
{
SaveLocationChange slc = calculateDefaultDownloadLocation();
if (slc == null)
return null;
else
return (new File[] {
slc.download_location, slc.torrent_location
});
}
public boolean isInDefaultSaveDir()
{
return download_manager.isInDefaultSaveDir();
}
public void requestTrackerAnnounce()
{
download_manager.requestTrackerAnnounce(false);
}
public void requestTrackerAnnounce(boolean immediate)
{
download_manager.requestTrackerAnnounce(immediate);
}
public void requestTrackerScrape(boolean immediate)
{
download_manager.requestTrackerScrape(immediate);
}
public byte[] getDownloadPeerId()
{
TRTrackerAnnouncer announcer = download_manager.getTrackerClient();
if (announcer == null)
return null;
else
return announcer.getPeerId();
}
public boolean isMessagingEnabled()
{
return download_manager.isExtendedMessagingEnabled();
}
public void setMessagingEnabled(boolean enabled)
{
throw new RuntimeException("setMessagingEnabled is in the process of being removed - if you are seeing this error, let the Azureus developers know that you need this method to stay!");
}
public int getPriority()
{
return 0;
}
public boolean isPriorityLocked()
{
return false;
}
public void setPriority(int i)
{
}
public boolean isRemoved()
{
return download_manager.isDestroyed();
}
public String getRelationText()
{
return propogatedRelationText(download_manager);
}
public Object[] getQueryableInterfaces()
{
return (new Object[] {
download_manager
});
}
private CopyOnWriteMap getAttributeMapForType(int event_type)
{
return event_type != 2 ? write_attribute_listeners_map_cow : read_attribute_listeners_map_cow;
}
public boolean canMoveDataFiles()
{
return download_manager.canMoveDataFiles();
}
public void attributeEventOccurred(DownloadManager download, String attribute, int event_type)
{
CopyOnWriteMap attr_listener_map = getAttributeMapForType(event_type);
TorrentAttribute attr = convertAttribute(attribute);
if (attr == null)
return;
List listeners = null;
listeners = ((CopyOnWriteList)attr_listener_map.get(attribute)).getList();
if (listeners == null)
return;
for (int i = 0; i < listeners.size(); i++)
{
DownloadAttributeListener dal = (DownloadAttributeListener)listeners.get(i);
try
{
dal.attributeEventOccurred(this, attr, event_type);
}
catch (Throwable t)
{
Debug.printStackTrace(t);
}
}
}
public SaveLocationChange calculateDefaultDownloadLocation()
{
return DownloadManagerMoveHandler.recalculatePath(download_manager);
}
public Object getUserData(Object key)
{
return download_manager.getUserData(key);
}
public void setUserData(Object key, Object data)
{
download_manager.setUserData(key, data);
}
public void startDownload(boolean force)
{
if (force)
{
setForceStart(true);
return;
}
setForceStart(false);
int state = getState();
if (state == 70 || state == 75)
download_manager.setStateWaiting();
}
public void stopDownload()
{
if (download_manager.getState() == 70)
{
return;
} else
{
download_manager.stopIt(70, false, false);
return;
}
}
public void changeLocation(SaveLocationChange slc)
throws DownloadException
{
boolean try_to_resume;
boolean has_change = slc.hasDownloadChange() || slc.hasTorrentChange();
if (!has_change)
return;
has_change = slc.isDifferentDownloadLocation(new File(getSavePath()));
if (!has_change)
has_change = slc.isDifferentTorrentLocation(new File(getTorrentFileName()));
if (!has_change)
return;
try_to_resume = !isPaused();
try
{
if (slc.hasDownloadChange())
download_manager.moveDataFiles(slc.download_location, slc.download_name);
if (slc.hasTorrentChange())
download_manager.moveTorrentFile(slc.torrent_location, slc.torrent_name);
}
catch (DownloadManagerException e)
{
throw new DownloadException(e.getMessage(), e);
}
if (try_to_resume)
resume();
break MISSING_BLOCK_LABEL_171;
Exception exception;
exception;
if (try_to_resume)
resume();
throw exception;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -