MediaWiki master
DiffHistoryBlob Class Reference

Diff-based history compression Requires xdiff and zlib. More...

Inherits HistoryBlob.

Collaboration diagram for DiffHistoryBlob:

Public Member Functions

 __construct ()
 
 __sleep ()
 
 __wakeup ()
 
 addItem ( $text)
 
 getItem ( $key)
 
 getText ()
 
 isHappy ()
 Helper function for compression jobs Returns true until the object is "full" and ready to be committed.
 
 setText ( $text)
 
 xdiffAdler32 ( $s)
 Compute a binary "Adler-32" checksum as defined by LibXDiff, i.e.
 

Public Attributes

string null $mCompressed
 Compressed storage.
 
string $mDefaultKey
 The key for getText()
 
array $mDiffMap
 The diff map, see above.
 
array null $mDiffs
 Array of diffs.
 
bool $mFrozen = false
 True if the object is locked against further writes.
 
string[] $mItems = []
 Uncompressed item cache.
 
int $mMaxCount = 100
 The maximum number of text items before the object becomes sad.
 
int $mMaxSize = 10_000_000
 The maximum uncompressed size before the object becomes sad Should be less than max_allowed_packet.
 
int $mSize = 0
 Total uncompressed size.
 

Detailed Description

Diff-based history compression Requires xdiff and zlib.

WARNING: Objects of this class are serialized and permanently stored in the DB. Do not change the name or visibility of any property!

Definition at line 30 of file DiffHistoryBlob.php.

Constructor & Destructor Documentation

◆ __construct()

DiffHistoryBlob::__construct ( )

Definition at line 74 of file DiffHistoryBlob.php.

Member Function Documentation

◆ __sleep()

DiffHistoryBlob::__sleep ( )
Returns
array

Definition at line 291 of file DiffHistoryBlob.php.

References $mDefaultKey, and $mDiffs.

◆ __wakeup()

DiffHistoryBlob::__wakeup ( )

Definition at line 318 of file DiffHistoryBlob.php.

◆ addItem()

DiffHistoryBlob::addItem (   $text)
Parameters
string$text
Returns
string

Implements HistoryBlob.

Definition at line 84 of file DiffHistoryBlob.php.

Referenced by setText().

◆ getItem()

DiffHistoryBlob::getItem (   $key)
Parameters
string$key
Returns
string

Implements HistoryBlob.

Definition at line 99 of file DiffHistoryBlob.php.

Referenced by getText().

◆ getText()

DiffHistoryBlob::getText ( )
Returns
string

Implements HistoryBlob.

Definition at line 113 of file DiffHistoryBlob.php.

References getItem().

◆ isHappy()

DiffHistoryBlob::isHappy ( )

Helper function for compression jobs Returns true until the object is "full" and ready to be committed.

Returns
bool

Definition at line 358 of file DiffHistoryBlob.php.

References $mMaxCount.

◆ setText()

DiffHistoryBlob::setText (   $text)
Parameters
string$text

Implements HistoryBlob.

Definition at line 106 of file DiffHistoryBlob.php.

References addItem().

◆ xdiffAdler32()

DiffHistoryBlob::xdiffAdler32 (   $s)

Compute a binary "Adler-32" checksum as defined by LibXDiff, i.e.

with the bytes backwards and initialised with 0 instead of 1. See T36428.

Parameters
string$s
Returns
string

Definition at line 262 of file DiffHistoryBlob.php.

Member Data Documentation

◆ $mCompressed

string null DiffHistoryBlob::$mCompressed

Compressed storage.

Definition at line 55 of file DiffHistoryBlob.php.

◆ $mDefaultKey

string DiffHistoryBlob::$mDefaultKey

The key for getText()

Definition at line 52 of file DiffHistoryBlob.php.

Referenced by __sleep().

◆ $mDiffMap

array DiffHistoryBlob::$mDiffMap

The diff map, see above.

Definition at line 48 of file DiffHistoryBlob.php.

◆ $mDiffs

array null DiffHistoryBlob::$mDiffs

Array of diffs.

If a diff D from A to B is notated D = B - A, and Z is an empty string:

         { item[map[i]] - item[map[i-1]]   where i > 0

diff[i] = { { item[map[i]] - Z where i = 0

Definition at line 45 of file DiffHistoryBlob.php.

Referenced by __sleep().

◆ $mFrozen

bool DiffHistoryBlob::$mFrozen = false

True if the object is locked against further writes.

Definition at line 58 of file DiffHistoryBlob.php.

◆ $mItems

string [] DiffHistoryBlob::$mItems = []

Uncompressed item cache.

Definition at line 32 of file DiffHistoryBlob.php.

◆ $mMaxCount

int DiffHistoryBlob::$mMaxCount = 100

The maximum number of text items before the object becomes sad.

Definition at line 67 of file DiffHistoryBlob.php.

Referenced by isHappy().

◆ $mMaxSize

int DiffHistoryBlob::$mMaxSize = 10_000_000

The maximum uncompressed size before the object becomes sad Should be less than max_allowed_packet.

Definition at line 64 of file DiffHistoryBlob.php.

◆ $mSize

int DiffHistoryBlob::$mSize = 0

Total uncompressed size.

Definition at line 35 of file DiffHistoryBlob.php.


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