public function __construct(array $params, Driver $driver, Configuration $config = null, EventManager $eventManager = null)
{
if (!isset($params['slaves']) || !isset($params['master'])) {
throw new \InvalidArgumentException('master or slaves configuration missing');
}
if (count($params['slaves']) == 0) {
throw new \InvalidArgumentException('You have to configure at least one slaves.');
}
$params['master']['driver'] = $params['driver'];
foreach ($params['slaves'] as $slaveKey => $slave) {
$params['slaves'][$slaveKey]['driver'] = $params['driver'];
}
$this->keepSlave = isset($params['keepSlave']) ? (bool) $params['keepSlave'] : false;
parent::__construct($params, $driver, $config, $eventManager);
}