photoncloud-monorepo/lightningstor/crates/lightningstor-node/src/lib.rs

36 lines
1.6 KiB
Rust

//! 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};