docs: def readall(self):
          """
          Read and return all the bytes from the stream until EOF.
  
          Returns:
              bytes: Object content
          """
          if not self._readable:
              raise UnsupportedOperation('read')
  
          with self._seek_lock:
              # Get data starting from seek
              with handle_os_exceptions():
                  if self._seek and self._seekable:
                      data = self._read_range(self._seek)
  
                  # Get all data
                  else:
                      data = self._readall()
  
              # Update seek
              self._seek += len(data)
          return data