tickv/
success_codes.rs

1// Licensed under the Apache License, Version 2.0 or the MIT License.
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// Copyright Tock Contributors 2022.
4
5//! The standard success codes used by TicKV.
6
7/// Standard success codes.
8#[derive(Clone, Copy, Debug, PartialEq)]
9pub enum SuccessCode {
10    /// Operation complete, no changes have been made to flash.
11    Complete,
12    /// All changes have been written to flash. The operation is complete.
13    Written,
14    /// The write operation has been queued
15    Queued,
16}
17
18impl From<SuccessCode> for isize {
19    fn from(original: SuccessCode) -> isize {
20        match original {
21            SuccessCode::Complete => -1,
22            SuccessCode::Written => -2,
23            SuccessCode::Queued => -3,
24        }
25    }
26}
27
28impl From<SuccessCode> for usize {
29    fn from(original: SuccessCode) -> usize {
30        isize::from(original) as usize
31    }
32}