Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RedisCaster.php

function RedisCaster::getRedisOptions

3 calls to RedisCaster::getRedisOptions()
RedisCaster::castRedis in vendor/symfony/var-dumper/Caster/RedisCaster.php
RedisCaster::castRedisArray in vendor/symfony/var-dumper/Caster/RedisCaster.php
RedisCaster::castRedisCluster in vendor/symfony/var-dumper/Caster/RedisCaster.php

File

vendor/symfony/var-dumper/Caster/RedisCaster.php, line 106

Class

RedisCaster
Casts Redis class from ext-redis to array representation.

Namespace

Symfony\Component\VarDumper\Caster

Code

private static function getRedisOptions(\Redis|Relay|\RedisArray|\RedisCluster $redis, array $options = []) : EnumStub {
    $serializer = $redis->getOption(\defined('Redis::OPT_SERIALIZER') ? \Redis::OPT_SERIALIZER : 1);
    if (\is_array($serializer)) {
        foreach ($serializer as &$v) {
            if (isset(self::SERIALIZERS[$v])) {
                $v = new ConstStub(self::SERIALIZERS[$v], $v);
            }
        }
    }
    elseif (isset(self::SERIALIZERS[$serializer])) {
        $serializer = new ConstStub(self::SERIALIZERS[$serializer], $serializer);
    }
    $compression = \defined('Redis::OPT_COMPRESSION') ? $redis->getOption(\Redis::OPT_COMPRESSION) : 0;
    if (\is_array($compression)) {
        foreach ($compression as &$v) {
            if (isset(self::COMPRESSION_MODES[$v])) {
                $v = new ConstStub(self::COMPRESSION_MODES[$v], $v);
            }
        }
    }
    elseif (isset(self::COMPRESSION_MODES[$compression])) {
        $compression = new ConstStub(self::COMPRESSION_MODES[$compression], $compression);
    }
    $retry = \defined('Redis::OPT_SCAN') ? $redis->getOption(\Redis::OPT_SCAN) : 0;
    if (\is_array($retry)) {
        foreach ($retry as &$v) {
            $v = new ConstStub($v ? 'RETRY' : 'NORETRY', $v);
        }
    }
    else {
        $retry = new ConstStub($retry ? 'RETRY' : 'NORETRY', $retry);
    }
    $options += [
        'TCP_KEEPALIVE' => \defined('Redis::OPT_TCP_KEEPALIVE') ? $redis->getOption(\Redis::OPT_TCP_KEEPALIVE) : Relay::OPT_TCP_KEEPALIVE,
        'READ_TIMEOUT' => $redis->getOption(\defined('Redis::OPT_READ_TIMEOUT') ? \Redis::OPT_READ_TIMEOUT : Relay::OPT_READ_TIMEOUT),
        'COMPRESSION' => $compression,
        'SERIALIZER' => $serializer,
        'PREFIX' => $redis->getOption(\defined('Redis::OPT_PREFIX') ? \Redis::OPT_PREFIX : Relay::OPT_PREFIX),
        'SCAN' => $retry,
    ];
    return new EnumStub($options);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal