MediaWiki  master
FileBackendStore Class Reference

Base class for all backends using particular storage medium. More...

Inheritance diagram for FileBackendStore:
Collaboration diagram for FileBackendStore:

List of all members.

Public Member Functions

 __construct (array $config)
 clearCache (array $paths=null)
 concatenate (array $params)
 copyInternal (array $params)
 Copy a file from one storage path to another in the backend.
 createInternal (array $params)
 Create a file in the backend with the given contents.
 deleteInternal (array $params)
 Delete a file at the storage path.
 directoryExists (array $params)
 executeOpHandlesInternal (array $fileOpHandles)
 Execute a list of FileBackendStoreOpHandle handles in parallel.
 fileExists (array $params)
 getDirectoryList (array $params)
 getDirectoryListInternal ($container, $dir, array $params)
 Do not call this function from places outside FileBackend.
 getFileContentsMulti (array $params)
 getFileHttpUrl (array $params)
 getFileList (array $params)
 getFileListInternal ($container, $dir, array $params)
 Do not call this function from places outside FileBackend.
 getFileProps (array $params)
 getFileSha1Base36 (array $params)
 getFileSize (array $params)
 getFileStat (array $params)
 getFileTimestamp (array $params)
 getLocalCopyMulti (array $params)
 getLocalReferenceMulti (array $params)
 getOperationsInternal (array $ops)
 Return a list of FileOp objects from a list of operations.
 getPathsToLockForOpsInternal (array $performOps)
 Get a list of storage paths to lock for a list of operations Returns an array with 'sh' (shared) and 'ex' (exclusive) keys, each corresponding to a list of storage paths to be locked.
 getScopedLocksForOps (array $ops, Status $status)
 isPathUsableInternal ($storagePath)
 Check if a file can be created or changed at a given storage path.
 isSingleShardPathInternal ($storagePath)
 Check if a storage path maps to a single shard.
 maxFileSizeInternal ()
 Get the maximum allowable file size given backend medium restrictions and basic performance constraints.
 moveInternal (array $params)
 Move a file from one storage path to another in the backend.
 nullInternal (array $params)
 No-op file operation that does nothing.
 preloadCache (array $paths)
 storeInternal (array $params)
 Store a file into the backend from a file on disk.
 streamFile (array $params)

Protected Member Functions

 deleteContainerCache ($container)
 Delete the cached info for a container.
 deleteFileCache ($path)
 Delete the cached stat info for a file path.
 directoriesAreVirtual ()
 Is this a key/value store where directories are just virtual? Virtual directories exists in so much as files exists that are prefixed with the directory path followed by a forward slash.
 doClean (array $params)
 doCleanInternal ($container, $dir, array $params)
 doClearCache (array $paths=null)
 Clears any additional stat caches for storage paths.
 doConcatenate (array $params)
 doCopyInternal (array $params)
 doCreateInternal (array $params)
 doDeleteInternal (array $params)
 doDirectoryExists ($container, $dir, array $params)
 doExecuteOpHandlesInternal (array $fileOpHandles)
 doGetFileContentsMulti (array $params)
 doGetFileSha1Base36 (array $params)
 doGetFileStat (array $params)
 doGetLocalCopyMulti (array $params)
 doGetLocalReferenceMulti (array $params)
 doMoveInternal (array $params)
 doOperationsInternal (array $ops, array $opts)
 doPrepare (array $params)
 doPrepareInternal ($container, $dir, array $params)
 doPrimeContainerCache (array $containerInfo)
 Fill the backend-specific process cache given an array of resolved container names and their corresponding cached info.
 doPublish (array $params)
 doPublishInternal ($container, $dir, array $params)
 doQuickOperationsInternal (array $ops)
 doSecure (array $params)
 doSecureInternal ($container, $dir, array $params)
 doStoreInternal (array $params)
 doStreamFile (array $params)
 fullContainerName ($container)
 Get the full container name, including the wiki ID prefix.
 getContainerHashLevels ($container)
 Get the sharding config for a container.
 getContainerShard ($container, $relPath)
 Get the container name shard suffix for a given path.
 getContainerSuffixes ($container)
 Get a list of full container shard suffixes for a container.
 primeContainerCache (array $items)
 Do a batch lookup from cache for container stats for all containers used in a list of container names, storage paths, or FileOp objects.
 primeFileCache (array $items)
 Do a batch lookup from cache for file stats for all paths used in a list of storage paths or FileOp objects.
 resolveContainerName ($container)
 Resolve a container name, checking if it's allowed by the backend.
 resolveContainerPath ($container, $relStoragePath)
 Resolve a relative storage path, checking if it's allowed by the backend.
 resolveStoragePath ($storagePath)
 Splits a storage path into an internal container name, an internal relative file name, and a container shard suffix.
 resolveStoragePathReal ($storagePath)
 Like resolveStoragePath() except null values are returned if the container is sharded and the shard could not be determined.
 setConcurrencyFlags (array $opts)
 Set the 'concurrency' option from a list of operation options.
 setContainerCache ($container, $val)
 Set the cached info for a container.
 setFileCache ($path, $val)
 Set the cached stat info for a file path.

