blob: d134a0fd585ec3e4d523c19bea49c8495891ab79 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_PERSISTENT_CACHE_LOCK_STATE_H_
#define COMPONENTS_PERSISTENT_CACHE_LOCK_STATE_H_
namespace persistent_cache {
// Values of this enum represent the state of a PersistentCache lock at a set
// moment in time. These values are persisted to logs. Entries should not be
// renumbered and numeric values should never be reused.
enum class LockState {
// The lock is not held by readers or writers.
kNotHeld = 0,
// One or more readers has acquired the lock. No writers hold it.
kReading = 1,
// A writer either holds the lock or is in the process of acquiring it. In the
// latter case, there may remain one or more readers.
kWriting = 2,
kMaxValue = kWriting
};
} // namespace persistent_cache
#endif // COMPONENTS_PERSISTENT_CACHE_LOCK_STATE_H_