* Ignores the old configuration globals
*
* Configuration:
- * sectionsByDB A map of database names to section names
+ * sectionsByDB A map of database names to section names.
*
* sectionLoads A 2-d map. For each section, gives a map of server names to
* load ratios. For example:
*
* hostsByName A map of hostname to IP address.
*
- * externalLoads A map of external storage cluster name to server load map
+ * externalLoads A map of external storage cluster name to server load map.
*
* externalTemplateOverrides A set of server info keys overriding serverTemplate for external
- * storage
+ * storage.
*
* templateOverridesByServer A 2-d map overriding serverTemplate and
* externalTemplateOverrides on a server-by-server basis. Applies
* to both core and external storage.
*
- * templateOverridesByCluster A 2-d map overriding the server info by external storage cluster
+ * templateOverridesByCluster A 2-d map overriding the server info by external storage cluster.
*
* masterTemplateOverrides An override array for all master servers.
*
*/
class LBFactoryMulti extends LBFactory {
// Required settings
- var $sectionsByDB, $sectionLoads, $serverTemplate;
+
+ /** @var array A map of database names to section names */
+ protected $sectionsByDB;
+
+ /**
+ * @var array A 2-d map. For each section, gives a map of server names to
+ * load ratios
+ */
+ protected $sectionLoads;
+
+ /**
+ * @var array A server info associative array as documented for
+ * $wgDBservers. The host, hostName and load entries will be
+ * overridden
+ */
+ protected $serverTemplate;
+
// Optional settings
- var $groupLoadsBySection = array(), $groupLoadsByDB = array(), $hostsByName = array();
- var $externalLoads = array(), $externalTemplateOverrides, $templateOverridesByServer;
- var $templateOverridesByCluster, $masterTemplateOverrides, $readOnlyBySection = array();
+
+ /** @var array A 3-d map giving server load ratios for each section and group */
+ protected $groupLoadsBySection = array();
+
+ /** @var array A 3-d map giving server load ratios by DB name */
+ protected $groupLoadsByDB = array();
+
+ /** @var array A map of hostname to IP address */
+ protected $hostsByName = array();
+
+ /** @var array A map of external storage cluster name to server load map */
+ protected $externalLoads = array();
+
+ /**
+ * @var array A set of server info keys overriding serverTemplate for
+ * external storage
+ */
+ protected $externalTemplateOverrides;
+
+ /**
+ * @var array A 2-d map overriding serverTemplate and
+ * externalTemplateOverrides on a server-by-server basis. Applies to both
+ * core and external storage
+ */
+ protected $templateOverridesByServer;
+
+ /** @var array A 2-d map overriding the server info by external storage cluster */
+ protected $templateOverridesByCluster;
+
+ /** @var array An override array for all master servers */
+ protected $masterTemplateOverrides;
+
+ /**
+ * @var array|bool A map of section name to read-only message. Missing or
+ * false for read/write
+ */
+ protected $readOnlyBySection = array();
+
// Other stuff
- var $conf, $mainLBs = array(), $extLBs = array();
- var $lastWiki, $lastSection;
+
+ /** @var array Load balancer factory configuration */
+ protected $conf;
+
+ /** @var LoadBalancer[] */
+ protected $mainLBs = array();
+
+ /** @var LoadBalancer[] */
+ protected $extLBs = array();
+
+ /** @var string */
+ protected $lastWiki;
+
+ /** @var string */
+ protected $lastSection;
/**
* @param $conf array