Skip to main content

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}