本文整理汇总了Java中org.gudy.azureus2.core3.download.DownloadManager.setDataAlreadyAllocated方法的典型用法代码示例。如果您正苦于以下问题:Java DownloadManager.setDataAlreadyAllocated方法的具体用法?Java DownloadManager.setDataAlreadyAllocated怎么用?Java DownloadManager.setDataAlreadyAllocated使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.gudy.azureus2.core3.download.DownloadManager
的用法示例。
在下文中一共展示了DownloadManager.setDataAlreadyAllocated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doFileExistenceChecks
import org.gudy.azureus2.core3.download.DownloadManager; //导入方法依赖的package包/类
public static void doFileExistenceChecks(DiskManagerFileInfoSet fileSet, boolean[] toCheck, DownloadManager dm, boolean allowAlloction)
{
DiskManagerFileInfo[] files = fileSet.getFiles();
int lastPieceScanned = -1;
int windowStart = -1;
int windowEnd = -1;
String[] types = DiskManagerImpl.getStorageTypes(dm);
// sweep over all files to see if adjacent files of changed files can be deleted or need allocation
for(int i = 0; i< files.length;i++)
{
int firstPiece = files[i].getFirstPieceNumber();
int lastPiece = files[i].getLastPieceNumber();
if(toCheck[i])
{ // found a file that changed, scan adjacent files
if(lastPieceScanned < firstPiece)
{ // haven't checked the preceding files, slide backwards
windowStart = firstPiece;
while(i > 0 && files[i-1].getLastPieceNumber() >= windowStart)
i--;
}
if(windowEnd < lastPiece)
windowEnd = lastPiece;
}
if((windowStart <= firstPiece && firstPiece <= windowEnd) || (windowStart <= lastPiece && lastPiece <= windowEnd))
{ // file falls in current scanning window, check it
File currentFile = files[i].getFile(true);
if(!RDResumeHandler.fileMustExist(dm, files[i]))
{
int st = convertDMStorageTypeFromString( types[i] );
if( st == DiskManagerFileInfo.ST_COMPACT || st == DiskManagerFileInfo.ST_REORDER_COMPACT ){
currentFile.delete();
}
} else if(allowAlloction && !currentFile.exists()) {
/*
* file must exist, does not exist and we probably just changed to linear
* mode, assume that (re)allocation of adjacent files is necessary
*/
dm.setDataAlreadyAllocated(false);
}
lastPieceScanned = lastPiece;
}
}
}