docs: async def request(self, request):
          """
          Execute a STUN transaction and return the response.
          """
          assert request.transaction_id not in self.transactions
  
          if self.integrity_key:
              self.__add_authentication(request)
  
          transaction = stun.Transaction(request, self.server, self)
          self.transactions[request.transaction_id] = transaction
          try:
              return await transaction.run()
          finally:
              del self.transactions[request.transaction_id]