lb = new LoadBalancerSingle( array_merge( $this->baseLoadBalancerParams(), $conf ) ); } /** * @param IDatabase $db Live connection handle * @param array $params Parameter map to LBFactorySingle::__constructs() * @return LBFactorySingle * @since 1.28 */ public static function newFromConnection( IDatabase $db, array $params = [] ) { return new static( [ 'connection' => $db ] + $params ); } /** * @param bool|string $wiki * @return LoadBalancerSingle */ public function newMainLB( $wiki = false ) { return $this->lb; } /** * @param bool|string $wiki * @return LoadBalancerSingle */ public function getMainLB( $wiki = false ) { return $this->lb; } /** * @param string $cluster External storage cluster, or false for core * @param bool|string $wiki Wiki ID, or false for the current wiki * @return LoadBalancerSingle */ public function newExternalLB( $cluster, $wiki = false ) { return $this->lb; } /** * @param string $cluster External storage cluster, or false for core * @param bool|string $wiki Wiki ID, or false for the current wiki * @return LoadBalancerSingle */ public function getExternalLB( $cluster, $wiki = false ) { return $this->lb; } /** * @param string|callable $callback * @param array $params */ public function forEachLB( $callback, array $params = [] ) { call_user_func_array( $callback, array_merge( [ $this->lb ], $params ) ); } }