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.spi;
016
017import java.util.concurrent.atomic.AtomicLong;
018
019/**
020 * 
021 * A very simple {@link SequenceNumberGenerator} based on an {@link AtomicLong}
022 * variable.
023 * 
024 * @author Ceki Gülcü
025 * @since 1.3.0
026 */
027public class BasicSequenceNumberGenerator extends ContextAwareBase implements SequenceNumberGenerator {
028
029    private final AtomicLong atomicLong = new AtomicLong();
030
031    @Override
032    public long nextSequenceNumber() {
033        return atomicLong.incrementAndGet();
034    }
035
036}