MediaWiki  REL1_24
LBFactorySingle.php
Go to the documentation of this file.
00001 <?php
00027 class LBFactorySingle extends LBFactory {
00029     protected $lb;
00030 
00035     function __construct( $conf ) {
00036         $this->lb = new LoadBalancerSingle( $conf );
00037     }
00038 
00043     function newMainLB( $wiki = false ) {
00044         return $this->lb;
00045     }
00046 
00051     function getMainLB( $wiki = false ) {
00052         return $this->lb;
00053     }
00054 
00060     function newExternalLB( $cluster, $wiki = false ) {
00061         return $this->lb;
00062     }
00063 
00069     function &getExternalLB( $cluster, $wiki = false ) {
00070         return $this->lb;
00071     }
00072 
00077     function forEachLB( $callback, $params = array() ) {
00078         call_user_func_array( $callback, array_merge( array( $this->lb ), $params ) );
00079     }
00080 }
00081 
00085 class LoadBalancerSingle extends LoadBalancer {
00087     protected $db;
00088 
00092     function __construct( $params ) {
00093         $this->db = $params['connection'];
00094         parent::__construct( array( 'servers' => array( array(
00095             'type' => $this->db->getType(),
00096             'host' => $this->db->getServer(),
00097             'dbname' => $this->db->getDBname(),
00098             'load' => 1,
00099         ) ) ) );
00100     }
00101 
00109     function reallyOpenConnection( $server, $dbNameOverride = false ) {
00110         return $this->db;
00111     }
00112 }