docs: def timeout_message(self, message):
          '''
          Handle a message timeout by removing it from the sending queue
          and informing the caller
  
          :raises: SaltReqTimeoutError
          '''
          future = self.send_future_map.pop(message, None)
          # In a race condition the message might have been sent by the time
          # we're timing it out. Make sure the future is not None
          if future is not None:
              del self.send_timeout_map[message]
              if future.attempts < future.tries:
                  future.attempts += 1
                  log.debug('SaltReqTimeoutError, retrying. (%s/%s)', future.attempts, future.tries)
                  self.send(
                      message,
                      timeout=future.timeout,
                      tries=future.tries,
                      future=future,
                  )
  
              else:
                  future.set_exception(SaltReqTimeoutError('Message timed out'))