asic_rs/data/
message.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
4pub enum MessageSeverity {
5    Error,
6    Warning,
7    Info,
8}
9
10#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
11pub struct MinerMessage {
12    /// The time this message was generated or occurred
13    pub timestamp: u32,
14    /// The message code
15    /// May be set to 0 if no code is set by the device
16    pub code: u64,
17    /// The human-readable message being relayed by the device
18    pub message: String,
19    /// The severity of this message
20    pub severity: MessageSeverity,
21}
22
23impl MinerMessage {
24    pub fn new(timestamp: u32, code: u64, message: String, severity: MessageSeverity) -> Self {
25        Self {
26            timestamp,
27            code,
28            message,
29            severity,
30        }
31    }
32}