Static Protected Member Functions

static isValidContainerName ($container)
 Check if a container name is valid.

Protected Attributes

ProcessCacheLRU $cheapCache
 *
ProcessCacheLRU $expensiveCache
 *
 $maxFileSize = 4294967296
BagOStuff $memCache
 *
Array $shardViaHashLevels = array()
 Map of container names to sharding settings *.

Private Member Functions

 containerCacheKey ($container)
 Get the cache key for a container.
 fileCacheKey ($path)
 Get the cache key for a file path.

Detailed Description

Base class for all backends using particular storage medium.

This class defines the methods as abstract that subclasses must implement. Outside callers should *not* use functions with "Internal" in the name.

The FileBackend operations are implemented using basic functions such as storeInternal(), copyInternal(), deleteInternal() and the like. This class is also responsible for path resolution and sanitization.

Since:
1.19

Definition at line 38 of file FileBackendStore.php.


Constructor & Destructor Documentation

See also:
FileBackend::__construct()
Parameters:
$configArray

Reimplemented from FileBackend.

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 52 of file FileBackendStore.php.


Member Function Documentation

FileBackendStore::clearCache ( array paths = null) [final]
See also:
FileBackend::clearCache()

Reimplemented from FileBackend.

Definition at line 1215 of file FileBackendStore.php.

References $path, as, and doClearCache().

FileBackendStore::concatenate ( array params) [final]
See also:
FileBackend::concatenate()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 278 of file FileBackendStore.php.

FileBackendStore::containerCacheKey ( container) [private]

Get the cache key for a container.

Parameters:
$containerstring Resolved container name
Returns:
string

Definition at line 1457 of file FileBackendStore.php.

FileBackendStore::copyInternal ( array params) [final]

Copy a file from one storage path to another in the backend.

This will overwrite any file that exists at the destination. Do not call this function from places outside FileBackend and FileOp.

$params include:

  • src : source storage path
  • dst : destination storage path
  • ignoreMissingSource : do nothing if the source file does not exist
  • disposition : Content-Disposition header value for the destination
  • async : Status will be returned immediately if supported. If the status is OK, then its value field will be set to a FileBackendStoreOpHandle object.
Parameters:
$paramsArray
Returns:
Status

Definition at line 172 of file FileBackendStore.php.

FileBackendStore::createInternal ( array params) [final]

Create a file in the backend with the given contents.

This will overwrite any file that exists at the destination. Do not call this function from places outside FileBackend and FileOp.

$params include:

  • content : the raw file contents
  • dst : destination storage path
  • disposition : Content-Disposition header value for the destination
  • async : Status will be returned immediately if supported. If the status is OK, then its value field will be set to a FileBackendStoreOpHandle object.
Parameters:
$paramsArray
Returns:
Status

Definition at line 97 of file FileBackendStore.php.

FileBackendStore::deleteContainerCache ( container) [final, protected]

Delete the cached info for a container.

The cache key is salted for a while to prevent race conditions.

Parameters:
$containerstring Resolved container name

Definition at line 1477 of file FileBackendStore.php.

FileBackendStore::deleteFileCache ( path) [final, protected]

Delete the cached stat info for a file path.

The cache key is salted for a while to prevent race conditions.

Parameters:
$pathstring Storage path

Definition at line 1572 of file FileBackendStore.php.

FileBackendStore::deleteInternal ( array params) [final]

Delete a file at the storage path.

Do not call this function from places outside FileBackend and FileOp.

$params include:

  • src : source storage path
  • ignoreMissingSource : do nothing if the source file does not exist
  • async : Status will be returned immediately if supported. If the status is OK, then its value field will be set to a FileBackendStoreOpHandle object.
Parameters:
$paramsArray
Returns:
Status

Definition at line 202 of file FileBackendStore.php.

