def METHOD_NAME(self, ipaddr=None, token=None) -> float:
    assert ipaddr or token
    if ipaddr:
        iterable = zip(self._ipaddr_limits, self._ipaddr_buckets)
        return min(bucket.get(ipaddr, limit) for limit, bucket in iterable)
    else:
        raise NotImplementedError()