docs: def recv(self, timeout=None):
          """Receive an ISOTP frame, blocking if none is available in the buffer
          for at most 'timeout' seconds."""
  
          try:
              return self.rx_queue.get(timeout is None or timeout > 0, timeout)
          except queue.Empty:
              return None