Skip to main content

nautilus_binance/spot/sbe/generated/
symbol_status.rs

1#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
2#[repr(u8)]
3pub enum SymbolStatus {
4    Trading = 0x0_u8,
5    EndOfDay = 0x1_u8,
6    Halt = 0x2_u8,
7    Break = 0x3_u8,
8    CancelOnly = 0x4_u8,
9    NonRepresentable = 0xfe_u8,
10    #[default]
11    NullVal = 0xff_u8,
12}
13impl From<u8> for SymbolStatus {
14    #[inline]
15    fn from(v: u8) -> Self {
16        match v {
17            0x0_u8 => Self::Trading,
18            0x1_u8 => Self::EndOfDay,
19            0x2_u8 => Self::Halt,
20            0x3_u8 => Self::Break,
21            0x4_u8 => Self::CancelOnly,
22            0xfe_u8 => Self::NonRepresentable,
23            _ => Self::NullVal,
24        }
25    }
26}
27impl From<SymbolStatus> for u8 {
28    #[inline]
29    fn from(v: SymbolStatus) -> Self {
30        match v {
31            SymbolStatus::Trading => 0x0_u8,
32            SymbolStatus::EndOfDay => 0x1_u8,
33            SymbolStatus::Halt => 0x2_u8,
34            SymbolStatus::Break => 0x3_u8,
35            SymbolStatus::CancelOnly => 0x4_u8,
36            SymbolStatus::NonRepresentable => 0xfe_u8,
37            SymbolStatus::NullVal => 0xff_u8,
38        }
39    }
40}
41impl core::str::FromStr for SymbolStatus {
42    type Err = ();
43
44    #[inline]
45    fn from_str(v: &str) -> core::result::Result<Self, Self::Err> {
46        match v {
47            "Trading" => Ok(Self::Trading),
48            "EndOfDay" => Ok(Self::EndOfDay),
49            "Halt" => Ok(Self::Halt),
50            "Break" => Ok(Self::Break),
51            "CancelOnly" => Ok(Self::CancelOnly),
52            "NonRepresentable" => Ok(Self::NonRepresentable),
53            _ => Ok(Self::NullVal),
54        }
55    }
56}
57impl core::fmt::Display for SymbolStatus {
58    #[inline]
59    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
60        match self {
61            Self::Trading => write!(f, "Trading"),
62            Self::EndOfDay => write!(f, "EndOfDay"),
63            Self::Halt => write!(f, "Halt"),
64            Self::Break => write!(f, "Break"),
65            Self::CancelOnly => write!(f, "CancelOnly"),
66            Self::NonRepresentable => write!(f, "NonRepresentable"),
67            Self::NullVal => write!(f, "NullVal"),
68        }
69    }
70}