%PDF- %PDF-
Direktori : /var/www/html/hr/api/vendor/laravel/framework/src/Illuminate/Redis/Connections/ |
Current File : /var/www/html/hr/api/vendor/laravel/framework/src/Illuminate/Redis/Connections/PredisConnection.php |
<?php namespace Illuminate\Redis\Connections; use Closure; use Illuminate\Contracts\Redis\Connection as ConnectionContract; use Predis\Command\ServerFlushDatabase; use Predis\Connection\Aggregate\ClusterInterface; /** * @mixin \Predis\Client * @deprecated Predis is no longer maintained by its original author */ class PredisConnection extends Connection implements ConnectionContract { /** * The Predis client. * * @var \Predis\Client */ protected $client; /** * Create a new Predis connection. * * @param \Predis\Client $client * @return void */ public function __construct($client) { $this->client = $client; } /** * Subscribe to a set of given channels for messages. * * @param array|string $channels * @param \Closure $callback * @param string $method * @return void */ public function createSubscription($channels, Closure $callback, $method = 'subscribe') { $loop = $this->pubSubLoop(); call_user_func_array([$loop, $method], (array) $channels); foreach ($loop as $message) { if ($message->kind === 'message' || $message->kind === 'pmessage') { call_user_func($callback, $message->payload, $message->channel); } } unset($loop); } /** * Flush the selected Redis database. * * @return void */ public function flushdb() { if (! $this->client->getConnection() instanceof ClusterInterface) { return $this->command('flushdb'); } foreach ($this->getConnection() as $node) { $node->executeCommand(new ServerFlushDatabase); } } }