001/*
002 * Logback: the reliable, generic, fast and flexible logging framework.
003 * Copyright (C) 1999-2026, QOS.ch. All rights reserved.
004 *
005 * This program and the accompanying materials are dual-licensed under
006 * either the terms of the Eclipse Public License v2.0 as published by
007 * the Eclipse Foundation
008 *
009 *   or (per the licensee's choosing)
010 *
011 * under the terms of the GNU Lesser General Public License version 2.1
012 * as published by the Free Software Foundation.
013 */
014
015package ch.qos.logback.core.util;
016
017public interface InvocationGate {
018
019    final long TIME_UNAVAILABLE = -1;
020
021    /**
022     * The caller of this method can decide to skip further work if the returned
023     * value is true.
024     * 
025     * Implementations should be able to give a reasonable answer even if current
026     * time date is unavailable.
027     * 
028     * @param currentTime can be TIME_UNAVAILABLE (-1) to signal that time is not
029     *                    available
030     * @return if true, caller should skip further work
031     */
032    public abstract boolean isTooSoon(long currentTime);
033
034}