FileBackendStore::directoriesAreVirtual ( ) [abstract, protected]

Is this a key/value store where directories are just virtual? Virtual directories exists in so much as files exists that are prefixed with the directory path followed by a forward slash.

Returns:
bool

Reimplemented in SwiftFileBackend, and FSFileBackend.

See also:
FileBackend::directoryExists()
Returns:
bool|null

Reimplemented from FileBackend.

Definition at line 874 of file FileBackendStore.php.

FileBackendStore::doClean ( array params) [final, protected]
See also:
FileBackend::doClean()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 491 of file FileBackendStore.php.

FileBackendStore::doCleanInternal ( container,
dir,
array params 
) [protected]
See also:
FileBackendStore::doClean()
Returns:
Status

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 545 of file FileBackendStore.php.

FileBackendStore::doClearCache ( array paths = null) [protected]

Clears any additional stat caches for storage paths.

See also:
FileBackend::clearCache()
Parameters:
$pathsArray Storage paths (optional)
Returns:
void

Reimplemented in FSFileBackend.

Definition at line 1240 of file FileBackendStore.php.

Referenced by clearCache().

FileBackendStore::doConcatenate ( array params) [protected]
See also:
FileBackendStore::concatenate()
Returns:
Status

Definition at line 305 of file FileBackendStore.php.

FileBackendStore::doCopyInternal ( array params) [abstract, protected]
FileBackendStore::doCreateInternal ( array params) [abstract, protected]
FileBackendStore::doDeleteInternal ( array params) [abstract, protected]
FileBackendStore::doDirectoryExists ( container,
dir,
array params 
) [abstract, protected]
See also:
FileBackendStore::directoryExists()
Parameters:
$containerstring Resolved container name
$dirstring Resolved path relative to container
$paramsArray
Returns:
bool|null

Reimplemented in SwiftFileBackend, and FSFileBackend.

FileBackendStore::doExecuteOpHandlesInternal ( array fileOpHandles) [protected]
See also:
FileBackendStore::executeOpHandlesInternal()
Parameters:
array$fileOpHandles
Exceptions:
MWException
Returns:
Array List of corresponding Status objects

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 1191 of file FileBackendStore.php.

See also:
FileBackendStore::getFileContentsMulti()
Returns:
Array

Reimplemented in SwiftFileBackend.

Definition at line 659 of file FileBackendStore.php.

FileBackendStore::doGetFileSha1Base36 ( array params) [protected]
See also:
FileBackendStore::getFileSha1Base36()
Returns:
bool|string

Definition at line 709 of file FileBackendStore.php.

FileBackendStore::doGetFileStat ( array params) [abstract, protected]
FileBackendStore::doGetLocalCopyMulti ( array params) [abstract, protected]
See also:
FileBackendStore::getLocalCopyMulti()
Returns:
Array

Reimplemented in SwiftFileBackend, and FSFileBackend.

See also:
FileBackendStore::getLocalReferenceMulti()
Returns:
Array

Reimplemented in FSFileBackend.

Definition at line 777 of file FileBackendStore.php.

FileBackendStore::doMoveInternal ( array params) [protected]
See also:
FileBackendStore::moveInternal()
Returns:
Status

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 251 of file FileBackendStore.php.

FileBackendStore::doOperationsInternal ( array ops,
array opts 
) [final, protected]
See also:
FileBackend::doOperationsInternal()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 1053 of file FileBackendStore.php.

FileBackendStore::doPrepare ( array params) [final, protected]
See also:
FileBackend::doPrepare()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 371 of file FileBackendStore.php.

FileBackendStore::doPrepareInternal ( container,
dir,
array params 
) [protected]
See also:
FileBackendStore::doPrepare()
Returns:
Status

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 403 of file FileBackendStore.php.

FileBackendStore::doPrimeContainerCache ( array containerInfo) [protected]

Fill the backend-specific process cache given an array of resolved container names and their corresponding cached info.

Only containers that actually exist should appear in the map.

Parameters:
$containerInfoArray Map of resolved container names to cached info
Returns:
void

Reimplemented in SwiftFileBackend.

Definition at line 1538 of file FileBackendStore.php.

FileBackendStore::doPublish ( array params) [final, protected]
See also:
FileBackend::doPublish()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 451 of file FileBackendStore.php.

FileBackendStore::doPublishInternal ( container,
dir,
array params 
) [protected]
See also:
FileBackendStore::doPublish()
Returns:
Status

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 483 of file FileBackendStore.php.

