qubit_fs/metadata/durability_requirement.rs
1// =============================================================================
2// Copyright (c) 2026 Haixing Hu.
3//
4// SPDX-License-Identifier: Apache-2.0
5//
6// Licensed under the Apache License, Version 2.0.
7// =============================================================================
8// facade tests.
9//! Durability requirements for completed filesystem operations.
10
11/// Required storage synchronization strength for an operation outcome.
12///
13/// # Examples
14///
15/// ```rust
16/// use qubit_fs::metadata::DurabilityRequirement;
17///
18/// assert!(matches!(DurabilityRequirement::NotRequired, DurabilityRequirement::NotRequired));
19/// ```
20#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
21pub enum DurabilityRequirement {
22 /// The operation must confirm durable data and namespace publication.
23 Required,
24 /// Prefer durable publication but report a downgrade in the outcome.
25 Preferred,
26 /// Do not request an explicit durability guarantee.
27 #[default]
28 NotRequired,
29}