* $wgSessionCacheType = 'sessions';
* @endcode
*/
-class RESTBagOStuff extends BagOStuff {
+class RESTBagOStuff extends MediumSpecificBagOStuff {
/**
* Default connection timeout in seconds. The kernel retransmits the SYN
* packet after 1 second, so 1.2 seconds allows for 1 retransmit without
return $this->handleError( "Failed to store $key", $rcode, $rerr, $rhdrs, $rbody );
}
- public function add( $key, $value, $exptime = 0, $flags = 0 ) {
+ protected function doAdd( $key, $value, $exptime = 0, $flags = 0 ) {
// @TODO: make this atomic
if ( $this->get( $key ) === false ) {
return $this->set( $key, $value, $exptime, $flags );
return $this->handleError( "Failed to delete $key", $rcode, $rerr, $rhdrs, $rbody );
}
- public function incr( $key, $value = 1 ) {
+ public function incr( $key, $value = 1, $flags = 0 ) {
// @TODO: make this atomic
$n = $this->get( $key, self::READ_LATEST );
if ( $this->isInteger( $n ) ) { // key exists?
- $n = max( $n + intval( $value ), 0 );
+ $n = max( $n + (int)$value, 0 );
// @TODO: respect $exptime
return $this->set( $key, $n ) ? $n : false;
}
return false;
}
+ public function decr( $key, $value = 1, $flags = 0 ) {
+ return $this->incr( $key, -$value, $flags );
+ }
+
/**
* Processes the response body.
*