1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use serde::{Deserialize, Serialize};
use strum::{EnumString, EnumVariantNames};
#[derive(
Clone, Copy, Debug, Deserialize, EnumString, EnumVariantNames, Eq, Hash, PartialEq, Serialize,
)]
#[strum(serialize_all = "snake_case")]
pub enum Events<T: std::string::ToString + std::default::Default = String> {
Initializing,
Aggregating,
Attempting,
Collecting,
Constructing,
Connecting,
Counting,
Deleting,
Destroying,
Diverging,
Equating,
GenericEvent(T),
Hashing,
Parsing,
Passing,
Quitting,
Syncing,
}
impl<T: std::string::ToString + std::default::Default> Default for Events<T> {
fn default() -> Self {
Self::GenericEvent(T::default())
}
}