* @ingroup Cache
*/
class MultiWriteBagOStuff extends BagOStuff {
- var $caches;
+ /** @var array BagOStuff[] */
+ protected $caches;
/**
* Constructor. Parameters are:
* @param mixed $value
* @param mixed $exptime
* @return bool
+ * @throws MWException
*/
public function cas( $casToken, $key, $value, $exptime = 0 ) {
throw new MWException( "CAS is not implemented in " . __CLASS__ );
return $this->doWrite( 'add', $key, $value, $exptime );
}
- /**
- * @param string $key
- * @param mixed $value
- * @param int $exptime
- * @return bool
- */
- public function replace( $key, $value, $exptime = 0 ) {
- return $this->doWrite( 'replace', $key, $value, $exptime );
- }
-
/**
* @param string $key
* @param int $value
/**
* @param string $key
* @param int $timeout
+ * @param int $expiry
* @return bool
*/
- public function lock( $key, $timeout = 0 ) {
+ public function lock( $key, $timeout = 6, $expiry = 6 ) {
// Lock only the first cache, to avoid deadlocks
if ( isset( $this->caches[0] ) ) {
- return $this->caches[0]->lock( $key, $timeout );
+ return $this->caches[0]->lock( $key, $timeout, $expiry );
} else {
return true;
}