FileBackendStore::doQuickOperationsInternal ( array ops) [final, protected]
See also:
FileBackend::doQuickOperationsInternal()
Returns:
Status
Exceptions:
MWException

Reimplemented from FileBackend.

Definition at line 1102 of file FileBackendStore.php.

FileBackendStore::doSecure ( array params) [final, protected]
See also:
FileBackend::doSecure()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 411 of file FileBackendStore.php.

FileBackendStore::doSecureInternal ( container,
dir,
array params 
) [protected]
See also:
FileBackendStore::doSecure()
Returns:
Status

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 443 of file FileBackendStore.php.

FileBackendStore::doStoreInternal ( array params) [abstract, protected]
FileBackendStore::doStreamFile ( array params) [protected]
See also:
FileBackendStore::streamFile()
Returns:
Status

Reimplemented in SwiftFileBackend.

Definition at line 857 of file FileBackendStore.php.

FileBackendStore::executeOpHandlesInternal ( array fileOpHandles) [final]

Execute a list of FileBackendStoreOpHandle handles in parallel.

The resulting Status object fields will correspond to the order in which the handles where given.

Parameters:
$handlesArray List of FileBackendStoreOpHandle objects
Returns:
Array Map of Status objects
Exceptions:
MWException

Definition at line 1166 of file FileBackendStore.php.

FileBackendStore::fileCacheKey ( path) [private]

Get the cache key for a file path.

Parameters:
$pathstring Normalized storage path
Returns:
string

Definition at line 1546 of file FileBackendStore.php.

FileBackendStore::fileExists ( array params) [final]
See also:
FileBackend::fileExists()
Returns:
bool|null

Reimplemented from FileBackend.

Definition at line 553 of file FileBackendStore.php.

FileBackendStore::fullContainerName ( container) [final, protected]

Get the full container name, including the wiki ID prefix.

Parameters:
$containerstring
Returns:
string

Definition at line 1417 of file FileBackendStore.php.

FileBackendStore::getContainerHashLevels ( container) [final, protected]

Get the sharding config for a container.

If greater than 0, then all file storage paths within the container are required to be hashed accordingly.

Parameters:
$containerstring
Returns:
Array (integer levels, integer base, repeat flag) or (0, 0, false)

Definition at line 1379 of file FileBackendStore.php.

FileBackendStore::getContainerShard ( container,
relPath 
) [final, protected]

Get the container name shard suffix for a given path.

Any empty suffix means the container is not sharded.

Parameters:
$containerstring Container name
$relPathstring Storage path relative to the container
Returns:
string|null Returns null if shard could not be determined

Definition at line 1330 of file FileBackendStore.php.

FileBackendStore::getContainerSuffixes ( container) [final, protected]

Get a list of full container shard suffixes for a container.

Parameters:
$containerstring
Returns:
Array

Definition at line 1399 of file FileBackendStore.php.

See also:
FileBackend::getDirectoryList()
Returns:
Traversable|Array|null Returns null on failure

Reimplemented from FileBackend.

Definition at line 912 of file FileBackendStore.php.

FileBackendStore::getDirectoryListInternal ( container,
dir,
array params 
) [abstract]

Do not call this function from places outside FileBackend.

See also:
FileBackendStore::getDirectoryList()
Parameters:
$containerstring Resolved container name
$dirstring Resolved path relative to container
$paramsArray
Returns:
Traversable|Array|null Returns null on failure

Reimplemented in SwiftFileBackend, and FSFileBackend.

See also:
FileBackend::getFileContentsMulti()
Returns:
Array

Reimplemented from FileBackend.

Definition at line 643 of file FileBackendStore.php.

See also:
FileBackend::getFileHttpUrl()
Returns:
string|null

Reimplemented from FileBackend.

Reimplemented in SwiftFileBackend.

Definition at line 807 of file FileBackendStore.php.

FileBackendStore::getFileList ( array params) [final]
See also:
FileBackend::getFileList()
Returns:
Traversable|Array|null Returns null on failure

Reimplemented from FileBackend.

Definition at line 945 of file FileBackendStore.php.

FileBackendStore::getFileListInternal ( container,
dir,
array params 
) [abstract]

Do not call this function from places outside FileBackend.

See also:
FileBackendStore::getFileList()
Parameters:
$containerstring Resolved container name
$dirstring Resolved path relative to container
$paramsArray
Returns:
Traversable|Array|null Returns null on failure

Reimplemented in SwiftFileBackend, and FSFileBackend.

