docs: def read_all(self):
          """Read all remaining data in the packet.
  
          (Subsequent read() will return errors.)
          """
          result = self._data[self._position:]
          self._position = None  # ensure no subsequent read()
          return result