Javadoc
Puts file data into cache, or gets older data in case of collisions.
The memory buffers provided MUST be allocated via an allocator returned by getAllocator
method, to allow cache implementations that evict and then de-allocate the buffer.
It is assumed that the caller will use the data immediately, therefore any buffers provided
to putFileData (or returned due to cache collision) are locked in cache to prevent eviction,
and must therefore be released back to cache via a corresponding call (releaseBuffer) when the
caller is done with it. Buffers rejected due to conflict will neither be locked, nor
automatically deallocated. The caller must take care to discard these buffers.