protected $repoName;
/** @var Closure */
protected $dbHandleFunc;
- /** @var ProcessCacheLRU */
+ /** @var MapCacheLRU */
protected $resolvedPathCache;
/** @var DBConnRef[] */
protected $dbs;
$this->backend = $config['backend'];
$this->repoName = $config['repoName'];
$this->dbHandleFunc = $config['dbHandleFactory'];
- $this->resolvedPathCache = new ProcessCacheLRU( 100 );
+ $this->resolvedPathCache = new MapCacheLRU( 100 );
}
/**
// @TODO: batching
$resolved = [];
foreach ( $paths as $i => $path ) {
- if ( !$latest && $this->resolvedPathCache->has( $path, 'target', 10 ) ) {
- $resolved[$i] = $this->resolvedPathCache->get( $path, 'target' );
+ if ( !$latest && $this->resolvedPathCache->hasField( $path, 'target', 10 ) ) {
+ $resolved[$i] = $this->resolvedPathCache->getField( $path, 'target' );
continue;
}
continue;
}
$resolved[$i] = $this->getPathForSHA1( $sha1 );
- $this->resolvedPathCache->set( $path, 'target', $resolved[$i] );
+ $this->resolvedPathCache->setField( $path, 'target', $resolved[$i] );
} elseif ( $container === "{$this->repoName}-deleted" ) {
$name = basename( $path ); // <hash>.<ext>
$sha1 = substr( $name, 0, strpos( $name, '.' ) ); // ignore extension
$resolved[$i] = $this->getPathForSHA1( $sha1 );
- $this->resolvedPathCache->set( $path, 'target', $resolved[$i] );
+ $this->resolvedPathCache->setField( $path, 'target', $resolved[$i] );
} else {
$resolved[$i] = $path;
}
function __construct( $localInfo, $foreignInfo ) {
$this->localInfo = $localInfo;
$this->foreignInfo = $foreignInfo;
- $this->cache = new ProcessCacheLRU( self::MAX_CACHE_SIZE );
+ $this->cache = new MapCacheLRU( self::MAX_CACHE_SIZE );
}
/**
&& empty( $options['latest'] )
) {
$time = $options['time'] ?? '';
- if ( $this->cache->has( $dbkey, $time, 60 ) ) {
- return $this->cache->get( $dbkey, $time );
+ if ( $this->cache->hasField( $dbkey, $time, 60 ) ) {
+ return $this->cache->getField( $dbkey, $time );
}
$useCache = true;
} else {
$image = $image ?: false; // type sanity
# Cache file existence or non-existence
if ( $useCache && ( !$image || $image->isCacheable() ) ) {
- $this->cache->set( $dbkey, $time, $image );
+ $this->cache->setField( $dbkey, $time, $image );
}
return $image;