code: def get_limits(self, limit_sum=None):
          
  
          with self.limit_lock:
              # Grab the checksum and limit list
              try:
                  return self.limit_rpc.get_limits(limit_sum)
              except control.NoChangeException:
                  # Expected possibility
                  raise
              except Exception:
                  # Something happened; maybe the server isn't running.
                  # Pretend that there's no change...
                  raise control.NoChangeException()
docs: Gets the current limit data if it is different from the data
          indicated by limit_sum.  The db argument is used for hydrating
          the limit objects.  Raises a NoChangeException if the
          limit_sum represents no change, otherwise returns a tuple
          consisting of the current limit_sum and a list of Limit
          objects.