docs: async def query_consent(self):
          """
          Periodically check consent (RFC 7675).
          """
          failures = 0
          while True:
              # randomize between 0.8 and 1.2 times CONSENT_INTERVAL
              await asyncio.sleep(CONSENT_INTERVAL * (0.8 + 0.4 * random.random()))
  
              for pair in self._nominated.values():
                  request = self.build_request(pair)
                  try:
                      await pair.protocol.request(
                          request, pair.remote_addr,
                          integrity_key=self.remote_password.encode('utf8'),
                          retransmissions=0)
                      failures = 0
                  except exceptions.TransactionError:
                      failures += 1
                  if failures >= CONSENT_FAILURES:
                      self.__log_info('Consent to send expired')
                      self._query_consent_handle = None
                      return await self.close()