|
|
@ -10,6 +10,9 @@ public class ChunkCache { |
|
|
|
private final Cache<String, byte[]> cache; |
|
|
|
|
|
|
|
public ChunkCache(int maxEntries) { |
|
|
|
if (maxEntries == 0) { |
|
|
|
return; |
|
|
|
} |
|
|
|
this.cache = CacheBuilder.newBuilder() |
|
|
|
.maximumSize(maxEntries) |
|
|
|
.expireAfterAccess(1, TimeUnit.HOURS) |
|
|
@ -17,10 +20,16 @@ public class ChunkCache { |
|
|
|
} |
|
|
|
|
|
|
|
public byte[] getChunk(String fileId) { |
|
|
|
if (this.cache == null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
return this.cache.getIfPresent(fileId); |
|
|
|
} |
|
|
|
|
|
|
|
public void setChunk(String fileId, byte[] data) { |
|
|
|
if (this.cache == null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
this.cache.put(fileId, data); |
|
|
|
} |
|
|
|
|
|
|
|