class_docstr: Parser class for connections using Hiredis
class_docstr_tok: ["Parser","class","for","connections","using","Hiredis"]
code: def can_read(self, timeout):
      if not self._reader:
          raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR)
  
      if self._next_response is False:
          self._next_response = self._reader.gets()
          if self._next_response is False:
              return self.read_from_socket(
                  timeout=timeout, raise_on_timeout=False
              )
      return True
  
imports: import asyncio
  import socket
  import sys
  from typing import Callable, List, Optional, TypedDict, Union
  from ..exceptions import ConnectionError, InvalidResponse, RedisError
  from ..typing import EncodableT
  from ..utils import HIREDIS_AVAILABLE
  from .base import AsyncBaseParser, BaseParser
  from .socket import NONBLOCKING_EXCEPTION_ERROR_NUMBERS, NONBLOCKING_EXCEPTIONS, SENTINEL, SERVER_CLOSED_CONNECTION_ERROR
label_desc: Use image node_id 5 for calling the _HiredisParser obj's underlying member method code with example usage: obj.can_read(timeout) and returns: True, self