protected function setConfig($config)
{
/* Parameter check -- probably should raise an error here if
* config is not an array. */
if (!is_array($config)) {
return;
}
foreach ($config as $k => $v) {
if (isset($this->_config[$k])) {
$this->_config[$k] = $v;
}
}
/* Ensure the host list is an array. */
if (is_array($this->_config['hostspec'])) {
$this->_hostList = $this->_config['hostspec'];
} else {
if (strlen($this->_config['hostspec'])) {
$this->_hostList = array($this->_config['hostspec']);
} else {
$this->_hostList = array();
/* This will cause an error in _connect(), so
* the user is notified about the failure. */
}
}
/* Reset the down host list, which seems like a sensible thing
* to do if the config is being reset for some reason. */
$this->_downHostList = array();
}