Returns the command factory used by the client.
public getCommandFactory ( ) : Predis\Command\FactoryInterface | ||
return | Predis\Command\FactoryInterface |
/** * {@inheritdoc} */ public function __construct(ClientInterface $client) { if (!$client->getCommandFactory()->supportsCommands(array('multi', 'exec', 'discard'))) { throw new ClientException("'MULTI', 'EXEC' and 'DISCARD' are not supported by the current command factory."); } parent::__construct($client); }
/** * Checks if the passed client instance satisfies the required conditions * needed to initialize the transaction object. * * @param ClientInterface $client Client instance used by the transaction object. * * @throws NotSupportedException */ private function assertClient(ClientInterface $client) { if ($client->getConnection() instanceof AggregateConnectionInterface) { throw new NotSupportedException('Cannot initialize a MULTI/EXEC transaction over aggregate connections.'); } if (!$client->getCommandFactory()->supportsCommands(array('MULTI', 'EXEC', 'DISCARD'))) { throw new NotSupportedException('MULTI, EXEC and DISCARD are not supported by the current command factory.'); } }
/** * Checks if the passed client instance satisfies the required conditions * needed to initialize a monitor consumer. * * @param ClientInterface $client Client instance used by the consumer. * * @throws NotSupportedException */ private function assertClient(ClientInterface $client) { if ($client->getConnection() instanceof AggregateConnectionInterface) { throw new NotSupportedException('Cannot initialize a monitor consumer over aggregate connections.'); } if ($client->getCommandFactory()->supportsCommand('MONITOR') === false) { throw new NotSupportedException("'MONITOR' is not supported by the current command factory."); } }
/** * Checks if the client instance satisfies the required conditions needed to * initialize a PUB/SUB consumer. * * @param ClientInterface $client Client instance used by the consumer. * * @throws NotSupportedException */ private function checkCapabilities(ClientInterface $client) { if ($client->getConnection() instanceof AggregateConnectionInterface) { throw new NotSupportedException('Cannot initialize a PUB/SUB consumer over aggregate connections.'); } $commands = array('publish', 'subscribe', 'unsubscribe', 'psubscribe', 'punsubscribe'); if ($client->getCommandFactory()->supportsCommands($commands) === false) { throw new NotSupportedException('PUB/SUB commands are not supported by the current command factory.'); } }
/** * Ensures that the client supports the specified Redis command required to * fetch elements from the server to perform the iteration. * * @param ClientInterface $client Client connected to Redis. * @param string $commandID Command ID. * * @throws NotSupportedException */ protected function requiredCommand(ClientInterface $client, $commandID) { if (!$client->getCommandFactory()->supportsCommand($commandID)) { throw new NotSupportedException("'{$commandID}' is not supported by the current command factory."); } }