rsiot_messages_core/eav/
eav_model.rs

1use crate::Timestamp;
2
3use super::{AggType, ValueType};
4
5/// Представление значения сообщения в виде модели EAV
6#[derive(Debug, Clone, Default)]
7pub struct EavModel {
8    /// Метка времени
9    pub ts: Timestamp,
10    /// `Entity`
11    pub entity: String,
12    /// `Attribute`
13    pub attr: Option<String>,
14    /// `Value`
15    pub value: ValueType,
16    /// Значение `Value` было получено с помощью данного типа аггрегации
17    pub agg: AggType,
18    /// Метка времени, к которой относится данная аггрегация
19    pub aggts: Option<Timestamp>,
20    /// Типы аггрегации, которые должны применяться на следующем этапе
21    pub aggnext: Vec<AggType>,
22}