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}