FileDownloadCache
public
class
FileDownloadCache
extends Object
java.lang.Object | |
↳ | com.android.tradefed.build.FileDownloadCache |
A helper class that maintains a local filesystem LRU cache of downloaded files.
Summary
Public methods | |
---|---|
void
|
deleteCacheEntry(String remoteFilePath)
Allow deleting an entry from the cache. |
void
|
fetchRemoteFile(IFileDownloader downloader, String remoteFilePath, File destFile)
Download the file or link the cache to the destination file. |
File
|
fetchRemoteFile(IFileDownloader downloader, String remoteFilePath)
Returns a local file corresponding to the given remotePath The local |
void
|
setMaxCacheSize(long numBytes)
Set the maximum size of the local file cache. |
Protected methods | |
---|---|
void
|
lockFile(String remoteFilePath)
Acquires the lock for a file. |
boolean
|
tryLockFile(String remoteFilePath)
Acquire the lock for a file only if it is not held by another thread. |
void
|
unlockFile(String remoteFilePath)
Attempt to release a lock for a file. |
Public methods
deleteCacheEntry
public void deleteCacheEntry (String remoteFilePath)
Allow deleting an entry from the cache. In case the entry is invalid or corrupted.
Parameters | |
---|---|
remoteFilePath |
String |
fetchRemoteFile
public void fetchRemoteFile (IFileDownloader downloader, String remoteFilePath, File destFile)
Download the file or link the cache to the destination file.
Parameters | |
---|---|
downloader |
IFileDownloader : the IFileDownloader |
remoteFilePath |
String : the remote file. |
destFile |
File : The destination file of the download. |
Throws | |
---|---|
BuildRetrievalError |
fetchRemoteFile
public File fetchRemoteFile (IFileDownloader downloader, String remoteFilePath)
Returns a local file corresponding to the given remotePath
The local ERROR(/File)
will be copied from the cache if it exists, otherwise will be
downloaded via the given IFileDownloader
.
Parameters | |
---|---|
downloader |
IFileDownloader : the IFileDownloader |
remoteFilePath |
String : the remote file. |
Returns | |
---|---|
File |
a local ERROR(/File) containing contents of remotePath |
Throws | |
---|---|
BuildRetrievalError |
if file could not be retrieved |
setMaxCacheSize
public void setMaxCacheSize (long numBytes)
Set the maximum size of the local file cache.
Cache will not be adjusted immediately if set to a smaller size than current, but will take effect on next file download.
Protected methods
lockFile
protected void lockFile (String remoteFilePath)
Acquires the lock for a file.
Parameters | |
---|---|
remoteFilePath |
String |
tryLockFile
protected boolean tryLockFile (String remoteFilePath)
Acquire the lock for a file only if it is not held by another thread.
Parameters | |
---|---|
remoteFilePath |
String |
Returns | |
---|---|
boolean |
true if the lock was acquired, and false otherwise. |
unlockFile
protected void unlockFile (String remoteFilePath)
Attempt to release a lock for a file.
Parameters | |
---|---|
remoteFilePath |
String |