omni_orchestrator/state.rs
1use std::sync::Arc;
2
3use serde::{Deserialize, Serialize};
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct SharedState {
6 pub node_id: Arc<str>,
7 pub is_leader: bool,
8 pub cluster_size: usize,
9 pub leader_id: Option<Arc<str>>,
10}
11
12impl SharedState {
13 pub fn new(node_id: Arc<str>) -> Self {
14 Self {
15 node_id,
16 is_leader: false,
17 cluster_size: 1,
18 leader_id: None,
19 }
20 }
21}