MediaWiki  REL1_24
ChronologyProtector Class Reference

Class for ensuring a consistent ordering of events as seen by the user, despite replication. More...

Collaboration diagram for ChronologyProtector:

List of all members.

Public Member Functions

 initLB (LoadBalancer $lb)
 Initialise a LoadBalancer to give it appropriate chronology protection.
 shutdown ()
 Notify the ChronologyProtector that the LBFactory is done calling shutdownLB() for now.
 shutdownLB (LoadBalancer $lb)
 Notify the ChronologyProtector that the LoadBalancer is about to shut down.

Protected Attributes

bool $initialized = false
 Whether the session data was loaded *.
array $shutdownPositions = array()
 (DB master name => position) *
array $startupPositions = array()
 (DB master name => position) *

Detailed Description

Class for ensuring a consistent ordering of events as seen by the user, despite replication.

Kind of like Hawking's [[Chronology Protection Agency]].

Definition at line 28 of file ChronologyProtector.php.


Member Function Documentation

Initialise a LoadBalancer to give it appropriate chronology protection.

If the session has a previous master position recorded, this will try to make sure that the next query to a slave of that master will see changes up to that position by delaying execution. The delay may timeout and allow stale data if no non-lagged slaves are available.

Parameters:
LoadBalancer$lb
Returns:
void

Definition at line 46 of file ChronologyProtector.php.

Notify the ChronologyProtector that the LBFactory is done calling shutdownLB() for now.

May commit chronology data to persistent storage.

Returns:
void

Definition at line 99 of file ChronologyProtector.php.

Notify the ChronologyProtector that the LoadBalancer is about to shut down.

Saves replication positions.

Parameters:
LoadBalancer$lb
Returns:
void

Definition at line 72 of file ChronologyProtector.php.


Member Data Documentation

bool ChronologyProtector::$initialized = false [protected]

Whether the session data was loaded *.

Definition at line 33 of file ChronologyProtector.php.

array ChronologyProtector::$shutdownPositions = array() [protected]

(DB master name => position) *

Definition at line 31 of file ChronologyProtector.php.

array ChronologyProtector::$startupPositions = array() [protected]

(DB master name => position) *

Definition at line 29 of file ChronologyProtector.php.


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