1use std::time::SystemTime;
2
3use crate::StoredValue;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6pub enum ChangeSource {
7 Local,
8 External,
9}
10
11#[derive(Debug, Clone, PartialEq, Eq)]
12pub enum ChangeEvent {
13 Set {
14 key: String,
15 old_value: Option<StoredValue>,
16 new_value: StoredValue,
17 source: ChangeSource,
18 timestamp: SystemTime,
19 },
20 Deleted {
21 key: String,
22 old_value: StoredValue,
23 source: ChangeSource,
24 timestamp: SystemTime,
25 },
26 DeserializeFailure {
27 key: String,
28 raw: String,
29 error: String,
30 source: ChangeSource,
31 timestamp: SystemTime,
32 },
33}