get

open operator override fun get(key: K): Path

Returns the directory associated with key, producing it if absent.

On cache hit the existing directory is returned immediately. On cache miss the entry is loaded at most once: concurrent callers, in this or in other processes, requesting the same entry block until the first one is done, then they observe a cache hit.

Return

the Path of the final cache directory, filled with data.

Parameters

key

the entry identity, determining both the directory name and the data to load.

Throws

if the CachedDirectoryKey.directoryName of key is not a single path segment, or starts with ..

if the loader writes no file. Anything thrown by the loader, or by the file system while publishing the entry, propagates unchanged.