[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/filebackend/lockmanager/ -> MemcLockManager.php (summary)

Version of LockManager based on using memcached servers. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

File Size: 384 lines (12 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

MemcLockManager:: (14 methods):
  __construct()
  getLocksOnServer()
  freeLocksOnServer()
  doGetLocksOnServer()
  doFreeLocksOnServer()
  releaseAllLocks()
  isServerUp()
  getCache()
  recordKeyForPath()
  newLockArray()
  sanitizeLockArray()
  acquireMutexes()
  releaseMutexes()
  __destruct()


Class: MemcLockManager  - X-Ref

Manage locks using memcached servers.

Version of LockManager based on using memcached servers.
This is meant for multi-wiki systems that may share files.
All locks are non-blocking, which avoids deadlocks.

All lock requests for a resource, identified by a hash string, will map to one
bucket. Each bucket maps to one or several peer servers, each running memcached.
A majority of peers must agree for a lock to be acquired.

__construct( array $config )   X-Ref
Construct a new instance from configuration.

param: array $config Paramaters include:

getLocksOnServer( $lockSrv, array $pathsByType )   X-Ref
No description

freeLocksOnServer( $lockSrv, array $pathsByType )   X-Ref
No description

doGetLocksOnServer( $lockSrv, array $paths, $type )   X-Ref

param: string $lockSrv
param: array $paths
param: string $type
return: Status

doFreeLocksOnServer( $lockSrv, array $paths, $type )   X-Ref

param: string $lockSrv
param: array $paths
param: string $type
return: Status

releaseAllLocks()   X-Ref

return: Status

isServerUp( $lockSrv )   X-Ref

param: string $lockSrv
return: bool

getCache( $lockSrv )   X-Ref
Get the MemcachedBagOStuff object for a $lockSrv

param: string $lockSrv Server name
return: MemcachedBagOStuff|null

recordKeyForPath( $path )   X-Ref

param: string $path
return: string

newLockArray()   X-Ref

return: array An empty lock structure for a key

sanitizeLockArray( $a )   X-Ref

param: array $a
return: array An empty lock structure for a key

acquireMutexes( MemcachedBagOStuff $memc, array $keys )   X-Ref

param: MemcachedBagOStuff $memc
param: array $keys List of keys to acquire
return: bool

releaseMutexes( MemcachedBagOStuff $memc, array $keys )   X-Ref

param: MemcachedBagOStuff $memc
param: array $keys List of acquired keys

__destruct()   X-Ref
Make sure remaining locks get cleared for sanity




Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1