FileBackendStore::getFileProps ( array params) [final]
See also:
FileBackend::getFileProps()
Returns:
Array

Reimplemented from FileBackend.

Definition at line 722 of file FileBackendStore.php.

See also:
FileBackend::getFileSha1Base36()
Returns:
bool|string

Reimplemented from FileBackend.

Definition at line 673 of file FileBackendStore.php.

FileBackendStore::getFileSize ( array params) [final]
See also:
FileBackend::getFileSize()
Returns:
bool

Reimplemented from FileBackend.

Definition at line 579 of file FileBackendStore.php.

FileBackendStore::getFileStat ( array params) [final]
See also:
FileBackend::getFileStat()
Returns:
bool

Reimplemented from FileBackend.

Definition at line 592 of file FileBackendStore.php.

Referenced by SwiftFileBackend\doGetFileSha1base36().

See also:
FileBackend::getFileTimestamp()
Returns:
bool

Reimplemented from FileBackend.

Definition at line 566 of file FileBackendStore.php.

See also:
FileBackend::getLocalCopyMulti()
Returns:
Array

Reimplemented from FileBackend.

Definition at line 785 of file FileBackendStore.php.

See also:
FileBackend::getLocalReferenceMulti()
Returns:
Array

Reimplemented from FileBackend.

Definition at line 736 of file FileBackendStore.php.

Return a list of FileOp objects from a list of operations.

Do not call this function from places outside FileBackend.

The result must have the same number of items as the input. An exception is thrown if an unsupported operation is requested.

Parameters:
$opsArray Same format as doOperations()
Returns:
Array List of FileOp objects
Exceptions:
MWException

Definition at line 985 of file FileBackendStore.php.

Get a list of storage paths to lock for a list of operations Returns an array with 'sh' (shared) and 'ex' (exclusive) keys, each corresponding to a list of storage paths to be locked.

All returned paths are normalized.

Parameters:
$performOpsArray List of FileOp objects
Returns:
Array ('sh' => list of paths, 'ex' => list of paths)

Definition at line 1022 of file FileBackendStore.php.

See also:
FileBackend::getScopedLocksForOps()
Returns:
Array

Reimplemented from FileBackend.

Definition at line 1041 of file FileBackendStore.php.

FileBackendStore::isPathUsableInternal ( storagePath) [abstract]

Check if a file can be created or changed at a given storage path.

FS backends should check if the parent directory exists, files can be written under it, and that any file already there is writable. Backends using key/value stores should check if the container exists.

Parameters:
$storagePathstring
Returns:
bool

Reimplemented in FSFileBackend, and SwiftFileBackend.

FileBackendStore::isSingleShardPathInternal ( storagePath) [final]

Check if a storage path maps to a single shard.

Container dirs like "a", where the container shards on "x/xy", can reside on several shards. Such paths are tricky to handle.

Parameters:
$storagePathstring Storage path
Returns:
bool

Definition at line 1366 of file FileBackendStore.php.

static FileBackendStore::isValidContainerName ( container) [static, final, protected]

Check if a container name is valid.

This checks for for length and illegal characters.

Parameters:
$containerstring
Returns:
bool

Definition at line 1258 of file FileBackendStore.php.

Get the maximum allowable file size given backend medium restrictions and basic performance constraints.

Do not call this function from places outside FileBackend and FileOp.

Returns:
integer Bytes

Definition at line 66 of file FileBackendStore.php.

FileBackendStore::moveInternal ( array params) [final]

Move a file from one storage path to another in the backend.

This will overwrite any file that exists at the destination. Do not call this function from places outside FileBackend and FileOp.

$params include:

  • src : source storage path
  • dst : destination storage path
  • ignoreMissingSource : do nothing if the source file does not exist
  • disposition : Content-Disposition header value for the destination
  • async : Status will be returned immediately if supported. If the status is OK, then its value field will be set to a FileBackendStoreOpHandle object.
Parameters:
$paramsArray
Returns:
Status

Definition at line 235 of file FileBackendStore.php.

FileBackendStore::nullInternal ( array params) [final]

No-op file operation that does nothing.

Do not call this function from places outside FileBackend and FileOp.

Parameters:
$paramsArray
Returns:
Status

Definition at line 270 of file FileBackendStore.php.

FileBackendStore::preloadCache ( array paths) [final]
See also:
FileBackend::preloadCache()

Reimplemented from FileBackend.

Definition at line 1201 of file FileBackendStore.php.

References $path, $s, array(), as, list, primeContainerCache(), primeFileCache(), and resolveStoragePath().

