Skip to main content

thruput_trace/
ffi_enums_impls.rs

1use crate::ffi_enums::{HostFnErrorCode, InvokeErrorCode, SystemErrorCode};
2
3impl From<SystemErrorCode> for HostFnErrorCode {
4    fn from(error_code: SystemErrorCode) -> Self {
5        match error_code {
6            SystemErrorCode::Unrecoverable => HostFnErrorCode::Unrecoverable,
7            SystemErrorCode::Abandon => HostFnErrorCode::Abandon,
8            SystemErrorCode::ValidationFailure => {
9                HostFnErrorCode::ValidationFailure
10            }
11            _ => HostFnErrorCode::Unrecoverable,
12        }
13    }
14}
15
16impl From<SystemErrorCode> for InvokeErrorCode {
17    fn from(error_code: SystemErrorCode) -> Self {
18        match error_code {
19            SystemErrorCode::Unrecoverable => InvokeErrorCode::Unrecoverable,
20            SystemErrorCode::Abandon => InvokeErrorCode::Abandon,
21            SystemErrorCode::ValidationFailure => {
22                InvokeErrorCode::ValidationFailure
23            }
24            _ => InvokeErrorCode::Unrecoverable,
25        }
26    }
27}