code: def xread(self, streams, timeout=0, count=None, latest_ids=None):
          
          args = self._xread(streams, timeout, count, latest_ids)
          fut = self.execute(b'XREAD', *args)
          return wait_convert(fut, parse_messages_by_stream)
docs: Perform a blocking read on the given stream
  
          :raises ValueError: if the length of streams and latest_ids do
                              not match