FileBackendStore::primeContainerCache ( array items) [final, protected]

Do a batch lookup from cache for container stats for all containers used in a list of container names, storage paths, or FileOp objects.

This loads the persistent cache values into the process cache.

Parameters:
$itemsArray
Returns:
void

Definition at line 1491 of file FileBackendStore.php.

Referenced by preloadCache().

FileBackendStore::primeFileCache ( array items) [final, protected]

Do a batch lookup from cache for file stats for all paths used in a list of storage paths or FileOp objects.

This loads the persistent cache values into the process cache.

Parameters:
$itemsArray List of storage paths or FileOps
Returns:
void

Definition at line 1590 of file FileBackendStore.php.

Referenced by preloadCache().

FileBackendStore::resolveContainerName ( container) [protected]

Resolve a container name, checking if it's allowed by the backend.

This is intended for internal use, such as encoding illegal chars. Subclasses can override this to be more restrictive.

Parameters:
$containerstring
Returns:
string|null

Definition at line 1433 of file FileBackendStore.php.

FileBackendStore::resolveContainerPath ( container,
relStoragePath 
) [protected]

Resolve a relative storage path, checking if it's allowed by the backend.

This is intended for internal use, such as encoding illegal chars or perhaps getting absolute paths (e.g. FS based backends). Note that the relative path may be the empty string (e.g. the path is simply to the container).

Parameters:
$containerstring Container name
$relStoragePathstring Storage path relative to the container
Returns:
string|null Path or null if not valid

Reimplemented in SwiftFileBackend, and FSFileBackend.

Definition at line 1447 of file FileBackendStore.php.

FileBackendStore::resolveStoragePath ( storagePath) [final, protected]

Splits a storage path into an internal container name, an internal relative file name, and a container shard suffix.

Any shard suffix is already appended to the internal container name. This also checks that the storage path is valid and within this backend.

If the container is sharded but a suffix could not be determined, this means that the path can only refer to a directory and can only be scanned by looking in all the container shards.

Parameters:
$storagePathstring
Returns:
Array (container, path, container suffix) or (null, null, null) if invalid

Definition at line 1280 of file FileBackendStore.php.

Referenced by preloadCache().

FileBackendStore::setConcurrencyFlags ( array opts) [final, protected]

Set the 'concurrency' option from a list of operation options.

Parameters:
$optsarray Map of operation options
Returns:
Array

Definition at line 1637 of file FileBackendStore.php.

FileBackendStore::setContainerCache ( container,
val 
) [final, protected]

Set the cached info for a container.

Parameters:
$containerstring Resolved container name
$valmixed Information to cache

Definition at line 1467 of file FileBackendStore.php.

FileBackendStore::setFileCache ( path,
val 
) [final, protected]

Set the cached stat info for a file path.

Negatives (404s) are not cached. By not caching negatives, we can skip cache salting for the case when a file is created at a path were there was none before.

Parameters:
$pathstring Storage path
$valmixed Information to cache

Definition at line 1558 of file FileBackendStore.php.

FileBackendStore::storeInternal ( array params) [final]

Store a file into the backend from a file on disk.

This will overwrite any file that exists at the destination. Do not call this function from places outside FileBackend and FileOp.

$params include:

  • src : source path on disk
  • dst : destination storage path
  • disposition : Content-Disposition header value for the destination
  • async : Status will be returned immediately if supported. If the status is OK, then its value field will be set to a FileBackendStoreOpHandle object.
Parameters:
$paramsArray
Returns:
Status

Definition at line 134 of file FileBackendStore.php.

FileBackendStore::streamFile ( array params) [final]
See also:
FileBackend::streamFile()
Returns:
Status

Reimplemented from FileBackend.

Definition at line 815 of file FileBackendStore.php.


Member Data Documentation

ProcessCacheLRU FileBackendStore::$cheapCache [protected]

*

Definition at line 40 of file FileBackendStore.php.

ProcessCacheLRU FileBackendStore::$expensiveCache [protected]

*

Definition at line 41 of file FileBackendStore.php.

FileBackendStore::$maxFileSize = 4294967296 [protected]

Definition at line 45 of file FileBackendStore.php.

BagOStuff FileBackendStore::$memCache [protected]

*

Definition at line 39 of file FileBackendStore.php.

Array FileBackendStore::$shardViaHashLevels = array() [protected]

Map of container names to sharding settings *.

Definition at line 43 of file FileBackendStore.php.


The documentation for this class was generated from the following file: