class FixedTimerWindowRateLimiter implements RateLimiter {

    private final Timer timer;
    private final LongAdder count;
    private final int limit;

    public FixedTimerWindowRateLimiter(int limitPerSecond) {
        this.timer = new Timer("RateAuditLog", true);
        this.count = new LongAdder();
        this.limit = limitPerSecond;
        // Count will be reset if hit limit (run once per 1000ms)
        this.timer.schedule(new TimerTask() {
            @Override
            public void run() {
                if (count.intValue() >= limit) {
                    count.reset();
                }
            }
        }, 0L, RESET_PERIOD);
    }

    @Override
    public boolean tryAcquire() {<FILL_FUNCTION_BODY>}
}

        if (count.intValue() >= limit) {
            return false;
        }

        count.increment();
        return true;
    
<no_super_class>