MediaWiki  REL1_21
FileBackendStoreShardListIterator Class Reference

FileBackendStore helper function to handle listings that span container shards. More...

Inheritance diagram for FileBackendStoreShardListIterator:
Collaboration diagram for FileBackendStoreShardListIterator:

List of all members.

Public Member Functions

 __construct (FileBackendStore $backend, $container, $dir, array $suffixes, array $params)
 current ()
 key ()
 next ()
 rewind ()
 valid ()

Protected Member Functions

 filterViaNext ()
 Filter out duplicate items by advancing to the next ones.
 listFromShard ($container, $dir, array $params)
 Get the list for a given container shard.
 nextShardIteratorIfNotValid ()
 If the list iterator for this container shard is out of items, then move on to the next container that has items.
 setIteratorFromCurrentShard ()
 Set the list iterator to that of the current container shard.

Protected Attributes

FileBackendStore $backend
 *
 $container
 $curShard = 0
 $directory
Traversable $iter
 *
Array $multiShardPaths = array()
 *
Array $params
 *
 $pos = 0
Array $shardSuffixes
 *

Detailed Description

FileBackendStore helper function to handle listings that span container shards.

Do not use this class from places outside of FileBackendStore.

Definition at line 1782 of file FileBackendStore.php.


Constructor & Destructor Documentation

FileBackendStoreShardListIterator::__construct ( FileBackendStore backend,
container,
dir,
array suffixes,
array params 
)
Parameters:
$backendFileBackendStore
string$containerFull storage container name
string$dirStorage directory relative to container
array$suffixesList of container shard suffixes
array$params

Definition at line 1802 of file FileBackendStore.php.


Member Function Documentation

See also:
Iterator::current()
Returns:
string|bool String or false

Definition at line 1837 of file FileBackendStore.php.

Filter out duplicate items by advancing to the next ones.

Definition at line 1883 of file FileBackendStore.php.

See also:
Iterator::key()
Returns:
integer

Definition at line 1816 of file FileBackendStore.php.

References $backend, $container, $dir, $params, and directory.

FileBackendStoreShardListIterator::listFromShard ( container,
dir,
array params 
) [abstract, protected]

Get the list for a given container shard.

Parameters:
string$containerResolved container name
string$dirResolved path relative to container
array$params
Returns:
Traversable|Array|null

Reimplemented in FileBackendStoreShardFileIterator, and FileBackendStoreShardDirIterator.

See also:
Iterator::next()
Returns:
void

Definition at line 1847 of file FileBackendStore.php.

If the list iterator for this container shard is out of items, then move on to the next container that has items.

If there are none, then it advances to the last container.

Definition at line 1904 of file FileBackendStore.php.

Referenced by rewind().

See also:
Iterator::rewind()
Returns:
void

Definition at line 1865 of file FileBackendStore.php.

References nextShardIteratorIfNotValid(), and valid().

Set the list iterator to that of the current container shard.

Definition at line 1913 of file FileBackendStore.php.

See also:
Iterator::valid()
Returns:
bool

Definition at line 1824 of file FileBackendStore.php.

Referenced by rewind().


Member Data Documentation

FileBackendStore FileBackendStoreShardListIterator::$backend [protected]

*

Definition at line 1783 of file FileBackendStore.php.

Referenced by key().

FileBackendStoreShardListIterator::$container [protected]

Definition at line 1786 of file FileBackendStore.php.

Referenced by key().

FileBackendStoreShardListIterator::$curShard = 0 [protected]

Definition at line 1790 of file FileBackendStore.php.

FileBackendStoreShardListIterator::$directory [protected]

Definition at line 1787 of file FileBackendStore.php.

Traversable FileBackendStoreShardListIterator::$iter [protected]

*

Definition at line 1789 of file FileBackendStore.php.

Array FileBackendStoreShardListIterator::$multiShardPaths = array() [protected]

*

Definition at line 1793 of file FileBackendStore.php.

Array FileBackendStoreShardListIterator::$params [protected]

*

Definition at line 1784 of file FileBackendStore.php.

Referenced by key().

FileBackendStoreShardListIterator::$pos = 0 [protected]

Definition at line 1791 of file FileBackendStore.php.

Array FileBackendStoreShardListIterator::$shardSuffixes [protected]

*

Definition at line 1785 of file FileBackendStore.php.


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