code: def _destroy_stream_state(self, exc):
          
          self._logger.debug("destroying stream state (exc=%r)", exc)
          self._iq_response_map.close_all(exc)
          for task in self._iq_request_tasks:
              # we don’t need to remove, that’s handled by their
              # add_done_callback
              task.cancel()
          while not self._active_queue.empty():
              token = self._active_queue.get_nowait()
              token._set_state(StanzaState.DISCONNECTED)
  
          if self._established:
              self.on_stream_destroyed(exc)
              self._established = False
docs: Destroy all state which does not make sense to keep after a disconnect
          (without stream management).