CasFileDownloader

public class CasFileDownloader
extends Object implements IFileDownloader

java.lang.Object
   ↳ com.google.android.tradefed.util.CasFileDownloader


用于从 RBE CAS 下载文件的文件下载器。

摘要

公共构造函数

CasFileDownloader(IFileDownloader fallbackDownloader, File manifestPath, boolean casAutoDiscovery, boolean casChunk, boolean casChunkDir)

CasFileDownloader 的构造函数。

CasFileDownloader(IFileDownloader fallbackDownloader, File cacheDir, File manifestPath, boolean casAutoDiscovery, boolean casChunk, boolean casChunkDir, File casServiceAccountJson, File tempFileRoot, IRunUtil runUtil)

公共方法

void downloadFile(String remoteFilePath, File destFile, long startOffset, long size)

downloadFile(String,File) 的替代形式,允许调用方下载文件的某个部分并保存到特定目标文件。

void downloadFile(String relativeRemotePath, File destFile)

downloadFile(String) 的替代形式,允许调用方指定远程内容应放置的目标文件。

File downloadFile(String remoteFilePath)

将远程文件下载到本地磁盘上的临时文件。

void downloadZippedFiles(File destDir, String remoteFilePath, List<String> includeFilters, List<String> excludeFilters)

下载远程 zip 文件中与指定过滤条件匹配的文件。

static CasOptions getCasOptions()
void setCasChunksOptions(boolean casKeepChunks, boolean casChunksOnly)
void setCasConcurrency(long casConcurrency)
void setCasMemoryLimit(long casMemoryLimit)
void setCasRpcTimeout(long casRpcTimeout, long casGetCapabilitiesTimeout, long casBatchUpdateBlobsTimeout, long casBatchReadBlobsTimeout, long casGetTreeTimeout)

受保护的方法

File extractCasClient(String clientName)

公共构造函数

CasFileDownloader

public CasFileDownloader (IFileDownloader fallbackDownloader, 
                File manifestPath, 
                boolean casAutoDiscovery, 
                boolean casChunk, 
                boolean casChunkDir)

CasFileDownloader 的构造函数。

参数
fallbackDownloader IFileDownloader:如果 CAS 文件下载器无法初始化或无法从 CAS 下载文件,则要使用的文件下载器。

manifestPath File

casAutoDiscovery boolean

casChunk boolean:如果分块版本和非分块版本均可用,是否下载分块版本。

casChunkDir boolean:是否将分块版本下载为未压缩的目录。

CasFileDownloader

public CasFileDownloader (IFileDownloader fallbackDownloader, 
                File cacheDir, 
                File manifestPath, 
                boolean casAutoDiscovery, 
                boolean casChunk, 
                boolean casChunkDir, 
                File casServiceAccountJson, 
                File tempFileRoot, 
                IRunUtil runUtil)

参数
fallbackDownloader IFileDownloader

cacheDir File

manifestPath File

casAutoDiscovery boolean

casChunk boolean

casChunkDir boolean

casServiceAccountJson File

tempFileRoot File

runUtil IRunUtil

公共方法

downloadFile

public void downloadFile (String remoteFilePath, 
                File destFile, 
                long startOffset, 
                long size)

downloadFile(String,File) 的替代形式,允许调用方下载文件的某个部分并保存到特定目标文件。

参数
remoteFilePath String:要下载的文件的远程路径,相对于实现特定的根目录。

destFile File:用于放置下载内容的文件的路径。不应存在。

startOffset long:远程文件中的起始偏移量。

size long:要从远程文件下载的字节数。将其设置为负值可下载整个文件。

抛出
BuildRetrievalError

downloadFile

public void downloadFile (String relativeRemotePath, 
                File destFile)

downloadFile(String) 的替代形式,允许调用方指定远程内容应放置的目标文件。

参数
relativeRemotePath String:要下载的文件的远程路径,相对于实现特定的根目录。

destFile File:用于放置下载内容的文件的路径。不应存在。

抛出
BuildRetrievalError

downloadFile

public File downloadFile (String remoteFilePath)

将远程文件下载到本地磁盘上的临时文件。

参数
remoteFilePath String:要下载的文件的远程路径,相对于实现特定的根目录。

返回
File 临时本地下载的 File

抛出
BuildRetrievalError

downloadZippedFiles

public void downloadZippedFiles (File destDir, 
                String remoteFilePath, 
                List<String> includeFilters, 
                List<String> excludeFilters)

下载远程 zip 文件中与指定过滤条件匹配的文件。

仅当远程 zip 文件中的文件路径与任何包含项过滤条件匹配但不与任何排除项过滤条件匹配时,该文件才会下载到其路径。

参数
destDir File:用于放置下载内容的文件的路径。

remoteFilePath String:要下载的文件的远程路径,相对于实现特定的根目录。

includeFilters List:用于下载匹配文件的过滤条件列表。

excludeFilters List:用于跳过下载匹配文件的过滤条件列表。

抛出
BuildRetrievalError
IOException

getCasOptions

public static CasOptions getCasOptions ()

返回
CasOptions

setCasChunksOptions

public void setCasChunksOptions (boolean casKeepChunks, 
                boolean casChunksOnly)

参数
casKeepChunks boolean

casChunksOnly boolean

setCasConcurrency

public void setCasConcurrency (long casConcurrency)

参数
casConcurrency long

setCasMemoryLimit

public void setCasMemoryLimit (long casMemoryLimit)

参数
casMemoryLimit long

setCasRpcTimeout

public void setCasRpcTimeout (long casRpcTimeout, 
                long casGetCapabilitiesTimeout, 
                long casBatchUpdateBlobsTimeout, 
                long casBatchReadBlobsTimeout, 
                long casGetTreeTimeout)

参数
casRpcTimeout long

casGetCapabilitiesTimeout long

casBatchUpdateBlobsTimeout long

casBatchReadBlobsTimeout long

casGetTreeTimeout long

受保护的方法

extractCasClient

protected File extractCasClient (String clientName)

参数
clientName String

返回
File

抛出
IOException