qlib_rs/data/
request.rs

1use crate::{data::{EntityId, FieldType, Timestamp, Value}};
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub enum PushCondition {
6    Always,
7    Changes
8}
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
11pub enum AdjustBehavior {
12    Set,
13    Add,
14    Subtract,
15}
16
17#[derive(Debug, Clone)]
18pub enum Request {
19    Read {
20        entity_id: EntityId,
21        field_type: FieldType,
22        value: Option<Value>,
23        write_time: Option<Timestamp>,
24        writer_id: Option<EntityId>,
25    },
26    Write {
27        entity_id: EntityId,
28        field_type: FieldType,
29        value: Option<Value>,
30        push_condition: PushCondition,
31        adjust_behavior: AdjustBehavior,
32        write_time: Option<Timestamp>,
33        writer_id: Option<EntityId>,
34    }
35}