FileDownloadCache

public class FileDownloadCache
extends Object

java.lang.Object
   ↳ com.android.tradefed.build.FileDownloadCache


คลาสตัวช่วยที่ดูแลรักษาแคช LRU ของระบบไฟล์ในเครื่องสำหรับไฟล์ที่ดาวน์โหลด

สรุป

เมธอดสาธารณะ

void deleteCacheEntry(String remoteFilePath)

อนุญาตให้ลบรายการออกจากแคช

void fetchRemoteFile(IFileDownloader downloader, String remoteFilePath, File destFile)

ดาวน์โหลดไฟล์หรือลิงก์แคชกับไฟล์ปลายทาง

File fetchRemoteFile(IFileDownloader downloader, String remoteFilePath)

แสดงไฟล์ในเครื่องที่สอดคล้องกับ remotePath ที่ระบุ

ระบบจะคัดลอก ERROR(/File) ในเครื่องจากแคช หากมี มิเช่นนั้นระบบจะดาวน์โหลดผ่าน IFileDownloader ที่ระบุ

void setMaxCacheSize(long numBytes)

กำหนดขนาดสูงสุดของแคชไฟล์ในเครื่อง

วิธีการที่มีการป้องกัน

void lockFile(String remoteFilePath)

รับสิทธิ์ล็อกไฟล์

boolean tryLockFile(String remoteFilePath)

รับการล็อกไฟล์เฉพาะในกรณีที่ไม่มีเทรดอื่นถือครองอยู่

void unlockFile(String remoteFilePath)

พยายามปลดล็อกไฟล์

เมธอดสาธารณะ

deleteCacheEntry

public void deleteCacheEntry (String remoteFilePath)

อนุญาตให้ลบรายการออกจากแคช ในกรณีที่รายการไม่ถูกต้องหรือเสียหาย

พารามิเตอร์
remoteFilePath String

fetchRemoteFile

public void fetchRemoteFile (IFileDownloader downloader, 
                String remoteFilePath, 
                File destFile)

ดาวน์โหลดไฟล์หรือลิงก์แคชกับไฟล์ปลายทาง

พารามิเตอร์
downloader IFileDownloader: IFileDownloader

remoteFilePath String: ไฟล์ระยะไกล

destFile File: ไฟล์ปลายทางของการดาวน์โหลด

การโยน
BuildRetrievalError

fetchRemoteFile

public File fetchRemoteFile (IFileDownloader downloader, 
                String remoteFilePath)

แสดงไฟล์ในเครื่องที่สอดคล้องกับ remotePath ที่ระบุ

ระบบจะคัดลอก ERROR(/File) ในเครื่องจากแคช หากมี มิเช่นนั้นระบบจะดาวน์โหลดผ่าน IFileDownloader ที่ระบุ

พารามิเตอร์
downloader IFileDownloader: IFileDownloader

remoteFilePath String: ไฟล์ระยะไกล

คิกรีเทิร์น
File ERROR(/File) ในเครื่องที่มีเนื้อหาของ remotePath

การโยน
BuildRetrievalError หากเรียกข้อมูลไฟล์ไม่ได้

setMaxCacheSize

public void setMaxCacheSize (long numBytes)

กำหนดขนาดสูงสุดของแคชไฟล์ในเครื่อง

ระบบจะไม่ปรับแคชทันทีหากตั้งค่าให้เล็กกว่าปัจจุบัน แต่จะมีผลกับการดาวน์โหลดไฟล์ครั้งถัดไป

วิธีการที่มีการป้องกัน

lockFile

protected void lockFile (String remoteFilePath)

รับสิทธิ์ล็อกไฟล์

พารามิเตอร์
remoteFilePath String

tryLockFile

protected boolean tryLockFile (String remoteFilePath)

รับการล็อกไฟล์เฉพาะในกรณีที่ไม่มีเทรดอื่นถือครองอยู่

พารามิเตอร์
remoteFilePath String

คิกรีเทิร์น
boolean จริงหากได้รับล็อก และเท็จหากไม่ได้รับ

unlockFile

protected void unlockFile (String remoteFilePath)

พยายามปลดล็อกไฟล์

พารามิเตอร์
remoteFilePath String