Enable buffering for CacheDataSink by default

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=146221487
This commit is contained in:
eguven 2017-02-01 02:53:32 -08:00 committed by Oliver Woodman
parent 74acbe04e3
commit 025a67cae9
2 changed files with 16 additions and 2 deletions

View File

@ -32,6 +32,9 @@ import java.io.OutputStream;
*/ */
public final class CacheDataSink implements DataSink { public final class CacheDataSink implements DataSink {
/** Default buffer size. */
public static final int DEFAULT_BUFFER_SIZE = 20480;
private final Cache cache; private final Cache cache;
private final long maxCacheFileSize; private final long maxCacheFileSize;
private final int bufferSize; private final int bufferSize;
@ -56,13 +59,15 @@ public final class CacheDataSink implements DataSink {
} }
/** /**
* Constructs a CacheDataSink using the {@link #DEFAULT_BUFFER_SIZE}.
*
* @param cache The cache into which data should be written. * @param cache The cache into which data should be written.
* @param maxCacheFileSize The maximum size of a cache file, in bytes. If the sink is opened for * @param maxCacheFileSize The maximum size of a cache file, in bytes. If the sink is opened for
* a {@link DataSpec} whose size exceeds this value, then the data will be fragmented into * a {@link DataSpec} whose size exceeds this value, then the data will be fragmented into
* multiple cache files. * multiple cache files.
*/ */
public CacheDataSink(Cache cache, long maxCacheFileSize) { public CacheDataSink(Cache cache, long maxCacheFileSize) {
this(cache, maxCacheFileSize, 0); this(cache, maxCacheFileSize, DEFAULT_BUFFER_SIZE);
} }
/** /**

View File

@ -24,18 +24,27 @@ public final class CacheDataSinkFactory implements DataSink.Factory {
private final Cache cache; private final Cache cache;
private final long maxCacheFileSize; private final long maxCacheFileSize;
private final int bufferSize;
/** /**
* @see CacheDataSink#CacheDataSink(Cache, long) * @see CacheDataSink#CacheDataSink(Cache, long)
*/ */
public CacheDataSinkFactory(Cache cache, long maxCacheFileSize) { public CacheDataSinkFactory(Cache cache, long maxCacheFileSize) {
this(cache, maxCacheFileSize, CacheDataSink.DEFAULT_BUFFER_SIZE);
}
/**
* @see CacheDataSink#CacheDataSink(Cache, long, int)
*/
public CacheDataSinkFactory(Cache cache, long maxCacheFileSize, int bufferSize) {
this.cache = cache; this.cache = cache;
this.maxCacheFileSize = maxCacheFileSize; this.maxCacheFileSize = maxCacheFileSize;
this.bufferSize = bufferSize;
} }
@Override @Override
public DataSink createDataSink() { public DataSink createDataSink() {
return new CacheDataSink(cache, maxCacheFileSize); return new CacheDataSink(cache, maxCacheFileSize, bufferSize);
} }
} }