|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.gudy.azureus2.core3.logging.LogRelation
org.gudy.azureus2.core3.disk.impl.DiskManagerImpl
public class DiskManagerImpl
The disk Wrapper.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.gudy.azureus2.core3.disk.DiskManager |
|---|
DiskManager.GettingThere, DiskManager.OperationStatus |
| Field Summary | |
|---|---|
protected DownloadManager |
download_manager
|
protected static ListenerManager<DiskManagerListener> |
listeners_aggregator
|
| Fields inherited from interface org.gudy.azureus2.core3.disk.DiskManager |
|---|
ALLOCATING, BLOCK_SIZE, BLOCK_SIZE_KB, CHECKING, ET_INSUFFICIENT_SPACE, ET_NONE, ET_OTHER, FAULTY, INITIALIZING, READY |
| Constructor Summary | |
|---|---|
DiskManagerImpl(TOTorrent _torrent,
DownloadManager _dmanager)
|
|
| Method Summary | |
|---|---|
void |
accessModeChanged(DiskManagerFileInfoImpl file,
int old_mode,
int new_mode)
|
void |
addListener(DiskManagerListener l)
|
boolean |
checkBlockConsistencyForHint(java.lang.String originator,
int pieceNumber,
int offset,
int length)
|
boolean |
checkBlockConsistencyForRead(java.lang.String originator,
boolean peer_request,
int pieceNumber,
int offset,
int length)
method for checking that the block details are sensible |
boolean |
checkBlockConsistencyForWrite(java.lang.String originator,
int pieceNumber,
int offset,
DirectByteBuffer data)
method for checking that the block details are sensible |
void |
checkFreePieceList(boolean force_discard)
|
DiskManagerCheckRequest |
createCheckRequest(int pieceNumber,
java.lang.Object user_data)
Create a request to check a particular piece |
DiskManagerReadRequest |
createReadRequest(int pieceNumber,
int offset,
int length)
|
DiskManagerWriteRequest |
createWriteRequest(int pieceNumber,
int offset,
DirectByteBuffer data,
java.lang.Object user_data)
|
static void |
deleteDataFiles(TOTorrent torrent,
java.lang.String torrent_save_dir,
java.lang.String torrent_save_file,
boolean force_no_recycle)
Deletes all data files associated with torrent. |
void |
downloadEnded(DiskManager.OperationStatus op_status)
|
void |
downloadRemoved()
|
void |
enqueueCheckRequest(DiskManagerCheckRequest request,
DiskManagerCheckRequestListener listener)
enqueue an asynchronous single piece check |
void |
enqueueCompleteRecheckRequest(DiskManagerCheckRequest request,
DiskManagerCheckRequestListener listener)
recheck the entire torrent asynchronously, reporting each piece to the listener |
void |
enqueueReadRequest(DiskManagerReadRequest request,
DiskManagerReadRequestListener listener)
Enqueue an async disk read request. |
void |
enqueueWriteRequest(DiskManagerWriteRequest request,
DiskManagerWriteRequestListener listener)
enqueue an async write request |
boolean |
filesExist()
|
protected boolean |
filesExist(java.lang.String root_dir)
|
void |
generateEvidence(IndentWriter writer)
|
long |
getAllocated()
|
int |
getCacheMode()
|
int |
getCompleteRecheckStatus()
returns -1 if no recheck in progress, percentage complete in 1000 notation otherwise |
static DiskAccessController |
getDefaultDiskAccessController()
|
DiskAccessController |
getDiskAccessController()
|
DownloadManager |
getDownloadManager()
|
DownloadManagerState |
getDownloadState()
|
java.lang.String |
getErrorMessage()
|
int |
getErrorType()
|
DiskManagerFileInfo[] |
getFiles()
|
DiskManagerFileInfoSet |
getFileSet()
|
java.lang.String |
getInternalName()
|
int |
getLastPieceLength()
|
int |
getMoveProgress()
When a download's data is moving (for completion or removal events) this gives the progress in 1000 notation. |
int |
getNbPieces()
|
int |
getPercentDone()
Get the percentage done during checking, allocation or initializing |
int |
getPercentDoneExcludingDND()
|
DiskManagerPiece |
getPiece(int PieceNumber)
|
byte[] |
getPieceHash(int piece_number)
|
int |
getPieceLength()
|
int |
getPieceLength(int piece_number)
|
DMPieceList |
getPieceList(int piece_number)
|
DMPieceMap |
getPieceMap()
DON'T CACHE the DMPieceMap - as it is designed to be discarded when not in use |
DiskManagerPiece[] |
getPieces()
|
long |
getPriorityChangeMarker()
|
java.lang.Object[] |
getQueryableInterfaces()
Query this class for a reference to another class that it may hold |
long[] |
getReadStats()
|
DiskManagerRecheckScheduler |
getRecheckScheduler()
|
java.lang.String |
getRelationText()
A short description of what your class holds that can be printed by the logger |
long |
getRemaining()
Get remaining bytes to completion *including* DND files |
long |
getRemainingExcludingDND()
|
java.io.File |
getSaveLocation()
|
long |
getSizeExcludingDND()
|
int |
getState()
|
static java.lang.String |
getStorageType(DownloadManager download_manager,
int fileIndex)
|
java.lang.String |
getStorageType(int fileIndex)
|
java.lang.String[] |
getStorageTypes()
|
static java.lang.String[] |
getStorageTypes(DownloadManager download_manager)
|
TOTorrent |
getTorrent()
|
long |
getTotalLength()
|
boolean |
hasListener(DiskManagerListener l)
|
boolean |
hasOutstandingCheckRequestForPiece(int piece_number)
|
boolean |
hasOutstandingReadRequestForPiece(int piece_number)
|
boolean |
hasOutstandingWriteRequestForPiece(int piece_number)
|
boolean |
isDone(int pieceNumber)
|
boolean |
isInteresting(int pieceNumber)
|
boolean |
isStopped()
|
void |
moveDataFiles(java.io.File new_parent_dir,
java.lang.String new_name,
DiskManager.OperationStatus op_status)
|
protected void |
moveFiles(SaveLocationChange loc_change,
boolean change_to_read_only,
DiskManager.OperationStatus op_status)
|
void |
priorityChanged(DiskManagerFileInfo file)
|
DirectByteBuffer |
readBlock(int pieceNumber,
int offset,
int length)
|
void |
removeListener(DiskManagerListener l)
|
void |
saveResumeData(boolean interim_save)
|
void |
saveState()
Save the individual file priorities map to DownloadManager.getData( "file_priorities" ). |
protected void |
saveState(boolean persist)
|
void |
setAllocated(long num)
|
void |
setFailed(DiskManagerFileInfo file,
java.lang.String reason)
|
void |
setFailed(java.lang.String reason)
Stops the disk manager and informs the download manager that things have gone wrong. |
static void |
setFileLinks(DownloadManager download_manager,
LinkFileMap links)
|
void |
setPercentDone(int num)
|
void |
setPieceCheckingEnabled(boolean enabled)
|
void |
setPieceDone(DiskManagerPieceImpl dmPiece,
boolean done)
Called when status has CHANGED and should only be called by DiskManagerPieceImpl |
protected void |
setState(int _state)
|
void |
skippedFileSetChanged(DiskManagerFileInfo file)
|
void |
start()
Start checking/allocating |
boolean |
stop(boolean closing)
Stop can go async if the download is in a 'starting' state - if so this method returns true |
protected static void |
storeFileDownloaded(DownloadManager download_manager,
DiskManagerFileInfo[] files,
boolean persist)
|
protected void |
storeFilePriorities()
|
protected static void |
storeFilePriorities(DownloadManager download_manager,
DiskManagerFileInfo[] files)
|
| Methods inherited from class org.gudy.azureus2.core3.logging.LogRelation |
|---|
propogatedRelationText, queryForClass, queryForClass |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final DownloadManager download_manager
protected static final ListenerManager<DiskManagerListener> listeners_aggregator
| Constructor Detail |
|---|
public DiskManagerImpl(TOTorrent _torrent,
DownloadManager _dmanager)
| Method Detail |
|---|
public static DiskAccessController getDefaultDiskAccessController()
public void start()
DiskManager
start in interface DiskManagerpublic boolean stop(boolean closing)
DiskManager
stop in interface DiskManagerpublic boolean isStopped()
isStopped in interface DiskManagerpublic boolean filesExist()
filesExist in interface DiskManagerprotected boolean filesExist(java.lang.String root_dir)
public DiskAccessController getDiskAccessController()
getDiskAccessController in interface DiskManagerHelper
public void enqueueReadRequest(DiskManagerReadRequest request,
DiskManagerReadRequestListener listener)
DiskManager
enqueueReadRequest in interface DiskManagerpublic boolean hasOutstandingReadRequestForPiece(int piece_number)
hasOutstandingReadRequestForPiece in interface DiskManagerpublic int getNbPieces()
getNbPieces in interface DiskManagerpublic int getPercentDone()
DiskManager
getPercentDone in interface DiskManagerpublic void setPercentDone(int num)
setPercentDone in interface DiskManagerHelperpublic long getRemaining()
DiskManager
getRemaining in interface DiskManagerpublic long getRemainingExcludingDND()
getRemainingExcludingDND in interface DiskManagerpublic long getSizeExcludingDND()
getSizeExcludingDND in interface DiskManagerpublic int getPercentDoneExcludingDND()
getPercentDoneExcludingDND in interface DiskManagerpublic long getAllocated()
getAllocated in interface DiskManagerHelperpublic void setAllocated(long num)
setAllocated in interface DiskManagerHelper
public void setPieceDone(DiskManagerPieceImpl dmPiece,
boolean done)
setPieceDone in interface DiskManagerHelper
public void accessModeChanged(DiskManagerFileInfoImpl file,
int old_mode,
int new_mode)
accessModeChanged in interface DiskManagerHelperpublic DiskManagerPiece[] getPieces()
getPieces in interface DiskManagerpublic DiskManagerPiece getPiece(int PieceNumber)
getPiece in interface DiskManagerpublic int getPieceLength()
getPieceLength in interface DiskManagerpublic int getPieceLength(int piece_number)
getPieceLength in interface DiskManagerpublic long getTotalLength()
getTotalLength in interface DiskManagerpublic int getLastPieceLength()
public int getState()
getState in interface DiskManagerprotected void setState(int _state)
public DiskManagerFileInfo[] getFiles()
getFiles in interface DiskManagerpublic DiskManagerFileInfoSet getFileSet()
getFileSet in interface DiskManagerpublic java.lang.String getErrorMessage()
getErrorMessage in interface DiskManagerpublic int getErrorType()
getErrorType in interface DiskManagerpublic void setFailed(java.lang.String reason)
DiskManagerHelper
setFailed in interface DiskManagerHelper
public void setFailed(DiskManagerFileInfo file,
java.lang.String reason)
setFailed in interface DiskManagerHelperpublic int getCacheMode()
getCacheMode in interface DiskManagerpublic long[] getReadStats()
getReadStats in interface DiskManagerpublic DMPieceMap getPieceMap()
DiskManager
getPieceMap in interface DiskManagerpublic DMPieceList getPieceList(int piece_number)
getPieceList in interface DiskManagergetPieceList in interface DiskManagerHelperpublic void checkFreePieceList(boolean force_discard)
public byte[] getPieceHash(int piece_number)
throws TOTorrentException
getPieceHash in interface DiskManagerHelperTOTorrentException
public DiskManagerReadRequest createReadRequest(int pieceNumber,
int offset,
int length)
createReadRequest in interface DiskManager
public DiskManagerCheckRequest createCheckRequest(int pieceNumber,
java.lang.Object user_data)
DiskManager
createCheckRequest in interface DiskManagerpieceNumber - -1 for a complete recheck request
public boolean hasOutstandingCheckRequestForPiece(int piece_number)
hasOutstandingCheckRequestForPiece in interface DiskManager
public void enqueueCompleteRecheckRequest(DiskManagerCheckRequest request,
DiskManagerCheckRequestListener listener)
DiskManager
enqueueCompleteRecheckRequest in interface DiskManager
public void enqueueCheckRequest(DiskManagerCheckRequest request,
DiskManagerCheckRequestListener listener)
DiskManager
enqueueCheckRequest in interface DiskManagerpublic int getCompleteRecheckStatus()
DiskManager
getCompleteRecheckStatus in interface DiskManagerpublic int getMoveProgress()
DiskManager
getMoveProgress in interface DiskManagerpublic void setPieceCheckingEnabled(boolean enabled)
setPieceCheckingEnabled in interface DiskManager
public DirectByteBuffer readBlock(int pieceNumber,
int offset,
int length)
readBlock in interface DiskManager
public DiskManagerWriteRequest createWriteRequest(int pieceNumber,
int offset,
DirectByteBuffer data,
java.lang.Object user_data)
createWriteRequest in interface DiskManager
public void enqueueWriteRequest(DiskManagerWriteRequest request,
DiskManagerWriteRequestListener listener)
DiskManager
enqueueWriteRequest in interface DiskManagerpublic boolean hasOutstandingWriteRequestForPiece(int piece_number)
hasOutstandingWriteRequestForPiece in interface DiskManager
public boolean checkBlockConsistencyForWrite(java.lang.String originator,
int pieceNumber,
int offset,
DirectByteBuffer data)
DiskManager
checkBlockConsistencyForWrite in interface DiskManager
public boolean checkBlockConsistencyForRead(java.lang.String originator,
boolean peer_request,
int pieceNumber,
int offset,
int length)
DiskManager
checkBlockConsistencyForRead in interface DiskManager
public boolean checkBlockConsistencyForHint(java.lang.String originator,
int pieceNumber,
int offset,
int length)
checkBlockConsistencyForHint in interface DiskManager
public void saveResumeData(boolean interim_save)
throws java.lang.Exception
saveResumeData in interface DiskManagerjava.lang.Exceptionpublic void downloadEnded(DiskManager.OperationStatus op_status)
downloadEnded in interface DiskManagerpublic void downloadRemoved()
downloadRemoved in interface DiskManager
public void moveDataFiles(java.io.File new_parent_dir,
java.lang.String new_name,
DiskManager.OperationStatus op_status)
moveDataFiles in interface DiskManager
protected void moveFiles(SaveLocationChange loc_change,
boolean change_to_read_only,
DiskManager.OperationStatus op_status)
public TOTorrent getTorrent()
getTorrent in interface DiskManagergetTorrent in interface DiskManagerHelperpublic void addListener(DiskManagerListener l)
addListener in interface DiskManagerpublic void removeListener(DiskManagerListener l)
removeListener in interface DiskManagerpublic boolean hasListener(DiskManagerListener l)
hasListener in interface DiskManager
public static void deleteDataFiles(TOTorrent torrent,
java.lang.String torrent_save_dir,
java.lang.String torrent_save_file,
boolean force_no_recycle)
public void skippedFileSetChanged(DiskManagerFileInfo file)
skippedFileSetChanged in interface DiskManagerHelperpublic void priorityChanged(DiskManagerFileInfo file)
priorityChanged in interface DiskManagerHelperprotected void storeFilePriorities()
protected static void storeFilePriorities(DownloadManager download_manager,
DiskManagerFileInfo[] files)
protected static void storeFileDownloaded(DownloadManager download_manager,
DiskManagerFileInfo[] files,
boolean persist)
public void saveState()
DiskManager
saveState in interface DiskManagerprotected void saveState(boolean persist)
public DownloadManager getDownloadManager()
public java.lang.String getInternalName()
getInternalName in interface DiskManagerHelperpublic DownloadManagerState getDownloadState()
getDownloadState in interface DiskManagerHelperpublic java.io.File getSaveLocation()
getSaveLocation in interface DiskManagerpublic java.lang.String[] getStorageTypes()
getStorageTypes in interface DiskManagerHelperpublic java.lang.String getStorageType(int fileIndex)
getStorageType in interface DiskManagerHelperpublic static java.lang.String[] getStorageTypes(DownloadManager download_manager)
public static java.lang.String getStorageType(DownloadManager download_manager,
int fileIndex)
public static void setFileLinks(DownloadManager download_manager,
LinkFileMap links)
public java.lang.String getRelationText()
LogRelation
getRelationText in class LogRelationpublic java.lang.Object[] getQueryableInterfaces()
LogRelation
getQueryableInterfaces in class LogRelationpublic DiskManagerRecheckScheduler getRecheckScheduler()
getRecheckScheduler in interface DiskManagerHelperpublic boolean isInteresting(int pieceNumber)
isInteresting in interface DiskManagerpublic boolean isDone(int pieceNumber)
isDone in interface DiskManagerpublic long getPriorityChangeMarker()
getPriorityChangeMarker in interface DiskManagerpublic void generateEvidence(IndentWriter writer)
generateEvidence in interface DiskManager
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||