docs: async def close(self):
          """
          Close the connection.
          """
          # stop consent freshness tests
          if self._query_consent_handle and not self._query_consent_handle.done():
              self._query_consent_handle.cancel()
              try:
                  await self._query_consent_handle
              except asyncio.CancelledError:
                  pass
  
          # stop check list
          if self._check_list and not self._check_list_done:
              await self._check_list_state.put(ICE_FAILED)
  
          self._nominated.clear()
          for protocol in self._protocols:
              await protocol.close()
          self._protocols.clear()
          self._local_candidates.clear()