1use serde::{Deserialize, Serialize};
2use std::time::SystemTime;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
6#[serde(rename_all = "snake_case")]
7pub enum SyncPolicy {
8 Never,
10 #[default]
13 EverySecond,
14 Always,
16}
17
18#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
20#[serde(rename_all = "snake_case")]
21pub enum SyncMode {
22 #[default]
23 All,
24 Data,
25}
26
27#[derive(Debug, Clone, Default, Serialize, Deserialize)]
29pub struct SetOptions {
30 pub timestamp: Option<SystemTime>,
32}
33
34impl SetOptions {
35 pub fn with_timestamp(timestamp: SystemTime) -> Self {
36 Self {
37 timestamp: Some(timestamp),
38 }
39 }
40}