1#[derive(Clone, Copy, Debug, PartialEq, Eq)]
4pub enum DeviceSyncMode {
5 Disabled,
6 Enabled,
7}
8
9#[derive(Clone, Debug, PartialEq)]
10pub enum ForkRecoveryPolicy {
11 None,
12 AllowlistedGroups,
13 All,
14}
15
16#[derive(Clone, Debug)]
17pub struct ForkRecoveryOpts {
18 pub enable_recovery_requests: ForkRecoveryPolicy,
19 pub groups_to_request_recovery: Vec<String>,
20 pub disable_recovery_responses: bool,
21 pub worker_interval_ns: Option<u64>,
22}
23
24impl Default for ForkRecoveryOpts {
25 fn default() -> Self {
26 Self {
27 enable_recovery_requests: ForkRecoveryPolicy::None,
28 groups_to_request_recovery: Vec::new(),
29 disable_recovery_responses: false,
30 worker_interval_ns: None,
31 }
32 }
33}
34
35#[derive(Clone)]
36pub struct DeviceSync {
37 pub mode: DeviceSyncMode,
39}