1use arbor_graph::ArborGraph;
13use std::sync::Arc;
14use tokio::sync::RwLock;
15
16pub type SharedGraph = Arc<RwLock<ArborGraph>>;
18
19#[derive(Debug, Clone, serde::Serialize)]
21#[serde(tag = "type")]
22pub enum ServerMessage {
23 GraphUpdate,
24 FocusNode,
25 IndexerStatus,
26}
27
28mod handlers;
29mod protocol;
30mod server;
31pub mod sync_server;
32
33pub use protocol::{Request, Response, RpcError};
34pub use server::{ArborServer, ServerConfig};
35pub use sync_server::{
36 BroadcastMessage, FocusNodePayload, GraphUpdatePayload, IndexerStatusPayload, SyncServer,
37 SyncServerConfig, SyncServerHandle,
38};