MediaWiki
REL1_24
|
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 }