docs: def __signalReceived(self, *args):
          """Received signal. Cancel previous timer and store args to be forwarded later."""
          if self.__disconnecting:
              return
          with self.__lock:
              self.__args = args
              if self.__rateLimit == 0:
                  self.__timer.stop()
                  self.__timer.start((self.__delay * 1000) + 1)
              else:
                  now = time.time()
                  if self.__lastFlushTime is None:
                      leakTime = 0
                  else:
                      lastFlush = self.__lastFlushTime
                      leakTime = max(0, (lastFlush + (1.0 / self.__rateLimit)) - now)
  
                  self.__timer.stop()
                  # Note: original was min() below.
                  timeout = (max(leakTime, self.__delay) * 1000) + 1
                  self.__timer.start(timeout)