CacheDataSink.Factory


class CacheDataSink.Factory : DataSink.Factory


DataSink.Factory for CacheDataSink instances.

Summary

Public constructors

Creates an instance.

Public functions

DataSink!

Creates a DataSink instance.

CacheDataSink.Factory!

Sets the size of an in-memory buffer used when writing to a cache file.

CacheDataSink.Factory!

Sets the cache to which data will be written.

CacheDataSink.Factory!

Sets the cache file fragment size.

Public constructors

Factory

Factory()

Creates an instance.

Public functions

createDataSink

fun createDataSink(): DataSink!

Creates a DataSink instance.

setBufferSize

@CanIgnoreReturnValue
fun setBufferSize(bufferSize: Int): CacheDataSink.Factory!

Sets the size of an in-memory buffer used when writing to a cache file. A zero or negative value disables buffering.

The default value is DEFAULT_BUFFER_SIZE.

Parameters
bufferSize: Int

The buffer size in bytes.

Returns
CacheDataSink.Factory!

This factory.

setCache

@CanIgnoreReturnValue
fun setCache(cache: Cache!): CacheDataSink.Factory!

Sets the cache to which data will be written.

Must be called before the factory is used.

Parameters
cache: Cache!

The cache to which data will be written.

Returns
CacheDataSink.Factory!

This factory.

setFragmentSize

@CanIgnoreReturnValue
fun setFragmentSize(fragmentSize: Long): CacheDataSink.Factory!

Sets the cache file fragment size. For requests that should be fragmented into multiple cache files, this is the maximum size of a cache file in bytes. If set to LENGTH_UNSET then no fragmentation will occur. Using a small value allows for finer-grained cache eviction policies, at the cost of increased overhead both on the cache implementation and the file system. Values under (2 * 1024 * 1024) are not recommended.

The default value is DEFAULT_FRAGMENT_SIZE.

Parameters
fragmentSize: Long

The fragment size in bytes, or LENGTH_UNSET to disable fragmentation.

Returns
CacheDataSink.Factory!

This factory.