Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
predis
/
predis
/
src
/
Cluster
/
Distributor
:
DistributorInterface.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /* * This file is part of the Predis package. * * (c) 2009-2020 Daniele Alessandri * (c) 2021-2023 Till Krüss * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Cluster\Distributor; use Predis\Cluster\Hash\HashGeneratorInterface; /** * A distributor implements the logic to automatically distribute keys among * several nodes for client-side sharding. */ interface DistributorInterface { /** * Adds a node to the distributor with an optional weight. * * @param mixed $node Node object. * @param int $weight Weight for the node. */ public function add($node, $weight = null); /** * Removes a node from the distributor. * * @param mixed $node Node object. */ public function remove($node); /** * Returns the corresponding slot of a node from the distributor using the * computed hash of a key. * * @param mixed $hash * * @return mixed */ public function getSlot($hash); /** * Returns a node from the distributor using its assigned slot ID. * * @param mixed $slot * * @return mixed|null */ public function getBySlot($slot); /** * Returns a node from the distributor using the computed hash of a key. * * @param mixed $hash * * @return mixed */ public function getByHash($hash); /** * Returns a node from the distributor mapping to the specified value. * * @param string $value * * @return mixed */ public function get($value); /** * Returns the underlying hash generator instance. * * @return HashGeneratorInterface */ public function getHashGenerator(); }