protected function createConnection(string $host, int $port, bool $persistent, int $timeout)
	{
		try
		{
			if($persistent)
			{
				return pfsockopen('tcp://' . $host, $port, $errNo, $errStr, $timeout);
			}

			return fsockopen('tcp://' . $host, $port, $errNo, $errStr, $timeout);
		}
		catch(Throwable $e)
		{
			$message = $this->name === null ? 'Failed to connect' : vsprintf('Failed to connect to [ %s ]', [$this->name]);

			throw new RedisException(vsprintf('%s. %s', [$message, $e->getMessage()]), (int) $errNo);
		}
	}