//! LightningStor Storage Node //! //! This crate implements a storage node for the LightningStor distributed //! storage system. Each node stores chunks of data and responds to requests //! from the main server for put, get, and delete operations. //! //! # Architecture //! //! ```text //! ┌─────────────────────────────────────────────────────┐ //! │ LightningStor Server │ //! │ (Erasure Coding / Replication Coordination) │ //! └───────────┬───────────────┬───────────────┬─────────┘ //! │ │ │ //! ▼ ▼ ▼ //! ┌───────────┐ ┌───────────┐ ┌───────────┐ //! │ Node 1 │ │ Node 2 │ │ Node 3 │ //! │ (gRPC) │ │ (gRPC) │ │ (gRPC) │ //! └───────────┘ └───────────┘ └───────────┘ //! ``` pub mod config; pub mod service; pub mod storage; pub use config::NodeConfig; pub use service::NodeServiceImpl; pub use storage::LocalChunkStore; /// Re-export generated protobuf types pub mod proto { tonic::include_proto!("lightningstor.node.v1"); } pub use proto::node_service_client::NodeServiceClient; pub use proto::node_service_server::{NodeService, NodeServiceServer};