1 /*
2 * Logback: the reliable, generic, fast and flexible logging framework.
3 * Copyright (C) 1999-2026, QOS.ch. All rights reserved.
4 *
5 * This program and the accompanying materials are dual-licensed under
6 * either the terms of the Eclipse Public License v2.0 as published by
7 * the Eclipse Foundation
8 *
9 * or (per the licensee's choosing)
10 *
11 * under the terms of the GNU Lesser General Public License version 2.1
12 * as published by the Free Software Foundation.
13 */
14
15 package ch.qos.logback.core.util;
16
17 public class FixedRateInvocationGate implements InvocationGate {
18
19 int rate;
20 int invocationCount = 0;
21
22 public FixedRateInvocationGate(int rate) {
23 this.rate = rate;
24 }
25
26 @Override
27 public boolean isTooSoon(long currentTime) {
28 if (invocationCount++ % rate != 0)
29 return true;
30 return false;
31 }
32
33 }